Delphi里如果将一个控件的区域截图下来?

5 | 匿名 |浏览323次
检举|收藏|2016/04/19 22:33

想使用Delphi实现一个把某个可视化的控件区域的部分的图像截取出来,请问如何实现呢?

全部回答(1)
  • 可以使用如下方法来实现啊!下面的例子是截取Memo控件的图像信息。

    procedure GetControlBitmap(const AControl: TControl; var ABitmap: TBitmap);
    var
      ACanvas: TControlCanvas;
    begin
      ACanvas := TControlCanvas.Create;
      try
        ACanvas.Control := AControl;
        ABitmap.Width := AControl.Width;
        ABitmap.Height := AControl.Height;
        ABitmap.Canvas.Copyrect(ABitmap.Canvas.ClipRect, ACanvas, ACanvas.ClipRect);
      finally
        ACanvas.Free;
      end;
    end;
    
    procedure TForm12.BitBtn1Click(Sender: TObject);
    var
      ABitmap: TBitmap;
    begin
      ABitmap := TBitmap.Create;
      try
        GetControlBitmap(Memo1, ABitmap);
        Image1.Picture.Bitmap.Assign(ABitmap)
      finally
        ABitmap.Free;
      end;
    end;


    回答于 2016/04/19 22:58
0人关注该问题



 加载中...