Чтобы сделать снимок части экрана в Delphi приложении, воспользуйтесь процедурой ScreenShot, которая приведена ниже. В качестве единственного аргумента в процедуру передается переменная TBitmap, куда и будет помещено изображение.
procedure ScreenShot(DestBitmap : TBitmap) ;
var
DC : HDC;
begin
DC := GetDC (GetDesktopWindow) ;
try
DestBitmap.Width := GetDeviceCaps (DC, HORZRES) ;
DestBitmap.Height := GetDeviceCaps (DC, VERTRES) ;
BitBlt(DestBitmap.Canvas.Handle,
0,
0,
DestBitmap.Width,
DestBitmap.Height,
DC,
0,
0,
SRCCOPY) ;
finally
ReleaseDC (GetDesktopWindow, DC) ;
end;
end;
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
begin
ScreenShot(Image1.Picture.Bitmap);
end;
Комментарии