TWAIN学习笔记(贰)
TWAIN能力分成三组:
[*]CAP_XXX:适用于一般的数据源
[*]ICAP_XXX:适用于图形图像源
[*]ACAP_XXX:适用于声音数据源
能力容器分成四类:
[*]TW_ONEVALUE:单值
[*]TW_ARRAY:多值
[*]TW_RANGE:范围值
[*]TW_ENUMERATION:枚举值
<上面数据类型很烦,自己看说明去吧>
有三种方法将Source传递到应用程序。native, disk file, buffered memory。音频文件只支持native和disk file。
Native:所有的Source都必须支持的模式,但是有限制性(例如限制于DIB或者PICT格式,受可用内存的限制),Win下,DIB格式(Device-Independent Bitmap),Source给文件分配一个内存块,将指针返回给应用,应用负责转换数据之后释放这块内存。
Disk File:推荐Source支持这种模式,应用程序创建一个Source支持格式的文件,易于读写,尤其是可以避免遇到内存问题。稍微比之后讨论的Buffered模式慢,但比他好操作,并且之后应用程序要操作清理这个文件。
Buffered Memory:所有的Source必须支持该模式。
MD,被关闭了,没保存。
通过一个或多个缓存来实现传输,应用层来分配内存的使用和释放。数据以一无格式位图(unformatted bitmap)传输,应用需要在传输过程中(TW_IMAGEINFO&TW_IMAGEMEMXFER)用信息标识各个缓存和正确识别位图。于Native和Disk File的一个动作结束传输相比,这种模式可能要多次循环。
应用层实现:
TWAIN的实现层次:
[*]最小实现:使用TWAIN默认的,只在Native本机模式,请求单独一个图片。
[*]基本实现:
[*]最大实现:
安装SM(Source Manager)软件:
TWAIN Working Group(TWG)给Win提供四个包:
[*]TWAIN_32.DLL:32位程序用
[*]TWAIN.DLL:16位程序用
[*]TWUNKER_32.EXE:让16位应用程序链接32位的数据源
[*]TWUNKER_16.EXE:让32位应用程序链接16位源,注意,16位源不能再NT上面正确运行
SM四个文件Win文件夹下,比如C:\Winnt,C:\Windows.
微软提供了一个VER.DLL包,用于安装SM。VER.DLL,VER.LIB,VER.H包括在安装包Toolkit里面。VER.DLL是可以自由使用和发布的。
页:
[1]