版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Delphi 编程控制摄像头你的电脑有没有摄像头?看到别人用QQ 玩视屏你会不会去想怎么实现的?这里介绍使用DELPHI 使用 MS 的AVICAP32.DLL就可轻松的实现对摄像头编程,假如再加上你的网络编程水平,实现一个视屏聊天就不成什么问题了。看看下面代码的代码:constWM_CAP_START=WM_US.你的电脑有没有摄像头?看到别人用QQ 玩视屏你会不会去想怎么实现的?这里介绍使用DELPHI 使用 MS 的 AVICAP32.DLL就可轻松的实现对摄像头编程,假如再加上你的网络编程水平,实现一个视屏聊天就不成什么问题了。看看下面代码的代码:constWM_CAP_START=W
2、M_USER;constWM_CAP_STOP=WM_CAP_START 68;constWM_CAP_DRIVER_CONNECT=WM_CAP_START 10;constWM_CAP_DRIVER_DISCONNECT=WM_CAP_START11;constWM_CAP_SA VEDIB=WM_CAP_START 25; constWM_CAP_GRAB_FRAME=WM_CAP_START 60; constWM_CAP_SEQUENCE=WM_CAP_START 62;constWM_CAP_FILE_SET_CAPTURE_FILEA=WM_CAP_S TART 20;const
3、WM_CAP_SEQUENCE_NOFILE=WM_CAP_START 63 constWM_CAP_SET_OVERLAY=WM_CAP_START 51 constWM_CAP_SET_PREVIEW=WM_CAP_START 50constWM_CAP_SET_CALLBACK_VIDEOSTREAM=WM_C AP_START 6;constWM_CAP_SET_CALLBACK_ERROR=WM_CAP_STA RT 2;constWM_CAP_SET_CALLBACK_STATUSA=WM_CAP_ST ART 3;constWM_CAP_SET_CALLBACK_FRAME=WM
4、_CAP_STA RT 5;constWM_CAP_SET_SCALE=WM_CAP_START 53constWM_CAP_SET_PREVIEWRATE=WM_CAP_START 52functioncapCreateCaptureWindowA(lpszWindowName:PCHAR;dwStyle:longint;x:integer;y:integer;nWidth:integer;nHeight:integer;ParentWin:HWND;nId:integer):HWND;STDCALLEXTERNALAVICAP32.DLL ;上面的代码就是我们主要用到的一个函数和常量的定义
5、。好了,打开你的 Delphi ,新建一个工程,将上面的定义加上吧。新建一个窗口, 放个 Panel 上去,添加一个按钮, Caption 设置为 "开始 "这里需要定义一个全局变量,varhWndC:THandle;开始按钮代码如下:beginhWndC:=capCreateCaptureWindowA( MyOwnCaptureWindow,WS_CHILDorWS_VISIBLE,Panel1.Left,Panel1.Top,Panel1. Width,Panel1.Height,Form1.Handle,0);hWndC:=capCreateCaptureWindo
6、wA( MyOwnCaptureWindow,WS_CHILDorWS_VISIBLE,Panel1.Left,Panel1.Top,Panel1.Width,Panel1.Height,Form1.Handle,0);ifhWndC<>0thenbeginSendMessage(hWndC,WM_CAP_SET_CALLBACK_VIDEOS TREAM,0,0);SendMessage(hWndC,WM_CAP_SET_CALLBACK_ERROR, 0,0);SendMessage(hWndC,WM_CAP_SET_CALLBACK_STATUS A,0,0)
7、;SendMessage(hWndC,WM_CAP_DRIVER_CONNECT,0,0); SendMessage(hWndC,WM_CAP_SET_SCALE,1,0);SendMessage(hWndC,WM_CAP_SET_PREVIEWRATE,66,0); SendMessage(hWndC,WM_CAP_SET_OVERLAY ,1,0); SendMessage(hWndC,WM_CAP_SET_PREVIEW,1,0); end;按 F9 运行一下,怎么样,是不是可以看到摄像头的视屏了?那怎么停下来?再加个按钮caption设置成"停止 "代码如下:ifh
8、WndC<>0thenbeginSendMessage(hWndC,WM_CAP_DRIVER_DISCONNECT,0,0);hWndC:=0;end;视屏截到了,怎么把它给保存下来呢?下面按两种方式保存, 一个是 BMP 静态图,一个是 AVI 动画。再放三个按钮到窗体上去, caption 分别设置成 " 保存 BMP" 、" 开始录像 " 、 "停止录像 "三个按钮的代码分别如下:/保存 BMPifhWndC<>0thenbeginSendMessage(hWndC,WM
9、_CAP_SA VEDIB,0,longint(pchar( c:est.bmp );end;/开始录像ifhWndC<>0thenbeginSendMessage(hWndC,WM_CAP_FILE_SET_CAPTURE_FIL EA,0,Longint(pchar( c:est.avi );SendMessage(hWndC,WM_CAP_SEQUENCE,0,0);end;/停止录像ifhWndC<>0thenbeginSendMessage(hWndC,WM_CAP_STOP,0,0);end;再运行看看吧。 。可以保存几张图看
10、看, 也可以录成 AVI 以后慢慢欣赏。程序运行效果: 相关贴图 完整的程序代码如下:unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,ExtCtrls;typeTForm1=class(TForm)Panel1:TPanel;Button1:TButton;Button2:TButton;Button3:TButton;Button4:TButton;Button5:TButton;procedureButton1Click(Se
11、nder:TObject);procedureButton2Click(Sender:TObject);procedureButton3Click(Sender:TObject);procedureButton4Click(Sender:TObject);procedureButton5Click(Sender:TObject);procedureFormClose(Sender:TObject;varAction:TCloseAction);privatehWndC:THandle;publicPublicdeclarationsend;varForm1:TForm1;constWM_CAP
12、_START=WM_USER; constWM_CAP_STOP=WM_CAP_START 68;constWM_CAP_DRIVER_CONNECT=WM_CAP_START 10;constWM_CAP_DRIVER_DISCONNECT=WM_CAP_START 11;constWM_CAP_SA VEDIB=WM_CAP_START 25; constWM_CAP_GRAB_FRAME=WM_CAP_START 60; constWM_CAP_SEQUENCE=WM_CAP_START 62;constWM_CAP_FILE_SET_CAPTURE_FILEA=WM_CAP_START
13、 20;constWM_CAP_SEQUENCE_NOFILE=WM_CAP_START 63 constWM_CAP_SET_OVERLAY=WM_CAP_START 51 constWM_CAP_SET_PREVIEW=WM_CAP_START 50constWM_CAP_SET_CALLBACK_VIDEOSTREAM=WM_C AP_START 6;constWM_CAP_SET_CALLBACK_ERROR=WM_CAP_STA RT 2;constWM_CAP_SET_CALLBACK_STATUSA=WM_CAP_ST ART 3;constWM_CAP_SET_CALLBACK
14、_FRAME=WM_CAP_STA RT 5;constWM_CAP_SET_SCALE=WM_CAP_START 53constWM_CAP_SET_PREVIEWRATE=WM_CAP_START 52functioncapCreateCaptureWindowA(lpszWindowName:PCHAR;dwStyle:longint;x:integer;y:integer;nWidth:integer;nHeight:integer;ParentWin:HWND;nId:integer):HWND;STDCALLEXTERNAL AVICAP32.DLL ;implementation
15、$R*.dfmprocedureTForm1.Button1Click(Sender:TObject); beginhWndC:=capCreateCaptureWindowA( MyOwnCaptureWindow ,WS_CHILDorWS_VISIBLE,Panel1.Left,Panel1.Top,Panel1. Width,Panel1.Height,Form1.Handle,0);hWndC:=capCreateCaptureWindowA( MyOwnCaptureWindow,WS_CHILDorWS_VISIBLE,Panel1.Left,Panel1.Top,Panel1.
16、Width,Panel1.Height,Form1.Handle,0);ifhWndC<>0thenbeginSendMessage(hWndC,WM_CAP_SET_CALLBACK_VIDEOS TREAM,0,0);SendMessage(hWndC,WM_CAP_SET_CALLBACK_ERROR, 0,0);SendMessage(hWndC,WM_CAP_SET_CALLBACK_STATUS A,0,0);SendMessage(hWndC,WM_CAP_DRIVER_CONNECT,0,0); SendMessage(hWndC,WM_CAP_SE
17、T_SCALE,1,0);SendMessage(hWndC,WM_CAP_SET_PREVIEWRATE,66,0); SendMessage(hWndC,WM_CAP_SET_OVERLAY ,1,0); SendMessage(hWndC,WM_CAP_SET_PREVIEW,1,0); end;end;procedureTForm1.Button2Click(Sender:TObject);beginifhWndC<>0thenbeginSendMessage(hWndC,WM_CAP_DRIVER_DISCONNECT,0,0 );hWndC:=0;end
18、;end;procedureTForm1.Button3Click(Sender:TObject);beginifhWndC<>0thenbeginSendMessage(hWndC,WM_CAP_SA VEDIB,0,longint(pchar( c:est.bmp );end;end;procedureTForm1.Button4Click(Sender:TObject); beginifhWndC<>0thenbeginSendMessage(hWndC,WM_CAP_FILE_SET_CAPTURE_FILEA,0,Longint(pchar( c:est.avi );SendMessage(hWndC,WM_CAP_SEQUENCE,0,0);end;end;proce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国PCB板网式溶剂清洗机行业投资前景及策略咨询研究报告
- 2024年中国高速平缝机原料机市场调查研究报告
- 2024年中国血液流变仪市场调查研究报告
- 2024年中国纱窗铰链市场调查研究报告
- 2024年中国福瑞乐市场调查研究报告
- 2024至2030年黑玛瑙筷子架项目投资价值分析报告
- 2024至2030年远程无线防盗报警器项目投资价值分析报告
- 2024年中国方形镜盒市场调查研究报告
- 2024至2030年杯式抽取式纸巾项目投资价值分析报告
- 2024至2030年整体式冷焊机项目投资价值分析报告
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 山东师范大学《文献学专题》期末考试复习题及参考答案
- 安全心理学智慧树知到答案章节测试2023年太原理工大学
- 人教版七年级(上)数学竞赛试题(含答案)
- 部编版五年级语文上册第八单元教材分析及全部教案
- 银行税收自查报告(共5篇)
- 山东省建筑工程施工许可现场踏勘记录表
- 加筋土挡土墙工程图集[新版]
- 中国工业大类
- 最新人教版高中化学实验目录(修订版)
- 泵站自动化技术要求
评论
0/150
提交评论