本站首页    管理页面    写新日志    退出


«November 2019»
12
3456789
10111213141516
17181920212223
24252627282930


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:VFP及Sql Server拙笔
日志总数:46
评论数量:107
留言数量:0
访问次数:385084
建立时间:2005年5月12日




[VFP与SQL](转摘)VFP调用API来控制USB摄像头,实现拍照或录像
文章收藏,  网上资源,  软件技术,  电脑与网络

老瓷 发表于 2014-3-21 13:30:50

*--前提:VFP7.0以上;Windows 2K及以上 *--定义:一般放到主程序或表单(集)的Load事件中Public WM_CAP_DRIVER_DISCONNECTPublic hwndc,WM_CAP_SAVEDIB,WM_CAP_FILE_SET_CAPTURE_FILEA,WM_CAP_SEQUENCE,WM_CAP_STOPDeclare Integer capCreateCaptureWindowA In "AVICAP32.DLL" String lpszWindowName ,Integer dwStyle ,;    Integer x, Integer Y, Integer nWidth ,Integer nHeight,Integer ParentWin,Integer nIdDeclare Integer SendMessage In "user32" Integer HWnd, Integer wmsg,Integer wpar1, Integer wpar2Declare Integer SendMessage In "user32" As SendMessageA Integer HWnd, Integer wmsg,Integer wpar1, String wpar2  *--显示:可以放到按钮或表单(集)的Init事件中WM_USER = 1024WM_CAP_START = WM_USERWM_CAP_STOP = WM_CAP_START + 68WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11WM_CAP_SAVEDIB = WM_CAP_START + 25WM_CAP_GRAB_FRAME = WM_CAP_START + 60WM_CAP_SEQUENCE = WM_CAP_START + 62WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20WM_CAP_SEQUENCE_NOFILE =WM_CAP_START+ 63WM_CAP_SET_OVERLAY =WM_CAP_START+ 51WM_CAP_SET_PREVIEW =WM_CAP_START+ 50WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START +6WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2WM_CAP_SET_CALLBACK_STATUSA= WM_CAP_START +3WM_CAP_SET_CALLBACK_FRAME= WM_CAP_START +5WM_CAP_SET_SCALE=WM_CAP_START+ 53WM_CAP_SET_PREVIEWRATE=WM_CAP_START+ 52*第3、4个参数是定义显示位置,第5、6个参数是定义显示大小。hWndC = capCreateCaptureWindowA('My Own Capture Window',1342177280,0,0,320,240,Thisform.HWnd ,0)If hWndC <> 0    SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0)    SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0)    SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0)    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)    * THISFORM.ACTIVATEEndif  *--关闭显示:SendMessage(hWndC,WM_CAP_DRIVER_DISCONNECT, 0, 0)hWndC=0  *--保存图像:*--无法控制生成的文件尺寸,因为是由摄像头本身默认的,不过可用Image控件显示时进行等比缩小的。ss=Getfile("bmp;Jpg")If !Empty(ss)    SendMessageA(hWndC,WM_CAP_SAVEDIB,0,SS)Endif  *--录像:ss = Getfile("avi")If !Empty(ss)    SendMessageA(hWndC,WM_CAP_FILE_SET_CAPTURE_FILEA,0,ss)    SendMessageA(hWndC, WM_CAP_SEQUENCE, 0, 0)    This.Enabled=.F.    Thisform.MousePointer= 0    Thisform.停止录像按钮.Enabled=.T.Endif  *--停止录像:SendMessage(hWndC, WM_CAP_STOP, 0, 0)Thisform.开始录像按钮.Enabled=.T.This.Enabled=.F.


阅读全文(2220) | 回复(1) | 编辑 | 精华
 


回复:(转摘)VFP调用API来控制USB摄像头,实现拍照或录像
文章收藏,  网上资源,  软件技术,  电脑与网络

hjx_221发表评论于2014-3-25 6:54:28

thanks a lot


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.014 second(s), page refreshed 144327209 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号