使用C#从集成笔记本电脑相机拍照

时间:2011-02-18 02:26:31

标签: c# com-interop wia

我正在尝试编写我的巨大C#程序的一部分,该程序允许我从笔记本电脑中的集成摄像头捕获一张图片。我已经完成了我的研究,我注意到有两种方法可以通过WIA和DirectShow来实现。我正在尝试更轻松的一个:WIA。我正在使用运行VS 2010 .Net 4.0的Windows 7 32位计算机。我试图运行我在网上找到的以下示例,这正是我想要的,并且经历了几个与之相关的错误。

http://www.c-sharpcorner.com/uploadfile/yougerthen/610262008064756am/6.aspx

我添加了必要的参考资料


using System.Windows.Forms;
using Microsoft.Win32;
using WIA;

大多数错误如下: 无法嵌入Interop类型'WIA.CommonDialogClass'。请改用适用的界面。 无法嵌入互操作类型“WIA.CommandID”。请改用适用的界面。

任何提供的帮助都会得到很大的帮助。

2 个答案:

答案 0 :(得分:2)

我找到了一个解决方案,可以满足我的需求,而无需通过DirectShow。它是使用avicap32.dll库完成的。那些想要实现类似我的东西的人。可以查看此链接http://www.timvw.be/wp-content/code/csharp/testavicap32.zip。只需使用VS 2010进行编译即可。只需学习,理解并调整示例以满足您的需求。

答案 1 :(得分:1)

试试这个:

WIA.CommonDialog wiaDiag = new WIA.CommonDialog();

允许使用new运算符创建COM接口。您需要在命名空间名称前添加前缀,因为CommonDialog与Winforms CommonDialog类不一致。