我的笔记本有一个内置摄像头,另外用一个USB摄像头做程序,VFW用的不好,现在有一个问题就是开启程序,sendmessage connect 的时候都要弹出选择视频源的对话框,选择后摄像头也不能用,但拔插一次摄像头就不会弹出对话框使用也正常,下一次又有问题了,所以现在每运行一次都要拔插一次摄像头,是怎么回事呢?程序退出时disconnect了,也尝试过禁用内置摄像头,不管用,可是另一台电脑上就没有这个问题
解决方案 »
- 某字段中数据含有一个‘/’ 有的含有两个‘/’,如何 将含有一个的挑出?
- 十万火急!!请高手请教!!怎样实现让用户在MSHFlexGrid输入的数据提交到access数据库里面
- 请问为什么我的这个代码在Access配合的时候是正确的在和SQL Server配合就不行了。大家帮帮忙。
- 如何发送一段数据到另一个窗口的TEXT中?
- 请问textbox的边框颜色如何更改?
- 如何读去MSCOMM控件中串口的数据呢?
- 有没有什么控件可以显示文件(带有图片和文字)?如doc或htm的网页文件
- 我想像这样……
- 这样可以么?急!!!
- 关于一个百度查不到的问题【用VB在凭据管理器中实现存储凭据】
- Adodc控件事件使用!
- 如何判断某一列的字段和一个特定的字比较
但通常用 DirectShow 通过设备驱动都能访问到设备。
如果你确定你的设备支持 VFW 接口,那么可以参考一下过程来操作摄像头:
http://blog.csdn.net/SupermanKing/archive/2008/11/02/3207341.aspx
这个范例要注意的是图像采集部分没有进行色彩系统的处理,默认用RGB色彩系统,
现在市场上很多的设备都用 YUY2 色彩系统的,可能要稍微处理一下。如果你的是RGB的设备,
那就直接可以用了。
如果想通用性强一点,建议使用 DirectShow 技术来处理,在 DirectX SDK 中有使用范例。
如果你用的是 Visual Studio 6 系列的开发环境,建议下载 DirectX 8.1 的 SDK 就可以了,
DirectX 9 以上的 SDK .net 的范例较多
Private Declare Function PrintWindow Lib "user32" (ByVal Hwnd As Long, ByVal HDC As Long, ByVal nFlags As Long) As Long使用一个PictureBox 命名为 Picture1
Set Picture2.Container = Picture1
x1=(picture1.width-picture2.width)\2
y1=(picture1.height-picture2.height)\2
picture2.move x1,y1
Picture1.print "aaaaaa"
Picture1.print "bbbbb"'PrintWindow到Picture3
PrintWindow Picture1.Hwnd, Picture3.HDC, 0
Printer.PaintPicture Picture3.Image, (Printer.ScaleWidth - Picture3.Width) \ 2, 0, Picture3.Width, Picture3.Height
Printer.EndDoc