gpt4 book ai didi

delphi - 在 Delphi 7 中,函数创建的屏幕截图占用大量内存

转载 作者:行者123 更新时间:2023-12-03 18:01:07 24 4
gpt4 key购买 nike

我在 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;

帮助将不胜感激。

谢谢

最佳答案

您保存的文件是bmp格式,保存为jpeg的例子:

 with TJPEGImage.Create do
try
Assign(bm) ;
SaveToFile('screenShotDesktop.jpeg') ;
finally
Free;
end;

关于delphi - 在 Delphi 7 中,函数创建的屏幕截图占用大量内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8366328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com