我想实现一个无纸化的归档系统,并希望使用无线局域网与C#的图像采集。在CodeProject上有相当多的示例项目,但是,在下载了我能找到的每一个项目后,我遇到了一个问题。
在它们中的每一个中,对WIALib的引用都被破坏了。当我添加"Microsoft Windows Image Acquisition“作为参考时,在我的开发工作站(也是将要运行它的机器)上可用的唯一版本是2.0。
不幸的是,这些示例项目中的每一个似乎都是针对1.x编写的。引用是"WIA“而不是"WIALib”。我尝试了一下,只是更改了名称空间导入,但显然API有很大的不同。
有没有关于实现v2.0或升级现有示例项目的信息?
发布于 2008-09-20 11:28:58
要访问WIA,您需要添加对COM库的引用"Microsoft Windows Image Acquisition library v2.0“(wiaaut.dll)。添加“使用WIA;”
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;(System.Drawing)
Image i = Image.FromStream(new MemoryStream((byte[])vector.get_BinaryData()));
i.Save(filename)这是一种基本的方式,适用于我的平板/文档进纸器。但是,如果一次需要多个文档/页面,可能有更好的方法(据我所知,一次只能处理一个图像,尽管我不能完全确定)。虽然这是一个WIA的v1文档,Scott Hanselman的Coding4Fun article on WIA确实包含了更多关于如何在多个页面上做到这一点的信息,我想(我自己还没有更进一步)
如果它是一个无纸化办公系统,你可能还想看看MODI (Office Document Imaging)来为你做所有的OCR。
发布于 2010-07-24 02:13:57
这里是如何瞄准WIA 1.0,这样你就可以将你的应用程序发送到Windows Xp。我一直在拼命寻找的东西!!How to develop using WIA 1 under Vista?
发布于 2011-08-28 18:38:33
更新:我单独添加这个,因为它是一个不同的答案(一年后)。我了解到XP有WIA1.0,Vista以后有WIA2.0。但是,您可以从here安装用于Windows XP Sp1+的WIA2.0。
然后我还用我在互联网上找到的代码做了一个小库,它还可以扫描多个页面:http://adfwia.codeplex.com/
https://stackoverflow.com/questions/8966
复制相似问题