业务需求:通过电脑摄像头拍照身份证,并以image格式保存到sqlserver中。
工具:pb8.0 , sqlserver2008
原代码如下:
1.引入外部函数:function ulong capCreateCaptureWindowA(string lpszWindowName,ulong dwStyle,long x,long y,long nWidth,long nHeight,ulong ParentWin,long nId ) LIBRARY 'AVICAP32.DLL' alias for "capCreateCaptureWindowA;Ansi"
2.初始化窗口,在窗口open事件中设定:
string lpszName
ulong l1
l1=handle(this)
lpszName='攝像頭界面...'
lhand=capCreateCaptureWindowA(lpszName,262144+12582912+1073741824 + 268435456 ,10,10,300,200,l1,0)
if lhand <> 0 then
send(lhand, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0)
send(lhand, WM_CAP_SET_CALLBACK_ERROR, 0, 0)
send(lhand, WM_CAP_SET_CALLBACK_STATUSA, 0, 0)
send(lhand, WM_CAP_DRIVER_CONNECT, 0, 0)
send(lhand, WM_CAP_SET_SCALE, 1, 0)
send(lhand, WM_CAP_SET_PREVIEWRATE, 66, 0) <