如何抓取整個windows的畫面
發表於 : 2008年 11月 27日, 17:14
以下為抓取 windows 畫面並以 jpg 存檔的方法:
代碼: 選擇全部
var
desktophdc: HDC;
desktop: HWND;
jpegImage: TJPEGImage;
begin
form2.Height := screen.Height + 15;
form2.Width := screen.Width;
desktop := GetDesktopWindow();
jpegImage := TJpegImage.Create;
try
desktophdc:=GetDC(desktop);
BitBlt(Image1.Canvas.Handle,0, -
15,Screen.Width,Screen.Height,
desktophdc,0,0,SRCCOPY);
jpegImage.Assign(Image1.Picture.Bitmap);
jpegImage.CompressionQuality := 50; // 壓縮比
jpegImage.ProgressiveEncoding := False;
jpegImage.Compress;
JpegImage.SaveToFile('test.jpg');
FreeAndNil(jpegImage);
finally
ReleaseDC(desktop,desktophdc);
end;