我使用了一个函数在Delphi 7中创建我的桌面的截图.我得到了正确的截图,但是拍摄的照片大小约为3 MB.通常,屏幕截图的大小为150 KB左右.我不知道为什么.这是我的代码:
procedure TForm1.btnDesktopShotClick(Sender: TObject);
VAR
ScreenH, ScreenW : Integer;
dc : HDC;
hWin :Cardinal;
bm : TBitMap;
begin
//get handle of desktop
try
hWin :=GetDesktopWindow;
dc:=getDC(hWin);
ScreenH :=GetDeviceCaps(dc,VertRes);
ScreenW :=GetDeviceCaps(dc,HORZRES );
//set bitmap
bm:=TBitmap.Create;
bm.Width :=ScreenW ;
bm.Height :=ScreenH ;
//copy to dest bitmap
BitBlt(bm.Canvas.Handle,0,0,bm.Width ,bm.Height ,dc,0,0,SRCCOPY );
Image1.Picture.Bitmap.Assign(bm);
Image1.Picture.SaveToFile('screenShotDesktop.jpeg');
finally
ReleaseDC(hWin,DC);
end;
end;
Run Code Online (Sandbox Code Playgroud)
帮助将不胜感激.
谢谢
Arj*_*pek 10
您保存的文件是bmp格式,保存jpeg的示例:
with TJPEGImage.Create do
try
Assign(bm) ;
SaveToFile('screenShotDesktop.jpeg') ;
finally
Free;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |