升腾终端
专业打造
TWain接或许英文 口规范及其应用概述
目录
目录............................................................................................................................................1
一、前言.............继续教育学习 ......................................................................................................................2
二、TWAIN的组成和作用.....................................................................................................2
1、TWAIN的组成.................................................................................................................2
2、使用TWAIN的好处.........................................................................................................3
三、基于TWAIN的应用体系结构.........................................................................................4
1、体系结构层次图...........................................................................................................4
2、层次说明.......................................................................................................................5
四、TWAIN的用户接口说明.................................................................................................5
1、用户接口图示:...........................................................................................................5
2、接口函数据及使用规范说明.......................................................................................6
五、TWAIN应用程序实例.....................................................................................................7
六、在Windows终端服务环境中使用TWAIN接口扫描仪.................................................9
共10页第1页
升腾终端
专业打造
一、前言
随着各种扫描仪、数码相机和其他图像获取设备的出现和普及使用,相当多客户的业
务系统将扫描仪等引入作为系统外设。为了全面满足客户的应用需求,我司产品在经过与扫描仪厂家合作后,现已能支持较大一部分型号的扫描仪及数据相机。
然而市场上扫描仪、数据相机类型众多,客户应用程序如何来使用这些扫描仪和数据
相机。早期支持显示和光栅数据处理的应用程序针对每种图象获取设备都需要单独设计用户
界面、设备驱动程序,在这种情况下,当设备不断升级时,应用程序也要进行相应的修改,使用维护难度增大,维护成本升高。
在这种前提下,扫描仪及数据相机等图像获取设备的开发商和应用软件开发商都意识
到需要在设备和应用之间定义一个标准的通信协议,使设备能被更多的应用程序支持,同时
使应用程序不需要修改就能支持更多的设备或设备的更新。TWAIN就是在这种追求一致性和简单性的背景下产生的。
TWAIN是一个非赢利组织(注:TWAIN不是名称的缩写),最初的工作组由以下几个公司
的代表组成:Aldus,Caere,Eastman,Hewlett-Packard和Logitech,另外Adobe,Howtek和
SoftwareArchitects对其也有重要的贡献。目前该组织的成员已不断增加,如Canon、
FujitsuComputerProductsofAmerica、Intel、RicohCorporation、andXerox等。另
外,在1998五月,Microsoft和TWAIN组织达成协议,将在Win98和NT5.0的数据源管理
器中包含TWAIN的数据源管理器,并在后续的Windows2000/XP及WindowsServer2003
中包含TWAIN的数据管理器,使得基于Windows的应用程序中以轻松地通过访问图像处理设
备厂家提供的数据源来获取图像。到目前为止,已有相当多的图像处理设备支持TWAIN。我
们在工作过程中遇到的客户的很多系统在使用扫描仪时都是通过TWAIN来扫描。
日常工作过程中,我们常碳焙铁观音 在十二式神 客户终端服务环境中安装扫描仪,常遇到“要将*.DS文件
拷到用户目录下的Windows目录下的Twain_32目录中”等工作。在您进行这项工作时,您
是否知道.DS是什么文件?其中包含了什么?接下来就让我们来拨开这层面纱。
二、TWAIN的组成和作用
1、TWAIN的组成
TWAIN定义了一组标准的软件协议和API(applicationprogramming
interface),通过这种协议和API来规范图像处理设备和应用程序之间的通信,它主要有三部分组成,如下图所示:
共10页第2页
升腾终端
专业打造
图1TWAIN的组成
应用软件:应用软件在开发时要遵循TWAIN协议;
数据源管理器:管理应用软件和数据源之间的信息交互,由TWAIN组织开发并免费提
供给设备开发商和应用开发商,在TWAIN开发工具有可以找到。当我们
的应用程序使用TWAIN接口时,就必须装载该管理器。
数据源:设备开发商开发的符合TWAIN协议的设备驱动程序。
2、使用TWAIN的好处
(1)应用程序开发商的受益:
A、用户通过简单的方式在任何兼容的图像处理设备上处理图像,不用离开当前的
应用程序(因为在应用程序中直接调用图像处理设置的标准TWAIN接口数据源)
B、不再需要为图像获取设备编写、支持或移植设备驱动程序
C、应用程序能够访问任何符合TWAIN规范的图像外设,只要简单地通过高给TWAIN
应用程序接口修改一次程序代码即可,可不需要产品的自定义。D、由开发商决定一个图像获取设备能提供的性能参数,然后应用程序能够限制
此图像源,以提供只符合应用程序需求和能力的那些性能。
E、应用程序开发商不需要提供用户界面来控制图像获取过程,用户界面由每一
个符合TWAIN规范的图像源设备来处理。当然,开发商也可以为获取过程提供一个用户界面。
(2)图像源开发商的受益
A、使用其产品的人将增多,同时产品的支持将增多。更多的应用程序将使用图像,
这是由TWAIN提供的简易实现和更广的设备集成带来的结果。
共10页第3页
升腾终端
专业打造
B、开发商能为他们的设备提供一个专用的用户接口,它允许设备向用户显示最新
的特性,而不用等待应用程序在他们的接口中处理这些特性。
C、实现费用的减少就意味着节省了开支,与其通过创建和支持设备控制软件的
各种不同版本来对应用程序进行集成到不如只创建一个简单的TWAIN规范的图像源
(3)最终用户的受益
A、用户获得了一中种简单的处理文档中图像的方式,他们能以谁杀了关羽 更少的步骤来存取
图像,因为不用离开应用程序。
三、基于TWAIN的应用体系结构
通过前面的介绍,我们已经知道,TWAIN软件系统通过应用程序、数据源管理器
和数据源三部分协同工作来完成图像处理的请求、扫描、传输过程,这一过程可以用下图所示的体系结构来描述:
1、体系结构层次图
TWAIN的应用包括4个层次,分别如下:
图2TWAIN应用的体系结构
共10页第4页
升腾终端
专业打造
2、层次说明
TWAIN的应用包括4个层次,分别如下:
A、应用程序层:
用户应用程序在这个层次执行,TWAIN中概述了用户程序如何来使用TWAIN,
如何选择数据源。
B、协议层
其实协议是规定了各个层次之间如何进行交互的语言和语法。协议层包括3
个部分
◆作为应用软件一部分的应用程序与TWAIN之间的接口
◆TWAIN提供的源管理
◆作为源设备一部分的接收数据源指令和返回图像数据和处理结点代码接口。
C、图像获取层
通常这个层次是以一个标准的接口展现在应用程序面前,由图像处理设备厂商
开发完成,用户使用该接口来获取图像数据。当然如果客户端需要,也可以修改该
接口
。
D、物理设备层
这属于最底层的硬件设备驱动,它完成将用户动作转换成设备可以识别的指
令,完成原始数据的采集。
在使用TWAIN的应用程序中,不再需要直接与设备驱动交互,因为在这种模
式中,设备驱动已经成为数据源的一部分,用户直接使用数据公务员职级级别一览表 源即可。
四、TWAIN的用户接口说明
1、用户接口图示:
当用户应用程序使用TWAIN接口来获取图像数据时,对最终用户来说,TWAIN工作流程中的几个环节必须是可见的。如下图所示:
共10页第5页
升腾终端
专业打造
2、接口函数据及使用规范说明
在上图中TWAIN的三个组成部分(应用、数据源管理器和数据源)中,可以并且仅可以通
过两个接口(函数)进行通信,它们分别是DSM-Entry(),DS-Entry()。应用程序为了得到图
像,不能和数据源直接交互,所有的请求、属性等信息必须先交给数据源管理器,再由数据
源管理与数据源进行交互。TWAIN定义了100多种操作,应用程序可以根据具体情况进行组
合,以满足各种图像分辨率、色彩等性能要求。
(1)、DMS-Entry()在Windows环境下的调用格式为:
TW-UINT16FARPASCALDSM-Entry(
pTW-IDENTITYpOrigin//消息的发出地
pTW-IDENTITYpOest//消息的目的地,数据源或数据源管理器
TW-UINT32DG,//数据组标识(lD),格式为:DG
-
xxxx
TW-UINT16DAT,//数据变量类型,格式为:DAT
-
xxxx
TW-UINT16MSG,//messageID,格式为:MSG
-
xxxx
TW-MEMREFpData//存放图像数据的缓存取指针)
数据源管理器是应用程序和数据源之间通信的桥梁,提供界面让用户选择数据源、
装载数据源,当DSM-Entry(()指明的目的地是自己时,则由自己处理:当目的地是数
共10页第6页
升腾终端
专业打造
据源时,数据源管理器通过DS-Entry()调用,将有关参数传递给数据源,由数据源进行处理。
(2)、DS-Entry()在Windows环境下的调用格式为
TW-UINT16FARPASCALDS-Entry(
pTW-IDENTITYpOrigin//消息的发出地
TW-UINT32DG,//数据组标识(lD),格式为:DG
-
xxxx
TW-UINI16DAT,//数据变量类型,格式为:DAT
-
xxxx
TW-UINT16MSG,//messageID,格式为:MSG
-
xxxx
TW-MEMREFpData//存放图海上航线 像数据的缓存取指针
)
(3)、TWAIN获取图像的步骤
获取图像的整个过程共有以下几步:
A、装载数据源管理器使DSM-Entry()有效,可以通过动态调用(*.dll)或静态连接(*lib)
B、打开数据源管理器(通过调用DSM-Entry()实现,以下类同)
C、选择数据源D、打开数据源
E、就有关特性、图像质量等和数据源进行协商F、向数据源发出数据请求
G、确认数据已准备就绪,开始传输数据
H、确认传输成功I、和数据源断开。
五、TWAIN应用程序实例
本实例的开发环境和工具是:Windows,VC6.0,
如果想在贵人鸟标志 原有应用程序中增加图像获取功能的话,要对源程序作一修改,增加两个菜
单项,分别是“选择数据源”、“获取图像”,添加相应的处理函数。首先,用户必须点
击“选择数据源”在数据源管理器提供的界面上选择可用的数据源,如扫描仪或数字相机,
然后,点击“获取图像”在数据源提供的界面上选择一些参数,按“确定”后,设备开始工
作,最后图像数据由数据源经由数据源管理器传到应用程序,由应用程序进行处理(显示、
存盘等)。以下是部分程序片断,大家还可以参考CXImage的源代码。
voidCDlgImgDlg::OnSelect()
共10页第7页
升腾终端
专业打造
{//用户点击“选择数据源”
CDlgImgDlg*dlg=this;
m
-
lect(dlg->m
-
hWnd);//m
-
Scanner是CScanner类的一个实例,全局量
}
voidCDlgImgDlg::OnAcpuire()
{//用户点击“获取图像”
CDlgImgDlg*dlg=this;
m
-
e1Params(USER-SELECTION);
m
-
cquire((dlg->m-hWnd);}
BOOLCScanner::UrSelect(HWNDhWnd)
{//UrSelect()是CScanner类的一个方法//打开数据源管理器
rs=DSM-Entry(&mAppId,NULL,DG
-CONTROL,
DAT
-
PARENT,MSG-OPENDSM.(TW
-MEMREF)&mWnd);
if(rc==TWRC
-
FAILURE)return(FALSE);mDSMOpened=TRUE;
………………
//让用户选择数据源,会弹出一个对话框
memt(&mSourceId,O,sizeof(TW
-
IDENTITY));
rc=DSM
-
Entry(&mAppId,NULL,DG
-
CONTROL,DAT
-
IDENTITY,MSG
-
USERSELECT,(TW
-
M
EMREF)&mSourceId)
………………
//打开数据源,准备获取图像
rc=DSM-Entry(&mAppId,NULL,DG-CONTROL,
DAT-IDENTITY,MSG-OPENDS,&mSourceId);
…………}
BOOLCScanner:;StartAcquire(HWNDhWnd)
共10页第8页
升腾终端
专业打造
{
……………
if(!mDSMOpened)//获取图像之前一定要先打开数据源
{AfxMessageBox("YoumustchoiceaDataSourceatfirst!");
returnFALSE}
//设置参数
DSM
-
Entry(&mAppId,&mSourceId,DG
-
CONTROL,//将参数传到数据源
DAT
-
CAPABILITY,MSG-SET(TW
-
MEMREF)&Caps);
DAT
-
Entry(&mAppId&mSourceId,DG-IMAGE,
DAT
-
IMAGELAYOUT,MSG
-
SET,(TW
-
MEMREF)&Image)
rc=DSM
-
Entry(&mAppId,&mSourceId,DG
-
CONTROL
DAT
-
USERINTERFACE,MSG
-ENABLEDS,
(TW
-
MEMREF)&mUrInterface);//使数据源有效
//获取图像数据
rc=DSM
-
Entry(&mAppId,&mSourceId,DG
-
IMAGE,DAT
-
IMAGENATIVEXFER,MSG
-
GET,(
TW
-
MEMREF)&bitmap}
六、在Windows终端世界上最高的塔 服务环境中使用TWAIN接口扫描仪
当前全国各地的行业用户都在验印系统等系统中使用扫描仪、数码相机等图像处
理设备。其中有较大一部分扫描仪有用标准TWAIN接口。在使用这类扫描仪之前,
通常需要进行如上几个步骤的安装配置。
1、终端服务器操作系统安装
2、在终端服务器上安装twainkit,这个步骤主要完成数据源管理器等的安装
3、在服务器上安装扫描仪的驱动程序(有些扫描仪可不必安装,直接使用第5步即
可)。
4、终端上升级扫描仪驱动升级包
5、将数据源(如紫光T5的TWSRC_)文件拷到DocumentandSetting中用户
目录下(如Administrator中的Windows中的Twain_32目录中的某个目录(如
共10页第9页
升腾终端
专业打造
centerm)目录中(若这些目录没有,请用管理员身份自行创建)。
6、将适用于终端模式的“动态库”拷贝覆盖原驱动文件。
7、终端用RDP登录到服务器上去,并以管理员身份登录。
8、运行刚安装的TWAIN中的Twack_32扫描程序,在扫描源(SelectSource)处选
择“数据源”(如“升腾扫描仪运用程序”)。
9、选择File菜单中的Acquire进行扫描,等数秒钟至数十秒后(视图片及扫描的
DPI大小而定),应用程序处能看见扫描图像的视图,扫描过程成功结束
10、普通用户RDP登录到终端服务器,并在DocumentandSetting自动产生用户目
录
11、将管理员目录下的Windows目录复制到“DocumentsandSettings当前用户名”
下中。
12、用普通用户登录测试扫描。
注意:A、在Window2000中,由于系统架构与Windows2003不一样,通常Twain_32目
录是在WinntSystem32下。而不必将该文件复制到每个用户目录下。
升腾技术中心整理
2006-11-1-20
共10页第10页
本文发布于:2023-04-14 18:27:16,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/82/497554.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |