明基电通信息技术有限公司·营销总部
0512-68251233-2888
一,功能说明(3-3)
二,要求说明(3-3)
三,开发包文件结构说明(3-4)
四,scan.Dll接口说明(4-15)
五,ImageRWSB.dll 接口说明(15-17)(略)
一. 功能说明本开发包是为明基扫描仪专门提供的,可以让用户进行二次开发的开发包。该开发包是用VC++ 6.0开发的动态连接库(scan.dll)。接口简单,调用方便,让您可以在最短的时间内实现对明基扫描仪的功能定制。另外,本开发包还提供给用户明基自行开发的影像文件读写库(ImageRW.dll),提供了多种影像格式的支持,让您可以方便的将扫描得到的影像数据存成各种格式(支持的文件格式有BMP, PCX, JPG, TIF, TGA, PNG)的影像文件。本开发包内还附有开发例程,即使你一点都不了解扫描仪的驱动过程, 也能在很短的时间里定制出符合你要求的应用程序(当然,你需要有一定的VC++编程能力), 比如说能在某个特定的区域内用特定的分辨率进行扫描。该例程还提供了如何使用汉王OCR实现文字识别的演示。
使用这个开发包,他们可以实现对扫描仪的自主操控,如自行控制预览、扫描的位置、扫描分辨率色彩等各项参数,甚至还提供了常见的几种图形文件格式的读写,让客户很方便的实现扫描仪的控制以及图像的读写操作,把更多的时间用于整个控制管理系统中更具应用价值的部分。
正因为二次开发包具备非常高的可扩展性,所以适用于多种行业多种应用。比如:数字图书馆和数字化档案馆等,如果再配合上光学文字识别软件(OCR)等专门处理软件,应用的领域更大,如:旅店业身份识别、机场及出入境身份识别、警(军)用活体指纹、指纹录入、考勤、录入工厂、银行金融票据、税务、交通、工程测绘、地质考古、公安户籍等等以及行业信息化数字化领域。在这些领域里,通用扫描控制根本没有用武之地,所有的应用系统都需要量身定制、需要灵活自如的控制,这些都只能基于二次开发包的高扩展性。
二. 要求说明
此开发包需要配合明基提供之扫描仪设备以及设备驱动程序方可使用,使用前,请确认扫描仪设备已经正确安装并工作。
三. 开发包文件结构说明
SDK: 根目录/Include: 头文件目录(需要把该目录添加到你得VC开发环境中) TwainExport.h: scan.dll的接口定义 twain.h: 标准影像设备数据结构类型定义 ImageRW.h: 图像文件读写接口定义/library: 库文件目录(需要把该目录添加到你得VC开发环境中) ImgRWSB.lib:图像文件读写接口库/Src: 源文件目录 TwainExport.cpp:/Bin: 动态连接库目录 Scan.dll: 扫描仪驱动接口动态连接库 Formatdll.dll 图像文件读写动态连接库/Sample: 例程目录 VC++ 例程/document: 说明文件目录 明基扫描仪开发包说明.doc: 本说明文件
四. Scan.dll接口说明初始化函数1. HINSTANCE InitTwainDLL(LPCTSTR szDLLName);返回值如果成功返回Scan.dll的句柄,失败为NULL。参数szDllName 指向scan.dll的绝对路径名注解该接口函数必须第一个被调用成功,如果调用失败请检查路径名是否书写正确,或文件是否真的存在。 2. VOID FreeTwainDLL(HINSTANCE hInst); 返回值无参数 hInst Scan.dll的句柄。注解该函数必须在程序推出时被调用,释放scan.dll资源。3. VOID NewTwain (Htwain * phTwain); 返回值无参数 phTwain 指向扫描仪句柄的指针注解创建控制明基扫描仪的句柄 4. VOID FreeTwainDLL(HTwain hTwain); 返回值无参数 hTwain 扫描仪句柄注解创建控制明基扫描仪的句柄 5. BOOL LoadSM (HTwain hTwain); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄注解载入驱动管理器6. BOOL UnloadSM (HTwain hTwain); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄注解卸载驱动管理器7. BOOL OpenSM (HTwain hTwain); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄注解打开驱动管理器8. BOOL CloseSM (HTwain hTwain); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄注解关闭驱动管理器9. BOOL OpenDS (HTwain hTwain); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄注解打开驱动程序10. BOOL CloseDS (HTwain hTwain); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄注解关闭驱动程序11. BOOL EnableDS (HTwain hTwain, BOOL bIsShowUI, HWND hWnd); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄bIsShowUI TRUE: 显示驱动程序界面, FALSE: 不显示hWnd 驱动程序父窗口句柄注解透过驱动程序进行扫描12. BOOL DisableDS (HTwain hTwain, BOOL bIsShowUI, HWND hWnd); 返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄bIsShowUI TRUE:驱动程序以打开界面, FALSE: 没有打开hWnd 驱动程序父窗口句柄注解使驱动程序扫描无效13. BOOL DoMemXfer(HTwain hTwain, LPBITMAPINFO lpBmpInfo, LPBYTE lpData, LPSCANDATA lpScanData);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄lpBmpInfo 指向一个BMP位图的头信息结构lpData 指向存放DIB数据空间的指针lpScanData 保留注解进行数据传送14. BOOL GetDefaultDriverName(HTwain hTwain, char *chDrvName, LPCSTR lpszNameFilter/*=NULL*/);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄chDrvName 指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter 保留注解得到默认的扫描仪驱动程序的名称15. BOOL GetFirstDriverName(HTwain hTwain, char *chDrvName, LPCSTR lpszNameFilter/*=NULL*/);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄chDrvName 指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter 保留注解得到第一个扫描仪驱动程序的名称16. BOOL GetNextDriverName)(HTwain hTwain, char *chDrvName, LPCSTR lpszNameFilter/*=NULL*/);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄chDrvName 指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter 保留注解得到下一个扫描仪驱动程序的名称17. BOOL GetCapImageType(HTwain hTwain, int &type);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄&type 将返回影像类型 注解得到影像类型TWPT_BW 黑白TWPT_GRAY 灰度TWPT_RGB 彩色18. BOOL SetCapImageType(HTwain hTwain, int type);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄type 影像类型 注解设置扫描的影像类型TWPT_BW 黑白TWPT_GRAY 灰度TWPT_RGB 彩色19. BOOL GetResRange(HTwain hTwain, int &tmin,int &tmax);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄&tmin 返回一个最小的分辨率&tmax 返回一个最大的分辨率注解得到扫描仪的扫描分辨率的范围20. BOOL SetCapXRes(HTwain hTwain, int res);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄res 扫描分辨率 注解设置扫描仪横向的扫描分辨率21. BOOL SetCapYRes(HTwain hTwain, int res);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄res 扫描分辨率 注解设置扫描仪纵向的扫描分辨率22. BOOL GetScaleRange(HTwain hTwain, double &tmin,double &tmax);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄&tmin 返回一个最小的缩放比例&tmax 返回一个最大的缩放比例注解得到影像所反比例的范围
23. BOOL SetCapXScale(HTwain hTwain, float scale);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄scale 缩放比例 注解设置影像横向的缩放比例24. BOOL SetCapYScale(HTwain hTwain, float scale);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄scale 缩放比例 注解设置影像纵向的缩放比例25. BOOL GetMaxScanArea(HTwain hTwain, float &tright,float &tbottom);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄&tright 返回一个最大扫描的宽度,单位英寸&tbottom 返回一个最大扫描的高度,单位英寸注解得到扫描仪的最大扫描范围26. BOOL SetScanSize(HTwain hTwain, float fLeft, float fTop, float fRight, float fBottom);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄fLeft 扫描范围的左边界fTop 扫描范围的上边界 fRight 扫描范围的右边界fBottom 扫描范围的下边界注解设置扫描范围,单位英寸27. TW_INT16 TwainFilter(HTwain hTwain, LPMSG lpMsg);返回值驱动程序返回的消息MSG_XFERREADY:驱动程序已准备好进行数据传输MSG_CLOSEDSREQ:参数 hTwain 扫描仪句柄lpMsg 窗口消息注解将窗口消息传递给下层驱动程序,并返回状态值。
五. ImageRWSB.dll 接口说明(略)
(完)