Delphi实现屏幕截图、窗口截图、指定区域截图


本文整理自网络,侵删。

 Use Jpeg

procedure TForm1.snapscreen(a,b,c,d:Integer);
var
bmpscreen:Tbitmap;
jpegscreen:Tjpegimage;
FullscreenCanvas:TCanvas;
dc:HDC;
sourceRect, destRect: TRect;
begin
try
dc:=getdc(0);
fullscreencanvas:=Tcanvas.Create;
fullscreencanvas.Handle:=dc;
bmpscreen:=Tbitmap.create;
bmpscreen.Width :=c-a;
bmpscreen.Height :=d-b;
sourcerect:=rect(0,0,c-a ,d-b );
destrect:= rect(a,b,c,d);
bmpscreen.Canvas.CopyRect(sourcerect,fullscreenCanvas,destrect);
jpegscreen:=Tjpegimage.Create ;
jpegscreen.Assign (bmpscreen);
jpegscreen.CompressionQuality:=100;
jpegscreen.SaveToFile(ExtractFilePath(ParamStr(0))+'tmp.jpg');
FullscreenCanvas.Free;
bmpscreen.Free;
jpegscreen.Free ;
ReleaseDC(0, DC);
except
end;
end; // www.delphitop.com

procedure TForm1.Button1Click(Sender: TObject);
begin
snapscreen(self.Left,self.Top,Self.Left+self.Width,Self.Top+self.Height);
end;

相关阅读 >>

Delphi 动态创建一个ipedit控件

Delphi通过idsmtp发送邮件的简单代码

Delphi mediaplayer循环播放mp3所有音乐文件问题?

Delphi datasnap 的连接事件顺序图

Delphi10.3通过json.serializers单元对大量数据序列化

Delphi edit控制字居中,居左,居右

Delphi webbrowser中模拟连接点击(非鼠标模拟)

Delphi 我的电脑连接到 internet 了吗?

Delphi windowsapi: muldiv

Delphi判断字符串是否包含限制以外的字符 否则置空

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...