如何从扫描仪获取图像?

Posted

技术标签:

【中文标题】如何从扫描仪获取图像?【英文标题】:How do I acquire an image from a scanner? 【发布时间】:2013-03-17 07:29:57 【问题描述】:

我有 iBall A3 图像扫描仪,我想使用 VB6.0 应用程序扫描图像。

有人知道这种类型的应用吗?

【问题讨论】:

【参考方案1】:

由于 VB6 不包含本机扫描仪库,因此扫描仪访问需要某种第三方 DLL。一个流行的选择是免费的公共域EZTW32 library。还有其他的,搜索 TWAIN,这是底层 Windows API 的名称,提供对扫描仪驱动程序的访问。

EZTW32 库提供了多种与扫描仪交互的方式,以下是如何导入库函数的示例:

Private Declare Function TWAIN_IsAvailable Lib "EZTW32.dll" () As Long
Private Declare Function TWAIN_SelectImageSource Lib "EZTW32.dll" (ByVal hwndApp As Long) As Long
Private Declare Function TWAIN_AcquireToFilename Lib "EZTW32.dll" (ByVal hwndApp As Long, _
 ByVal sFile As String) As Long

我建议您按照他们网站上的说明来满足您的需求。 This post 有更多示例和信息。

【讨论】:

我使用了这个 DLL,但是当这行 'ScannerCaptureFile = ProgramPath & "VBScanInterface.bmp" ' 正在执行并且错误是 TWAIN 错误无法打开默认数据源时出现错误。源管理器操作失败 RC:TWRC_FAILURE CC:TWCC_NODS(无数据源) 检查您的扫描仪设置是否可以与使用 TWAIN(而不是 WIA)的其他应用程序一起使用。 AFAIK,TWAIN 用语中的“数据源”实际上是扫描仪本身。 “没有数据源”让我觉得你的系统中没有 TWAIN 扫描仪。【参考方案2】:

VB6 不需要“本机扫描仪库”,因为现代版本的 Windows 内置了一个。

TWAIN 仍在使用,但时间很长,而且许多现代扫描仪不附带 TWAIN 驱动程序。

看看VB6 - WIA Scanning Demo。

【讨论】:

以上是关于如何从扫描仪获取图像?的主要内容,如果未能解决你的问题,请参考以下文章

twain 扫描仪未从扫描仪获取图像

如何编写从物理扫描仪设备扫描图像的 java 代码? [关闭]

WIA 扫描仪大图像尺寸

用于从 Twain 源(扫描仪)获取图像的 php 脚本 [关闭]

扫描硬币,然后从图像中确定日期

从计算机断层扫描图像中获取皮带速度