PDA

Просмотр полной версии : TCanvas сохранение изображения


ky_kask
28.11.2009, 18:53
Кто-нибудь знает как можно сохранить изображение из TForm.Canvas в файл?

код:

procedure TForm1.Button1Click(Sender: TObject);
var Bitmap:Tbitmap; MyRect,MyOther: TRect;
begin
Bitmap:=Tbitmap.Create;
MyRect:=Rect(0,0,100, 200);
MyOther := Rect(0,0,100, 200);
Bitmap.Width:=100;
Bitmap.Height:=200;
Bitmap.Canvas.CopyRect(MyOther, Form1.Canvas, MyRect);
Bitmap.SaveToFile('ok.bmp');
Bitmap.Free;
end;


подобный код не подходит совершенно. Т.к. при перекрытии формы другим окном в файл сохраняется совсем не TCanvas моей формы, а скриншот части экрана. Есть ли вообще возможность сохранения изображения именно своей формы, а не участков экрана?

Proger10
29.11.2009, 09:15
procedure TForm1.Button1Click(Sender: TObject);
var
BMP: TBitmap;
begin
BMP:=TBitmap.Create;
BMP.Height:=Form1.Height;
BMP.Width:=Form1.Width;
BMP.Canvas.CopyRect(BMP.Canvas.ClipRect, Form1.Canvas, Form1.Canvas.ClipRect);
BMP.SaveToFile('C:\bmp.bmp');
BMP.Free;
end;

Хм... Странно! А у меня это работает!!