LTwain: FindFastConfig

# include“ltwrappr.h”

虚拟L_INTLTwain::FindFastConfig(pszWorkingFolder, uFlags, nBitsPerPixel, nBufferIteration, pInFastConfigs, nInFastConfigsCount, ppTestConfigs, pnTestConfigsCount, pOutBestConfig, uStructSize)

确定最佳扫描器配置。

该函数可在文档/医疗工具包。

参数

L_TCHAR* pszWorkingFolder

字符串,包含保存测试图像的工作文件夹的路径。

L_UINTuFlags

控制用户界面的显示和函数操作的标志。可能取值为:

价值 意义
LTWAIN_SHOW_USER_INTERFACE [0x0001]显示制造商的用户界面为非模态。
LTWAIN_MODAL_USER_INTERFACE [0x0002]以模态对话框的形式显示制造商的用户界面。只有设置了LTWAIN_SHOW_USER_INTERFACE标志才有效。
LTWAIN_USE_THREAD_MODE [0x0008]使用快速线程模式。
LTWAIN_CHECK_ALL_DEFAULT_BPP [0x0010]测试所有支持的BPP。
LTWAIN_KEEPOPEN [0x0020]扫描后保持TWAIN数据源打开。
LTWAIN_SUPPRESS_MESSAGE_BOXES [0x0100]禁止在制造商的用户界面对话框之前显示的消息框

L_INTnBitsPerPixel

结果文件的像素深度。注意,并不是所有的像素位都适用于所有的文件格式。有效值请参见输出文件格式.如果nBitsPerPixel为0,文件将使用该格式支持的最接近的每像素位值存储。

L_INTnBufferIteration

此值用于确定将测试的内存配置的数量。该参数的最大值为10。

pFASTCONFIGpInFastConfigs

指向FASTCONFIG结构,该结构包含要测试的扫描配置数组。传递NULL以测试默认的扫描配置。

L_INTnInFastConfigsCount

pInFastConfigs中引用的扫描配置的个数。通过0测试默认扫描配置。

pFASTCONFIG* ppTestConfigs

指针的地址FASTCONFIG结构。该函数将使用测试配置的总数自动分配FASTCONFIG结构数组。

L_INT* pnTestConfigsCount

指向要用测试配置的数量更新的整数变量的指针。

pFASTCONFIGpOutBestConfig

指向FASTCONFIG结构将更新为扫描器的最佳配置。

L_UINTuStructSize

属性的大小FASTCONFIG结构,以字节为单位,用于版本控制。使用sizeof (FASTCONFIG)。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

此函数将测试调用所选扫描仪的扫描配置LTwain: SelectSource.它将用测试的最佳扫描配置更新pOutBestConfig参数。一旦确定了最佳扫描配置,就可以传递给传输模式、每像素位、格式和缓冲区大小的扫描配置值LTwain: AcquireMultiLTwain: FastAcquire这样图像就能尽快被扫描。

如果要测试用户定义/自定义配置,需要将这些配置传递到pinfastconfigconfigcount中,并将配置数量传递到nInFastConfigsCount中。

要测试TWAIN驱动程序可用的默认配置,pInFastConfigs为NULL, nInFastConfigsCount为0。在这种情况下,该函数将基于传入nBitsPerPixel和nBufferIteration参数的值测试扫描配置。

属性可以缩短要测试的默认扫描配置列表LTwain: GetScanConfigs函数获取基于传输模式、每像素位和缓冲区数量的默认扫描配置列表。然后可以将该列表传递给LTwain::FindFastConfig,以确定最佳和最快的扫描配置。

如果在uFlags中设置了LTWAIN_CHECK_ALL_DEFAULT_BPP,那么该函数将测试所选扫描仪的每像素支持的所有位。如果这个标志没有在uFlags中设置,那么函数将使用iBitsPerPixel参数值。

如果在uFlags中设置了LTWAIN_USE_THREAD_MODE,那么图像采集过程将以线程模式运行。在某些扫描仪中,在线程中获取图像将提高获取图像的速度。在其他扫描器(例如高速扫描器)中,以线程模式获取图像将对获取图像的速度提供很少或没有改善。

只有当测试的扫描配置的传输模式是LTWAIN_BUFFER_MODE或LTWAIN_NATIVE_MODE时,才会使用nBitsPerPixel参数和LTWAIN_CHECK_ALL_DEFAULT_BPP标志。

