【问题标题】:on Firemonkey, How can I combine images?在 Firemonkey 上,如何组合图像?
【发布时间】:2017-10-11 04:47:04
【问题描述】:

如何在带有 FMX 的 Delphi XE 10.1 上执行此操作?

我正在尝试在大图像的所需位置插入小图像。 https://forums.embarcadero.com/thread.jspa?messageID=867027 我尝试在这个问题中使用一个例子。 在第一个 DrawBitmap 示例中 如果您将 Rect 坐标值设置为适合所需的坐标值,则小图像将被截断。 第二个示例在 FMX TCanvas 中没有称为 Draw 的方法。 我想寻求帮助。谢谢。

【问题讨论】:

    标签: delphi firemonkey


    【解决方案1】:

    DrawBitmap 方法将 SrcRect 参数描述的缩放位图区域绘制到 DstRect 参数描述的画布区域。所以你一定用错了面积矩形。试试这个(它在画布上从左到上 8 像素绘制 50% 的缩放位图):

    var
      Bitmap: TBitmap;
      SrcRect: TRectF;
      DstRect: TRectF;
    begin
      Bitmap := TBitmap.CreateFromFile('C:\MyImage.bmp');
      try
        SrcRect := Bitmap.BoundsF;
    
        DstRect := SrcRect;
        DstRect.Width := DstRect.Width / 2;
        DstRect.Height := DstRect.Height / 2;
        DstRect.Offset(8, 8);
    
        Image1.Bitmap.Canvas.BeginScene;
        Image1.Bitmap.Canvas.DrawBitmap(Bitmap, SrcRect, DstRect, 100);
        Image1.Bitmap.Canvas.EndScene;
      finally
        Bitmap.Free;
      end;
    end;
    

    【讨论】:

      猜你喜欢
      • 2013-08-27
      • 1970-01-01
      • 2019-01-22
      • 2017-06-30
      • 2022-09-23
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多