本文整理自网络,侵删。
program ScreenShot;
uses
Windows,
Graphics,
Jpeg;
procedure ScreenToFile(FileName: string; Quality: Word; Percent: Word);
var
Bmp: TBitmap;
Jpg: TJpegImage;
begin
Bmp := TBitmap.Create;
Jpg := TJpegImage.Create;
try
Bmp.Width := GetDeviceCaps(GetDc(0), 8) * Percent div 100;
Bmp.Height := GetDeviceCaps(GetDc(0), 10) * Percent div 100;
SetStretchBltMode(Bmp.Canvas.Handle, HALFTONE);
StretchBlt(Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, GetDc(0), 0, 0, GetDeviceCaps(GetDc(0), 8), GetDeviceCaps(GetDc(0), 10), SRCCOPY);
Jpg.Assign(Bmp);
Jpg.CompressionQuality := Quality;
Jpg.SaveToFile(FileName);
finally
Jpg.free;
Bmp.free;
end;
end;
begin
ScreenToFile('SHOT.JPG', 50, 70);
end.
相关阅读 >>
Delphi xe5实现通过tmemorystream将一个unicodestring写入到一个unicode文本文件
更多相关阅读请进入《Delphi》频道 >>