Tag: wia

下载WIA SDK或DLL(用于摄像头捕获)

WIA dll在哪里? 我在google,microsoft.com,MSDN上找不到任何WIA(DLL / SDK)下载… wiascr.dll不在我的机器上任何地方。 我从Interop.WIA.dll和wiaaut.dll获得的唯一地方是安装了另一个正好使用它的程序。 伙计,我在这里得到了错误的结局吗? 像这样的页面引用它,但没有链接。 我的大多数搜索都倾向于在这个12岁的页面上结束。 看起来不错,但它似乎只是假设你已经拥有这些dll,这让我想知道: 我应该使用更好的相机捕捉方式吗? 我真正期望它是我的VS安装的一部分,我只需将WIA键入参考管理器并完成。

使用WIA,C#和Win 7捕获相机

我尝试在Windows 7上使用WIA 2.0,C#,。net 4.0从网络摄像头拍照。我尝试了许多不同的样本,但没有任何效果。 我总是得到这个exception:“ComException未处理”来自HRESULT的exception: 0x80210015 “。代码是WIA_S_NO_DEVICE_AVAILABLE 。我检查过,如果WIA-Service正在运行并且凸轮出现在扫描仪和相机中。我不知道这里有什么问题有人可以帮忙吗? 此行抛出exception: 设备d = class1.ShowSelectDevice(WiaDeviceType.CameraDeviceType,true,false);: 这里的代码 string DeviceID; const string wiaFormatBMP = “{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}”; const string wiaFormatPNG = “{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}”; const string wiaFormatGIF = “{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}”; const string wiaFormatJPEG = “{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}”; const string wiaFormatTIFF = “{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}”; class WIA_DPS_DOCUMENT_HANDLING_SELECT { public const uint FEEDER = 0x00000001; public const uint FLATBED = 0x00000002; […]

使用WIA在C#中使用网络摄像头自动拍照

我正在使用WIALib来访问我的网络摄像头。 我正在开发的代码非常简单:当按下按钮时,会拍摄网络摄像头图像,然后显示在图片框中。 我已经可以用我的网络摄像头拍照了,但它还没有完全自动化。 我发现检索网络摄像头拍摄的照片的唯一方法是使用: wiaPics = wiaRoot.GetItemsFromUI( WiaFlag.SingleImage, WiaIntent.ImageTypeColor ) as CollectionClass; 但是这要求用户选择图片。 我总是想要拍下最后一张照片。 所以我正在尝试这种方式: string imageFileName = Path.GetTempFileName(); // create temporary file for image wiaItem = wiaRoot.TakePicture(); // take a picture Cursor.Current = Cursors.WaitCursor; // could take some time this.Refresh(); wiaItem.Transfer(imageFileName, false); // transfer picture to our temporary file pictureBox1.Image = Image.FromFile(imageFileName); // create […]

在Windows Vista / 7中从C#访问网络摄像头的“首选”方法

我发现很多post讨论WIA,Windows Portable Devices API和DirectShow(以及提供示例代码)来访问C#中的网络摄像头,但是当你研究每种方法时,你似乎遇到了这些是“旧”方法的引用。 因此,问题是,当比Windows Vista更早运行时,从C#访问网络摄像头的“首选”方法是什么? 谢谢, 约翰。

类无法嵌入。 请改用适用的界面