只有当测试的扫描配置的传输模式是LTWAIN_BUFFER_MODE时,才会使用nBufferIteration参数。

如果你重写LTwain: FindFastConfigCallBack函数,则可以通过为回调函数返回除SUCCESS之外的任何值来停止扫描配置测试过程。通过为回调函数返回SUCCESS继续测试过程。

这个函数在ppTestConfigs中为扫描配置数组分配存储空间。当不再需要该存储时,通过调用释放该存储LTwain: FreeScanConfig

LTWAIN_KEEPOPEN标志只在以下情况下有效:

  1. 与LTWAIN_SHOW_USER_INTERFACE标志一起传递,使TWAIN用户界面显示为非模态对话框。TWAIN数据源在扫描后保持打开状态,直到用户关闭它。
  2. 与LTWAIN_SHOW_USER_INTERFACE和LTWAIN_MODAL_USER_INTERFACE标志一起传递,使TWAIN用户界面显示为模态对话框。TWAIN数据源在扫描后保持打开状态,直到用户关闭它。

此函数在运行时显示一些助手消息框,指导用户完成正在运行的测试。为了抑制这些消息,传递LTWAIN_SUPPRESS_MESSAGE_BOXES标志,这些消息将停止出现。

必需的dll和库

另请参阅

功能

主题

例子

//通过LTwain::InitSession初始化会话并调用该函数CMyTwain::FindFastConfigCallBack(pFASTCONFIG pResConfig)L_TCHAR szBuffer [MAX_PATH];如果(pResConfig - > bSuccess)memset (szBuffer 0运算符(szBuffer));wsprintf (szBuffer文本("传输模式= %d\n文件格式= %d\n缓冲区大小= %d\n所需时间= %d\n"),pResConfig - > uTransferMode,pResConfig - > nFileFormat,pResConfig - > ulBufferSize,pResConfig - > uTime);消息框(NULL, szBuffer, TEXT(“结果扫描配置…”), MB_OK);其他的对话框(NULL,文本("测试配置失败"),文本(“错误!”), MB_OK);返回成功;L_INT LTwain__FindFastConfigExample(HWND HWND, CMyTwain *MyClass)L_INT nRet;pFASTCONFIG pTestConfigs = NULL;L_INT nTestConfigsCount = 0;pFASTCONFIG pFASTCONFIG =零;L_INT nFastConfigCount;FASTCONFIG BestConfig;L_TCHAR szBuffer [MAX_PATH];MyClass - > EnableCallBack(真正的);nRet = MyClass->GetScanConfigs (1, LTWAIN_BUFFER_MODE, 5, &pFastConfig,运算符(FASTCONFIG) &nFastConfigCount);如果(nRet != SUCCESS)对话框(hWnd,文本("获取内存传输模式的扫描配置时发生错误!!"),文本(“错误! !”), MB_OK);返回nRet;memset (&BestConfig 0运算符(FASTCONFIG));nRet = MyClass->FindFastConfig(MAKE_IMAGE_PATH(TEXT("")),LTWAIN_SHOW_USER_INTERFACE,1,5,pFastConfig nFastConfigCount,&pTestConfigs,&nTestConfigsCount,&BestConfig,运算符(FASTCONFIG));如果(nRet == SUCCESS)对话框(hWnd,文本("LTwain::FindFastConfig函数成功。"),文本(“通知”), MB_OK);memset (szBuffer 0运算符(szBuffer));wsprintf (szBuffer文本("传输模式= %d\n文件格式= %d\n缓冲区大小= %d\n所需时间= %d\n"),BestConfig.uTransferMode,BestConfig.nFileFormat,BestConfig.ulBufferSize,BestConfig.uTime);消息框(hWnd, szBuffer, TEXT(“最佳扫描配置…”), MB_OK);MyClass - > FreeScanConfig (&pTestConfigs nTestConfigsCount);其他的对话框(hWnd,文本(" L_TwainFindFastConfig函数出错!!"),文本(“错误! !”), MB_OK);返回nRet;nRet = MyClass->FreeScanConfig(&pFastConfig, nFastConfigCount);如果(nRet != SUCCESS)返回nRet;返回成功;
LEADTOOLS TWAIN c++类库帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。