CaptureComponentToBmp
CaptureComponentToBmp
代码
{*******************************************************}
{ }
{ Created By: Ming.z }
{ Creation Date 2010-12-28 }
{ }
{*******************************************************}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure CaptureComponentToBmp(aControl:TWinControl;const savePath:String);
var
can: TCanvas;
bmp: TBitmap;
begin
can := TCanvas.Create;
bmp := TBitmap.Create;
try
bmp.Width := aControl.Width;
bmp.Height := aControl.Height;
can.Handle := GetDC(aControl.Handle);
bmp.Canvas.CopyRect(aControl.ClientRect,can,aControl.ClientRect);
bmp.SaveToFile(savePath);
finally
bmp.Free;
can.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CaptureComponentToBmp(Memo1,'E:\Memo1.bmp');
ShowMessage('OK');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CaptureComponentToBmp(Panel1,'E:\Panel1.bmp');
ShowMessage('OK');
end;
end.