我正在使用WIA将扫描仪的图像捕获到窗体。 这是我正在使用的代码: private void button2_Click(object sender, EventArgs e) { const string wiaFormatJPEG = “{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}”; CommonDialogClass wiaDiag = new CommonDialogClass(); WIA.ImageFile wiaImage = null; wiaImage = wiaDiag.ShowAcquireImage( WiaDeviceType.UnspecifiedDeviceType, WiaImageIntent.GrayscaleIntent, WiaImageBias.MaximizeQuality, wiaFormatJPEG, true, true, false); WIA.Vector vector = wiaImage.FileData; Image i = Image.FromStream(new MemoryStream((byte[])vector.get_BinaryData())); i.Save(@”D:\prueba1.jpeg”); } 当试图运行这个小测试时,我收到此错误: 无法嵌入Interop类型’WIA.CommonDialogClass’。 请改用适用的界面。 还有这个: ‘WIA.CommonDialogClass’不包含’ShowAcquireImage’的定义,也没有接受第一个类型’WIA.CommonDialogClass’的扩展方法’ShowAcquireImage’(你是否缺少using指令或汇编引用? 我猜第二个错误是由于第一个错误而上升,对吧? 对于如何解决这个问题,有任何的建议吗?

Windows图像采集 – 在C#中设置设备属性

我有一个C#(WinForm)程序,支持使用WIA进行扫描。 我正在尝试在扫描一个或多个文档之前设置设备属性。 主要是我想设置扫描仪的纸张尺寸。 以下是代码片段: foreach (Property property in selectedDevice.Properties) { //WiaProperties.WiaDpsHorizontalBedSize is my constant if (property.PropertyID == WiaProperties.WiaDpsHorizontalBedSize) { //Set property value here… } } 我找到了水平床尺寸属性,但问题是如何将其设置为值? 有一个属性的set_Value属性,但似乎将ref引用到结果对象。 所以我不知道如何在设备上设置属性?

在C#中使用没有对话框的扫描仪

我正在构建一个.Net 4.0应用程序,用于远程控制扫描仪设备。 我已经尝试了TWAIN和WIA库,但我遇到了同样的问题。 扫描图像时无需 扫描仪选择和扫描设置对话框 。 我在.Net上找到了一篇关于WIA脚本的有用文章,并将其修改为: private Image Scan(string deviceName) { WiaClass wiaManager = null; // WIA manager COM object CollectionClass wiaDevs = null; // WIA devices collection COM object ItemClass wiaRoot = null; // WIA root device COM object CollectionClass wiaPics = null; // WIA collection COM object ItemClass wiaItem = null; // […]

C#WIA图像扫描失败,HRESULT:0x80070050

我希望有人遇到过这种情况 – 我正在尝试使用WIA从文档扫描仪捕获图像,但是在尝试传输图像结果时在随机机器上 – WIA报告“文件存在。 – HRESULT:0x80070050”。 在具有此问题的所有计算机上,软件的初始使用是成功的。 我能够成功连接到扫描仪,查询名称,制造商等。 我已经确定我可以成功扫描图像,如果我在另一个用户帐户下运行代码(使用右键单击以管理员身份运行)。 但是,在具有提升的权限的同一用户帐户下运行代码会导致相同的错误。 注意:在Item1.Transfer上发生exception – 所以直到这一点我还没有为WIA提供文件路径,所以这不是它所指的文件。 WIA.DeviceManager DeviceManager1 = new WIA.DeviceManagerClass(); WIA.Device Scanner = DeviceManager1.DeviceInfos[i].Connect(); WIA.Item Item1 = null; foreach (WIA.Item CurrentItem in Scanner.Items) { Item1 = CurrentItem; break; } WIA.ImageFile Image1 = new WIA.ImageFile(); //Attempt To Capture Scan Image1 = (WIA.ImageFile)Item1.Transfer(WIA.FormatID.wiaFormatJPEG); //Save To File Image1.SaveFile(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() […]

WIA通过馈线扫描

WIA通过馈线扫描 这是我的设备属性: Document Handling Select = 1 (2 is for flatbed, and 1 is for the feeder.) 这是我的项目(页面)属性: Horizontal Resolution = 150 Vertical Resolution = 150 Horizontal Extent = 500 (I want to get it first to work, then I’ll play with the extents.), Vertical Extent = 500 Bits Per Pixel = 8 Current Intent […]

WIA通过网络浏览器 – ASP.NET

我想知道什么是编写一个位于Web浏览器中的扫描应用程序的最佳/首选方式。 基本的想法是我想使用一个网页,我可以点击一个按钮,它将扫描客户端上的文档并将该文档上传到服务器。 想到的第一个想法是编写一个本机(C ++?)浏览器插件。 但是,我不知道本机插件需要什么才能成为跨浏览器。 所以这里有几个问题: Silverlight是可行的选择吗? 这是我更喜欢的,因为我的所有代码都是C#,ASP.NET。 问题是 – Silverlight可以在客户端上与Windows Image Acquisition COM对话吗? 在flash中写一些东西,可能正在使用Flex? 这是一个可行的选择吗? 它可以在客户端与WIA COM交谈吗? 最后,如果答案是用C ++编写,那么跨浏览器的一些高级问题是什么呢? 还有什么呢?