zoukankan      html  css  js  c++  java
  • [原创]Delphi XE Android/IOS 实现图片放大缩小的两种方法

    {该文首发于博客园 滔Roy,无须授权即可转发,请自觉保留头部申明}

    Delphi XE Android/IOS 实现图片放大缩小的两种方法

    1、TImage

    var
      LObj: IControl;
      LImage: TImage;
      LImageCenter: TPointF;
    begin
      if EventInfo.GestureID = igiZoom then
      begin
        LObj := Self.ObjectAtPoint(ClientToScreen(EventInfo.Location));
        if LObj is TImage then
        begin
          if (not(TInteractiveGestureFlag.gfBegin in EventInfo.Flags)) and
            (not(TInteractiveGestureFlag.gfEnd in EventInfo.Flags)) then
          begin
            { zoom the image }
            LImage := TImage(LObj.GetObject);
            LImageCenter := LImage.Position.Point + PointF(LImage.Width / 2,
              LImage.Height / 2);
            LImage.Width := LImage.Width + (EventInfo.Distance - FLastDistance);
            LImage.Height := LImage.Height + (EventInfo.Distance - FLastDistance);
            LImage.Position.X := LImageCenter.X - LImage.Width / 2;
            LImage.Position.Y := LImageCenter.Y - LImage.Height / 2;
          end;
          FLastDistance := EventInfo.Distance;
        end;
      end;

    2、TImageViewer

    procedure TForm1.ImageViewer1Gesture(Sender: TObject;
      const EventInfo: TGestureEventInfo; var Handled: Boolean);
    begin
      case EventInfo.GestureID of
        igiZoom:
        begin
          if (EventInfo.Distance - fDistance)/2 > 0 then ImageViewer1.BitmapScale:=ImageViewer1.BitmapScale + 0.01  else
          if (EventInfo.Distance - fDistance)/2 < 0 then ImageViewer1.BitmapScale:=ImageViewer1.BitmapScale - 0.01;
          fDistance:=EventInfo.Distance;
          Handled:=True;
        end;
      end;
    end;
    

      

    创建时间:2020.06.26  更新时间:

  • 相关阅读:
    Boxes and Candies(贪心)
    Gone Fishing(贪心)
    Gaby Ivanushka(快排)
    Stacks of Flapjacks(栈)
    Robbery(记忆化搜索)
    PILE读书笔记_基础知识
    2. Add Two Numbers【medium】
    160. Intersection of Two Linked Lists【easy】
    92. Reverse Linked List II【Medium】
    206. Reverse Linked List【easy】
  • 原文地址:https://www.cnblogs.com/guorongtao/p/13194167.html
Copyright © 2011-2022 走看看