1、明基扫描仪二次开发包明基扫描仪二次开发包使用说明明基电通信息技术有限公司营销总部目录一,功能说明(3-3)二,要求说明(3-3)三,开发包文件结构说明(3-4)四,scan.Dll接口说明(4-15)五,ImageRWSB.dll 接口说明(15-17)附件:使用授权协议明基BenQ版权所有2003 保留所有权利. 所有内容如有变化,恕不另行通告. 所有其它提及之品牌名称、 产品或公司名称的注册商标权归原公司所有.一 功能说明本开发包是为明基扫描仪专门提供的,可以让用户进行二次开发的开发包。该开发包是用VC+ 6.0开发的动态连接库(scan.dll)。接口简单,调用方便,让您可以在最短的时间
2、内实现对明基扫描仪的功能定制。另外,本开发包还提供给用户明基自行开发的影像文件读写库(ImageRW.dll),提供了多种影像格式的支持,让您可以方便的将扫描得到的影像数据存成各种格式(支持的文件格式有BMP, PCX, JPG, TIF, TGA, PNG)的影像文件。本开发包内还附有开发例程,即使你一点都不了解扫描仪的驱动过程, 也能在很短的时间里定制出符合你要求的应用程序(当然,你需要有一定的VC+编程能力), 比如说能在某个特定的区域内用特定的分辨率进行扫描。该例程还提供了如何使用汉王OCR实现文字识别的演示。二 要求说明此开发包需要配合明基提供之扫描仪设备以及设备驱动程序方可使用,使
3、用前,请确认扫描仪设备已经正确安装并工作。三 开发包文件结构说明SDK: 根目录Include: 头文件目录(需要把该目录添加到你得VC开发环境中) TwainExport.h: scan.dll的接口定义 twain.h: 标准影像设备数据结构类型定义 ImageRW.h: 图像文件读写接口定义library: 库文件目录(需要把该目录添加到你得VC开发环境中) ImgRWSB.lib:图像文件读写接口库Src: 源文件目录 TwainExport.cpp:Bin: 动态连接库目录 Scan.dll: 扫描仪驱动接口动态连接库 Formatdll.dll 图像文件读写动态连接库Sample:
4、 例程目录 VC+ 例程document: 说明文件目录 明基扫描仪开发包说明.doc: 本说明文件四 Scan.dll接口说明初始化函数1. HINSTANCE InitTwainDLL(LPCTSTR szDLLName);返回值如果成功返回Scan.dll的句柄,失败为NULL。参数szDllName 指向scan.dll的绝对路径名注解该接口函数必须第一个被调用成功,如果调用失败请检查路径名是否书写正确,或文件是否真的存在。 2. VOID FreeTwainDLL(HINSTANCE hInst); 返回值无参数 hInst Scan.dll的句柄。注解该函数必须在程序推出时被调用,
5、释放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 扫描仪
6、句柄注解卸载驱动管理器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 扫描仪句柄
7、注解关闭驱动程序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: 没有打开hW
8、nd 驱动程序父窗口句柄注解使驱动程序扫描无效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 lpszNameFilt
9、er/*=NULL*/);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄chDrvName 指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter 保留注解得到默认的扫描仪驱动程序的名称15. BOOL GetFirstDriverName(HTwain hTwain, char *chDrvName, LPCSTR lpszNameFilter/*=NULL*/);返回值成功TRUE, 失败FALSE参数 hTwain 扫描仪句柄chDrvName 指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter 保留注解得到第一个扫描仪驱动程序的名称1
10、6. 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_B
11、W 黑白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 返回一个最大的分辨率注解得到扫描仪的扫描分辨率的
12、范围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 扫
13、描仪句柄&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 hTwa
14、in, 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 扫描范围的右边界fBo
15、ttom 扫描范围的下边界注解设置扫描范围,单位英寸27. TW_INT16 TwainFilter(HTwain hTwain, LPMSG lpMsg);返回值驱动程序返回的消息MSG_XFERREADY:驱动程序已准备好进行数据传输MSG_CLOSEDSREQ:参数 hTwain 扫描仪句柄lpMsg 窗口消息注解将窗口消息传递给下层驱动程序,并返回状态值。五 ImageRWSB.dll 接口说明该DLL的接口以类的形式提供给用户CImageRW 类成员 构造函数 CImageRW(); CImageRW(const char* filename); CImageRW();属性DWORD
16、 GetImageSize(const char* filename);返回值影像文件的大小,即有多少个字节单位 参数 filename 字符串指针注解得到影像文件的大小VOID GetLastErrorMessage(char* szBuf);返回值参数 szBuf 字符串指针注解得到最后的错误信息执行函数BOOL WriteImage (const char* filename, LPBITMAPINFO pInfo,LPBYTE pData);返回值成功TRUE, 失败FALSE 参数filename 字符串指针, 指向一个欲生成的影像文件的完全路径名pInfo BITMAPINFO的结
17、构指针pData 指向一个DIB的指针注解根据文件路径名及扩展名,生成指定格式的图形文件。提供的文件格式有BMP, PCX, JPG, TIF, TGA, PNG.BOOL ReadImage(const char* filename,LPBITMAPINFO pInfo,LPBYTE pData);返回值成功TRUE, 失败FALSE 参数filename 字符串指针, 指向一个欲读取的影像文件的完全路径名pInfo BITMAPINFO的结构指针pData 指向一个DIB的指针,当该指针为空时将只返回pInfo的信息注解根据文件路径名及扩展名,读取指定格式的图形文件。支持的文件格式有BMP
18、, PCX, JPG, TIF, TGA, PNG.明基BenQ版权所有2003 保留所有权利. 所有内容如有变化,恕不另行通告. 所有其它提及之品牌名称、 产品或公司名称的注册商标权归原公司所有.附:明基扫描仪驱动软件开发包使用授权书下载使用之前请仔细阅读下列文字! 很重要在下载使用本站提供的任何文档和程序之前请仔细阅读本文!下载或使用任何程序或文档即表示你已经同意此协议。如果不同意此协议,请不要下载使用本站提供的任何程序或是在线文档,并删除已经下载之任何资料和数据。 软件授权协议 明基电通信息技术有限公司(简称“明基BenQ”)根据如下的协议授权你按照本协议下载使用本站提供的程序和在线文档
19、! 协议在此协议下,你被明基BenQ授权使用本站提供的程序和文档,但仅限于随明基BenQ产品使用,禁止用于其它任何商业用途,禁止再次授权或分发。 你同意不更改或反编译任何程序和文件的部分或全部,除非得到明基BenQ事先的书面授权或特别申明许可。 你同意不在本协议框架范围外下载使用本站提供的程序和文档。 此协议在正式终止前将一直有效。如果你要终止此协议请向明基BenQ提供书面通知。如果你无法遵守此协议,明基BenQ有权要求你终止此协议。一旦协议终止,请删除和销毁你所得到的程序和文档,包括程序和文档的全部复制品,除此之外,你也将不具备对程序和文档的追索权。 你同意自行承担使用本程序或文档所导致的任何可能的风险和后果。 你知道的本程序和文档的相关知识产权归明基BenQ所有,所有提及的各产品名称、注册商标的所有权利归各公司所有。 如果对此协议有任何疑问,请联系明基BenQ:江苏苏州新区狮山路98号(215011) 明基电通信息技术有限公司 你确定已经阅读并完全明白此协议的全部内容和含义。 (请自行保存此协议以备将来的参考!)(完)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1