TWAIN定义了图像设备(扫描仪,数码相机)和应用之间相互通信的协议,各个设备厂商通过支持TWAIN协议使得上层应用可以用同样的代码去访问不同扫描仪
TWAIN主要包括三个要素:
Application - 使用TWAIN的图像应用,如Photoshop,
Source Manager - 用来管理数据源和应用之间的交互,这个模块由TWAIN Group来维护,并提供开源代码(https://github.com/twain/twain-dsm)。windows提供默认实现TWAIN32.dll但是只支持到1.7版本,这个版本最早是存在于windows98 和NT5.0,直到今天也没升级过。 通常application或source安装时应该提供更新版本,下载最新代码编译后的版本号是2.4,最终二进制文件如下
Winddows:TWAINDSM.dll
Mac:Twain.framework
Linux:/usr/local/lib/libtwaindsm.so
Data Source - 主要用于控制图像设备,这块主要由硬件厂商开发,
目前TWAIN协议最新版本号是2.4。对于TWAIN来说,版本2.0是个分水岭(于2010年制定),这个版本定义了图像设备允许支持windows,Mac,Linux,并可以允许在x86和x64位系统,目前来说很多硬件厂商都没有对TWAIN Source升级到2.x,所以一般来说应用程序遵循1.x标准也可以使用大多数扫描仪