16

我知道您可以从 .net 生态系统中使用 WIA,而无需(太多)麻烦,但我发现以这种方式使用 WIA,至少是不稳定的。我已经看到我的代码完全无法正常工作,某些 WIA 功能无法正常工作并且根本拒绝播放,更不用说很好了。

您可以在我的WIA 2.0 HP ScanJet 7650 特定问题问题中了解它,该问题没有得到任何评论,更不用说在六个月内回答了。

因此,我愿意以合理的价格购买有效的 WIA .NET 组件——合理的价格最高可达 300 美元。我一直在浏览 ComponentSorce 并且有许多 2000 美元的雷龙,如果没有得到很好的处理,它们会做 TWAIN 并吃掉小孩,但没有一个 WIA .NET 组件。

哦,是的,还有一点咆哮——MSDN 的 WIA 文档和示例确实不合标准。

更新- 对于所有认为可以通过阅读 WIA 上带有示例代码的概念验证和看起来有效的文章来解决这个问题的人 -它不能。从外观上看,为许多设备提供可靠的扫描支持是一项艰巨的工作。我使用 .net 的 WIA 在我的计算机上测试了三种不同的扫描仪,当你认为你已经弄清楚了一些细节时,你插入了另一个扫描仪,发现你还没有发现任何东西。这就是为什么我愿意为此付出代价。

4

4 回答 4

2

你看过这篇文章吗? http://10rem.net/blog/2010/01/08/scanning-images-in-wpf-via-wia

上述项目可从:http: //10rem.net/media/55896/petebrownwpfscannerdemo.zip下载

它在 C# 中,所以它可能会有所帮助。

于 2011-05-17T20:57:21.630 回答
2

您可能想检查设备是否支持WPD,在 Vista 或更高版本中替换 WIA。如果设备不支持 WPD,请尝试使用WIA 自动化层访问设备。它肯定不能处理特定于 WIA 设备的问题,但至少它有利于标准化行为。如果 WPD 和 WIA 都不支持,恐怕你得处理旧的 TWAIN 接口。

Windows Driver Kit中的WIA 文档与 Windows SDK 中的文档相同。如果驱动程序开发人员未能遵循 WIA 驱动程序指南,请不要感到惊讶。如果您旅行 WIA 扫描仪树,请确保您了解Windows XPVistaWindows 7的树布局差异。

.NET Scanning API中讨论了用于 .Net 应用程序的这些 API 的包装器。

于 2011-05-18T22:21:27.347 回答
0

我会省钱并建议阅读这样的文章:http: //www.codeproject.com/KB/cs/WebCamService.aspx

按照这些步骤,并调整代码以满足您的要求。

于 2011-05-18T06:51:44.473 回答
0

我对这个问题发表了评论,但我想我会在这个链接集合中添加我刚刚遇到的一些新内容:https ://github.com/baffles/derp-scan

看起来它可能是一个真正可用的 WIA 库的开始(有一天)。

通过查看代码,问题可能是某些属性仅用作设备属性,而某些属性仅用作项目属性(WIA_DPS_* vs WIA_IPS_*):http: //msdn.microsoft.com/en-us/library/windows/硬件/ff539542(v=vs.85).aspx

它提到两者之间存在重叠,我猜没有两个扫描仪的行为方式相同......这是否意味着你应该同时设置它们?我不知道。我和你在一起,文档很糟糕。

TL;博士; 这次从 codeproject 复制代码将无济于事。

于 2013-06-13T07:29:53.840 回答