用api调用摄像头

//定义变量
uint lhand

//定义常数
long WM_USER=1024
long WM_CAP_START = WM_USER
long WM_CAP_STOP = WM_CAP_START + 68
long WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10
long WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11
long WM_CAP_SAVEDIB = WM_CAP_START + 25
long WM_CAP_GRAB_FRAME = WM_CAP_START + 60
long WM_CAP_SEQUENCE = WM_CAP_START + 62
long WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20
long WM_CAP_SEQUENCE_NOFILE =WM_CAP_START+  63
long WM_CAP_SET_OVERLAY =WM_CAP_START+  51
long WM_CAP_SET_PREVIEW =WM_CAP_START+  50
long WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START +6
long WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2
long WM_CAP_SET_CALLBACK_STATUSA= WM_CAP_START +3
long WM_CAP_SET_CALLBACK_FRAME= WM_CAP_START +5
long WM_CAP_SET_SCALE=WM_CAP_START+  53
long WM_CAP_SET_PREVIEWRATE=WM_CAP_START+  52

 

//定义api
function ulong capCreateCaptureWindowA(string lpszWindowName,ulong dwStyle,long x ,long y ,long nWidth ,long nHeight ,ulong ParentWin ,long  nId ) LIBRARY 'AVICAP32.DLL'  

//初始化代码
string lpszName
ulong l1
l1=handle(w_main)

 

lpszName='摄像头界面...'
lhand=capCreateCaptureWindowA(lpszName,262144+12582912+1073741824 + 268435456 ,0,0,200,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)
  send(lhand, WM_CAP_SET_OVERLAY, 1, 0)
  send(lhand, WM_CAP_SET_PREVIEW, 1, 0)
end if

 

//保存到文件
string s
s='c:/save.avi'
if lhand<>0 then
Send(lhand,WM_CAP_FILE_SET_CAPTURE_FILEA,0, s);
Send(lhand,WM_CAP_SEQUENCE, 0, 0)  //开始捕捉
end if

 

//停止保存
  send(lhand, WM_CAP_STOP, 0, 0)

 

//保存为图片
string s
s='c:/save.bmp'
if lhand <> 0 then
Send(lhand,WM_CAP_SAVEDIB,0,s);
end if

 

//没有摄像头的可以去下载一个如下的软件,可以虚拟摄像头(此软件可以放一个电影,代替正常摄像头的摄像内容)
Vandate Virtual Camera 虚拟摄像头 1.5.1.exe

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值