您好,欢迎访问三七文档
明基BenQ版权所有2003保留所有权利.Page1of1819-12-25明基扫描仪二次开发包使用说明明基电通信息技术有限公司营销总部明基BenQ版权所有2003保留所有权利.Page2of1819-12-25目录一,功能说明(3-3)二,要求说明(3-3)三,开发包文件结构说明(3-4)四,scan.Dll接口说明(4-15)五,ImageRWSB.dll接口说明(15-17)附件:使用授权协议明基BenQ版权所有2003保留所有权利.所有内容如有变化,恕不另行通告.所有其它提及之品牌名称、产品或公司名称的注册商标权归原公司所有.明基BenQ版权所有2003保留所有权利.Page3of1819-12-25一.功能说明本开发包是为明基扫描仪专门提供的,可以让用户进行二次开发的开发包。该开发包是用VC++6.0开发的动态连接库(scan.dll)。接口简单,调用方便,让您可以在最短的时间内实现对明基扫描仪的功能定制。另外,本开发包还提供给用户明基自行开发的影像文件读写库(ImageRW.dll),提供了多种影像格式的支持,让您可以方便的将扫描得到的影像数据存成各种格式(支持的文件格式有BMP,PCX,JPG,TIF,TGA,PNG)的影像文件。本开发包内还附有开发例程,即使你一点都不了解扫描仪的驱动过程,也能在很短的时间里定制出符合你要求的应用程序(当然,你需要有一定的VC++编程能力),比如说能在某个特定的区域内用特定的分辨率进行扫描。该例程还提供了如何使用汉王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:例程目录明基BenQ版权所有2003保留所有权利.Page4of1819-12-25VC++例程\document:说明文件目录明基扫描仪开发包说明.doc:本说明文件四.Scan.dll接口说明初始化函数1.HINSTANCEInitTwainDLL(LPCTSTRszDLLName);返回值如果成功返回Scan.dll的句柄,失败为NULL。参数szDllName指向scan.dll的绝对路径名注解该接口函数必须第一个被调用成功,如果调用失败请检查路径名是否书写正确,或文件是否真的存在。2.VOIDFreeTwainDLL(HINSTANCEhInst);返回值无参数hInstScan.dll的句柄。注解该函数必须在程序推出时被调用,释放scan.dll资源。明基BenQ版权所有2003保留所有权利.Page5of1819-12-253.VOIDNewTwain(Htwain*phTwain);返回值无参数phTwain指向扫描仪句柄的指针注解创建控制明基扫描仪的句柄4.VOIDFreeTwainDLL(HTwainhTwain);返回值无参数hTwain扫描仪句柄注解创建控制明基扫描仪的句柄5.BOOLLoadSM(HTwainhTwain);返回值明基BenQ版权所有2003保留所有权利.Page6of1819-12-25成功TRUE,失败FALSE参数hTwain扫描仪句柄注解载入驱动管理器6.BOOLUnloadSM(HTwainhTwain);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄注解卸载驱动管理器7.BOOLOpenSM(HTwainhTwain);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄注解打开驱动管理器8.BOOLCloseSM(HTwainhTwain);明基BenQ版权所有2003保留所有权利.Page7of1819-12-25返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄注解关闭驱动管理器9.BOOLOpenDS(HTwainhTwain);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄注解打开驱动程序10.BOOLCloseDS(HTwainhTwain);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄注解关闭驱动程序明基BenQ版权所有2003保留所有权利.Page8of1819-12-2511.BOOLEnableDS(HTwainhTwain,BOOLbIsShowUI,HWNDhWnd);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄bIsShowUITRUE:显示驱动程序界面,FALSE:不显示hWnd驱动程序父窗口句柄注解透过驱动程序进行扫描12.BOOLDisableDS(HTwainhTwain,BOOLbIsShowUI,HWNDhWnd);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄bIsShowUITRUE:驱动程序以打开界面,FALSE:没有打开hWnd驱动程序父窗口句柄注解使驱动程序扫描无效明基BenQ版权所有2003保留所有权利.Page9of1819-12-2513.BOOLDoMemXfer(HTwainhTwain,LPBITMAPINFOlpBmpInfo,LPBYTElpData,LPSCANDATAlpScanData);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄lpBmpInfo指向一个BMP位图的头信息结构lpData指向存放DIB数据空间的指针lpScanData保留注解进行数据传送14.BOOLGetDefaultDriverName(HTwainhTwain,char*chDrvName,LPCSTRlpszNameFilter/*=NULL*/);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄chDrvName指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter保留明基BenQ版权所有2003保留所有权利.Page10of1819-12-25注解得到默认的扫描仪驱动程序的名称15.BOOLGetFirstDriverName(HTwainhTwain,char*chDrvName,LPCSTRlpszNameFilter/*=NULL*/);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄chDrvName指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter保留注解得到第一个扫描仪驱动程序的名称16.BOOLGetNextDriverName)(HTwainhTwain,char*chDrvName,LPCSTRlpszNameFilter/*=NULL*/);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄chDrvName指向一个字符串,将返回扫描仪驱动程序名称lpszNameFilter保留注解明基BenQ版权所有2003保留所有权利.Page11of1819-12-25得到下一个扫描仪驱动程序的名称17.BOOLGetCapImageType(HTwainhTwain,int&type);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄&type将返回影像类型注解得到影像类型TWPT_BW黑白TWPT_GRAY灰度TWPT_RGB彩色18.BOOLSetCapImageType(HTwainhTwain,inttype);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄type影像类型注解设置扫描的影像类型TWPT_BW黑白TWPT_GRAY灰度TWPT_RGB彩色19.BOOLGetResRange(HTwainhTwain,int&tmin,int&tmax);明基BenQ版权所有2003保留所有权利.Page12of1819-12-25返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄&tmin返回一个最小的分辨率&tmax返回一个最大的分辨率注解得到扫描仪的扫描分辨率的范围20.BOOLSetCapXRes(HTwainhTwain,intres);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄res扫描分辨率注解设置扫描仪横向的扫描分辨率21.BOOLSetCapYRes(HTwainhTwain,intres);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄res扫描分辨率明基BenQ版权所有2003保留所有权利.Page13of1819-12-25注解设置扫描仪纵向的扫描分辨率22.BOOLGetScaleRange(HTwainhTwain,double&tmin,double&tmax);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄&tmin返回一个最小的缩放比例&tmax返回一个最大的缩放比例注解得到影像所反比例的范围23.BOOLSetCapXScale(HTwainhTwain,floatscale);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄scale缩放比例注解设置影像横向的缩放比例24.BOOLSetCapYScale(HTwainhTwain,floatscale);明基BenQ版权所有2003保留所有权利.Page14of1819-12-25返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄scale缩放比例注解设置影像纵向的缩放比例25.BOOLGetMaxScanArea(HTwainhTwain,float&tright,float&tbottom);返回值成功TRUE,失败FALSE参数hTwain扫描仪句柄&tright返回一个最大扫描的宽度,单位英寸&tbottom返回一个最大扫描的高度,单位英寸注解得到扫描仪的最大扫描范围26.BOOLSetScanSize(HTwainhTwain,floatfLeft,floatfTop,floatfRight,floatfBottom);返回值明基BenQ版权所有2003保留所有权利.Page15of1819-12-25成功TRUE,失败FALSE参数hTwain扫描仪句柄fLeft扫描范围的左边界fTop扫描范围的上边界fRight扫描范围的右边界fBottom扫描范围的下边界注解设置扫描范围,单位英寸27.TW_INT16TwainFilter(HTwainhTwain,LPMSGlpMsg);返回值驱动程序返回的消息MSG_XFERREADY:驱动程序已准备好进行数据传输MSG_CLOSEDSREQ:参数hTwain扫描仪句柄lpMsg窗口消息注解将窗口消息传递给下层驱动程序,并返回状态值。五.ImageRWSB.dll接口说明该DLL的接口以类的形式提供给用户CImageRW类成员明基BenQ版权所有2003保留所有权利.Page16of1819-12-25构造函数CImageRW();CImageRW(constchar*filename);~CImageRW();属性DWORDGetImageSize(constchar*filename);返回值影像文件的大小,即有多少个字节单位参数filename字符串指针注解得到影像文件的大小VOIDGetLastErrorMessage(char*szBuf);返回值参数szBuf字符串指针注解得到最后的错误信息执行函数BOOLWriteImage(constchar*filename,LPBITMAPINFOpInfo,
本文标题:明基仪二次开发包
链接地址:https://www.777doc.com/doc-2311656 .html