小隐的博客

人生在世,笑饮一生
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

利用wia和imgscan从扫描仪获取图像(vb6 c#)

Posted on 2009-05-23 08:47  隐客  阅读(5990)  评论(7编辑  收藏  举报

最近写一个系统,要求能够将单据扫描后上传到服务器,客户又要求不想用别的软件,需要集成到系统中,特找了一些资料供大家参考

一、利用imgscan.ocx控件

    在网上可以下载此kodak的所以组件,此方式是以com 的方式实现的,在VB6中试用成功,但是有个问题,就是用ScannerAvailable属性无法检测扫描仪是否准备就绪,在C#中目前还不知道怎么用,网上都是说是引用后直接可以用,但我引用后,发现会报错,期待有人解决。

在这里我提供这个组件和VB6源代码的下载,

组件:

https://files.cnblogs.com/szyicol/Kodak.rar

vb6代码:

https://files.cnblogs.com/szyicol/imgscan-vb6.rar

二、利用wia来扫描。

 

  Windows 图像采集 (WIA) 是最新 imaging 技术,在Microsoft Windows Millennium Edition中引入, 包含在更高版本的 MicrosoftWindows 操作系统中(例如WindowsXP,注意Windows2000不支持WIA)。 WIA 提供广泛的支持以启用 imaging 设备, 如扫描仪和数码相机, 以与图像应用程序 (例如, MicrosoftPicture2000和 Adobe Photoshop)对接。
  WIA之前的成像设备行业标准是TWAIN标准。
  使用WIA,制造商只需要写 WIA microdriver 以允许设备使用。 这类似于打印制造商提供 minidriver, 而其他WIA组件由操作系统实现。
  使用WIA, 独立硬件供应商 (IHV) 可集中编写代码以提高设备功能。
  WIA和TWAIN的关系是,WIA是微软操作系统的影像获取体系结构,属于Windows操作系统驱动程序类;而TWAIN是开放协议,用来解决应用软件对不同影像外设的可移植性调用。应当说,WIA是驱动层上的东西,它为应用程序提供SDK接口;而TWAIN协议在驱动程序和应用程序间提供一个公用接口。TWAIN的层次高于WIA。

  WIA 是 Windows Image Acquisition 的简称,当前可用版本是 WIA 1.0,它是 Windows Millennium Edition (Windows Me) 或者更高版本的 Windows 系统中提供的数字图像获取服务,同时它也能用于管理数字图像设备。
  WIA 接口既是应用程序接口(WIA API),又是设备驱动程序接口(WIA DDI),下面要讲述的都是有关 WIA API 的内容。

     目前我虽然装的是vs2008,但发现wia还是1.0的版本,大家可以在MS的网站上下载此类库

   
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a332a77a-01b8-4de6-91c2-b7ea32537e29

 

我在这里提供调用wia的代码

https://files.cnblogs.com/szyicol/wiaScan.rar

 

另外关于wia 的更进一步的资料,可以参考以下网站

http://newinfo.sysu.edu.cn/Snowwaft/index.php?paged=2

 

twain和wia的其它代码,偶没看懂,可能是比较底层的封装类

https://files.cnblogs.com/szyicol/wiascriptingdotnet.zip

https://files.cnblogs.com/szyicol/twaingui_src.zip

QQ交流