一个简单程序,有一个窗体,上面有一个按钮控件,一个image控件(实时显示摄像头监视到的情况)显示图像.
现在希望按下按钮就获取image控件中的内容.(即能实现局部截图).请各位兄台,帮忙想想办法.
在下QQ是:77181269
现在希望按下按钮就获取image控件中的内容.(即能实现局部截图).请各位兄台,帮忙想想办法.
在下QQ是:77181269
解决方案 »
- [Error] Unit_user.pas(67): Incompatible types: 'String' and 'Boolean'
- 关于HOOK 函数,能勾住,但是就是无法替换原有函数。
- 有关串口通讯.江湖救急啊,有钱的捧的钱场,没钱的捧个人场,各位大侠请看
- delphi如何在设计时将一个控件设计成数组形式,比如Image[0],image[2]的方式
- 用Inno Setup如何做有启动画面的安装?怎样改变安装窗口中左边的图片为自己的图片?
- 大家帮忙:为什么我在调试程序时不能跟踪进入VCL的方法代码?
- 日期能转换成数字么?!
- 在DELPHI嵌入SQL语句动态创建数据库
- 我的Delphi6,为什么在DEBUG的时候,我把鼠标放在变量上,DELPHI不会显示变量的值了?以前还好好的
- 如何判斷Application是否Minimize等狀態?
- 我快疯了,这个工期算不算合理?
- 问大家一个线程的基础问题
原来的主要问题是无法获取窗体上的iamge控件的客户区域.后来在网络搜索"屏幕截图编程"找到了这个网址http://blog.csdn.net/luckyjan/archive/2004/11/02/163318.aspx
该网址提供的资料挺好用的.呵呵..
myrect:=rect(0,0,360,480);
bitmap:=Tbitmap.Create;
bitmap.Height:=480;
bitmap.Width:=360;
bitmap.Canvas.CopyRect(myrect,image1.Canvas,myrect);
ojpeg:=Tjpegimage.Create;
ojpeg.Assign(bitmap);
savepic:=TSavePictureDialog.Create(nil);
savepic.Title:='保存照片';
savepic.Filter:='照片文件|*.jpg';
savepic.DefaultExt:='jpg';
if savepic.Execute then
ojpeg.SaveToFile(savepic.FileName);
bitmap.Free;
ojpeg.Free;
但后来的用的是类似监控系统的摄像头(不好意思,都说不清楚是什么类型的摄像头),用以上的方法无法获取image中的图像.后来在网络上找到了解决方法.直接截取image控件中的图像
CaptureControlImage(image1)function CaptureControlImage(Control:TControl):TBitmap;
begin
with Control do
if Parent=nil then //无父窗体,根据它的位置,直接抓取
result:=CaptureScreenRect(Bounds(left,top,width,height))
else //有父窗体,把它转化为相对于屏幕坐标,再 抓取
with Parent.ClientToScreen(Point(Left,top))do
result:=CaptureScreenRect(Bounds(x,y,width,height));
end;
详细请参考网友网址:http://blog.csdn.net/luckyjan/archive/2004/11/02/163318.aspx