在Vista上用C#/WIAVersion2.0扫描我想实现一个无纸化文件系统,想用WIA和C#进行图像采集。在CodeProject等网站上有很多示例项目。但是,在下载了我能找到的每个项目之后,我遇到了一个问题。在每一个中,对WIALib的引用都被破坏了。当我添加“MicrosoftWindowsImageAcquisition”作为参考时,我的开发工作站(也是它运行的机器)上唯一可用的版本是2.0。不幸的是,这些示例项目中的每一个似乎都是针对1.x编码的。参考资料说“WIA”而不是“WIALib”。我试了一下,只是更改了命名空间导入,但显然API完全不同。是否有任何关于实施v2.0或升级现有示例项目之一的信息?要访问WIA,您需要添加对COM库“MicrosoftWindowsImageAcquisitionLibraryv2.0”(wiaaut.dll)的引用。添加“使用WIA;”conststringwiaFormatJPEG="{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}";CommonDialogClasswiaDiag=newCommonDialogClass();WIA.ImageFilewiaImage=null;wiaImage=wiaDiag.ShowAcquireImage(WiaDeviceType.UnspecifiedDeviceImage.GrayscaleIntent,WiaImageBias.MaximizeQuality,wiaFormatJPEG,真,真,假);WIA.Vectorvector=wiaImage.FileData;(在System.Drawing中)Imagei=Image.FromStream(newMemoryStream((byte[])vector.get_BinaryData()));i.Save(filename)这是一种基本方式,用于我的平面/文档进纸器。如果您一次只需要一个以上的文档/页面,可能有更好的方法(据我所知,这一次只处理一张图像,但我不完全确定)。虽然这是一个WIAv1文档,但ScottHanselman在WIA上的Coding4Fun文章确实包含了更多关于如何对多个页面执行此操作的信息,我认为(我比我自己更进一步)如果它是一个无纸化办公系统,你可能还想看看MODI(OfficeDocumentImaging)为你做所有的OCR。继承者如何以WIA1.0为目标,以便他们可以将应用程序传送到WindowsXP。我正在拼命寻找的东西!如何在Vista下使用WIA1进行开发?更新:我单独添加这个,因为它有不同的答案(一年后)。我了解到XP有WIA1.0,Vista后来有WIA2.0。但是,您可以从此处为WindowsXPSp1+安装WIA2.0。然后我还创建了一个小型库,其中包含我在互联网上找到的代码,它也具有扫描多个页面的能力:http://adfwia.codeplex.com/它不需要是WIA。我主要关心的是WIA设置,因为它为不同的扫描仪提供相同的基本界面。我在这台机器上有3个扫描仪,它们都有糟糕的TWAIN驱动程序/软件(比如在扫描过程中阻塞屏幕)。对于文档管理,我真的在寻找简单的200dpi灰度扫描,所以TWAIN驱动程序中的大多数东西都太过分了。也就是说,在这里询问是我在转向TWAIN之前最后一次尝试如何在WIA中执行此操作的一部分。另请注意:您必须从Microsoft.com下载WIA2.0dll,然后浏览到该dll并将其添加到您的项目中。以上就是C#学习教程:在Vista上使用C#/WIAversion2.0扫一扫分享全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
