数码资源网

文章频道 软件下载 安卓下载 苹果下载

当前位置:首页文章中心综合应用软件使用 → 通过Delphi的屏幕抓图功能是怎么实现

通过Delphi的屏幕抓图功能是怎么实现

时间:2017-12-13 10:35:25人气:261作者:网友整理
抓图手机软件v1.5.3
抓图手机软件v1.5.3 for Android
  • 类型:安卓图像处理大小:37.30M语言:简体中文 评分:3.9
  • 抓图手机软件是一款功能强大的屏幕截图工具,适用于Android和iOS平台。它可...
立即下载
抓图手机版(电商图片抓取软件) v1.2.0 安卓版
抓图手机版(电商图片抓取软件) v1.2.0 安卓版 for Android
  • 类型:安卓图像处理大小:19.50M语言:简体中文 评分:3.0
  • 在做经营电商店铺的朋友们抓图手机版这款最新的电商图片抓取软件您要了解一下哦!最新...
立即下载
抓图猫免费版(种功能的图片处理方法) v1.4 安卓版
抓图猫免费版(种功能的图片处理方法) v1.4 安卓版 for Android
  • 类型:安卓图像处理大小:33.12M语言:简体中文 评分:3.0
  • 手机上面处理图片现在也是越来越简单了,小编给你带来了一款刚登陆手机的好用的图片处...
立即下载

通过Delphi的屏幕抓图功能是怎么实现的?随着网络技术的飞速发展,计算机网络在各高等院校教学中的使用已非常普遍,下面小编我就来为您讲一讲通过Delphi的屏幕抓图功能是怎么实现的吧!设计一款网络监控软件,监控学生计算机,十分必要。

通过Delphi的屏幕抓图功能是怎么实现

通过Delphi的屏幕抓图功能是怎么实现

此系统应具有以下功能:

(1)教师用机可以循环显示学生计算机的显示器上的画面。

(2)教师用机可以动态显示某一学生计算机的显示器上的画面。

(3)教师用机可以对学生用计算机发出警告信息和控制信息。

(4)学生用计算机开机自动运行服务端监控程序。

(5)为了防止学生用计算机的服务端监控程序,被学生发现用Ctrl+Alt+Del关闭,在Ctrl+Alt+Del对话框中必须隐藏程序。同时,应该隐藏程序在任务栏的按钮。

本文结合应用实践,重点向大家介绍在Delphi7.0中可以采用的两种实现屏幕抓图技术的操作方法。

程序实现

(1)抓取屏幕图像的难点有两个:一是如何夺取屏幕的句柄,二是知道屏幕句柄后如何获取屏幕的图像。Borland公司的设计人员用画布(Tcanvas)对象封装了Windows的大部分图形输出功能,可以通过它以更直观的方式和Windows的屏幕打交道,而不必关心令人头疼的Windows API函数。具体程序如下:

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;

Delphi的屏幕抓图功能

(2)Delphi的第三方控件ScreenCapture,它是一个很好的免费的截图控件,可以轻松抓取任意大小(全屏当然行)、屏幕的任何位置,还可以设置所截图像的形状、以及用何种模式截图。下面介绍的是用TcmWindow模式截图,使用非常简单,使用效果可以与著名的抓图软件SnagIt32媲美。

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;

运行程序,效果如图1和图2所示。

delphi屏幕抓图效果

图1运行效果图

实现抓图后的效果图

图2抓取图像后的效果图

结论

通过对以上两种程序代码的调试运行,使用第三方控件的方法更易于设计实现,文中的程序代码全部在Win2000和Delphi7.0环境下调试通过。

软件特别说明:其实在delphi下载专题你能找到很多适合你的软件!

相关文章

  • 用DV实现电脑屏幕的录入

    当我们使用电脑的时候,有时我们不仅需要抓图,也需要保存屏幕的动态影像,但这是一件很麻烦的事。这时如果...
  • FastStone Capture使用教程

    FastStoneCapture​是一款灵活简单的屏幕抓图软件。它可以抓取某个窗口或者对象的图片,也...

猜你喜欢

delphi下载专题
delphi下载专题

delphi下载专题

delphi到底是什么?小编现在也没整明白,不过听说delphi7是一个Windows平台下著名的快...[更多]

感谢速联科技、八度网络、九九数据、亿恩科技、群英网络赞助部分带宽!

关于本站 | 联系方式 | 版权声明 | 下载帮助(?) | 网站地图

Copyright 2002-2020 95262.com 【数码资源网】 版权所有 粤ICP备2020128507号-1

本站所有软件来自互联网,版权归原著所有。如有侵权,敬请来信告知 ,我们将及时撤销。