扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
procedure TForm1.Timer1Timer(Sender:TObject);//抓取屏幕,并保存到Image控件中 var Fullscreen:Tbitmap; FullscreenCanvas:TCanvas; dc:HDC; begin Fullscreen:=TBitmap.Create; //创建一个BITMAP来存放图象 Fullscreen.Width:=screen.width; Fullscreen.Height:=screen.Height; DC:=GetDC(0); //取得屏幕的DC,参数0指的是屏幕 FullscreenCanvas:=TCanvas.Create; //创建一个CANVAS对象 FullscreenCanvas.Handle:=DC; Fullscreen.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height), fullscreenCanvas,Rect(0,0,Screen.Width,Screen.Height)); //把整个屏幕复制到BITMAP中 FullscreenCanvas.Free; //释放CANVAS对象 ReleaseDC(0,DC); //释放DC //******************************* image1.picture.Bitmap:=fullscreen; //拷贝下的图象赋给IMAGE对象 image1.Width:=fullscreen.Width; image1.Height:=fullscreen.Height; fullscreen.free; //释放bitmap form1.WindowState:=wsNormal; //复原窗口状态 form1.show; //显示窗口 messagebeep(1); //BEEP叫一声,报告图象已经截取好了。 end; |
procedure TForm1.BtnStartClick(Sender:TObject); begin ScreenCapture1.start; //开始截图 end; //当截取屏幕成功时,此事件发生 procedure TForm1.ScreenCapture1Capture(Sender:TObject;Bitmap:TBitmap); begin //调整滚动窗口的大小以适应截获图像的大小 Scrollbox1.HorzScrollBar.Range:= Image1.width; Scrollbox1.VertScrollBar.Range:= Image1.height; end; procedure TForm1.FormCreate(Sender:TObject); begin //载入entntacp.dll文件 BtnStart.enabled:= ScreenCapture1.dllavailable; //显示版本信息 caption:= '屏幕抓图软件' + ScreenCapture1.version; end; //当没有足够的内存支持截取屏幕时,此事件发生 procedure TForm1.ScreenCapture1Error(Sender:TObject); begin MessageDlg('屏幕截取时发生一个错误!请关闭其他应用程序以获得更多内存资源.', mtError,[mbOK],0); end; //当用户按“Esc”键,即取消屏幕截取时,此事件发生 procedure TForm1.ScreenCapture1UserCancelled(Sender:TObject); begin MessageDlg('用户取消屏幕截取。',mtInformation,[mbOK],0); end; |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者