首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Vista上使用C#/WIA 2.0版进行扫描

在Vista上使用C#/WIA 2.0版进行扫描
EN

Stack Overflow用户
提问于 2008-08-12 15:28:35
回答 5查看 39.8K关注 0票数 23

我想实现一个无纸化的归档系统,并希望使用无线局域网与C#的图像采集。在CodeProject上有相当多的示例项目,但是,在下载了我能找到的每一个项目后,我遇到了一个问题。

在它们中的每一个中,对WIALib的引用都被破坏了。当我添加"Microsoft Windows Image Acquisition“作为参考时,在我的开发工作站(也是将要运行它的机器)上可用的唯一版本是2.0。

不幸的是,这些示例项目中的每一个似乎都是针对1.x编写的。引用是"WIA“而不是"WIALib”。我尝试了一下,只是更改了名称空间导入,但显然API有很大的不同。

有没有关于实现v2.0或升级现有示例项目的信息?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-09-20 11:28:58

要访问WIA,您需要添加对COM库的引用"Microsoft Windows Image Acquisition library v2.0“(wiaaut.dll)。添加“使用WIA;”

代码语言:javascript
复制
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)

代码语言:javascript
复制
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。

票数 22
EN

Stack Overflow用户

发布于 2010-07-24 02:13:57

这里是如何瞄准WIA 1.0,这样你就可以将你的应用程序发送到Windows Xp。我一直在拼命寻找的东西!!How to develop using WIA 1 under Vista?

票数 1
EN

Stack Overflow用户

发布于 2011-08-28 18:38:33

更新:我单独添加这个,因为它是一个不同的答案(一年后)。我了解到XP有WIA1.0,Vista以后有WIA2.0。但是,您可以从here安装用于Windows XP Sp1+的WIA2.0。

然后我还用我在互联网上找到的代码做了一个小库,它还可以扫描多个页面:http://adfwia.codeplex.com/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档