Merge branch 'master' of http://192.168.100.140:8099/sane/code_app
This commit is contained in:
commit
475e3763f2
|
@ -3,7 +3,6 @@
|
|||
#include <stdlib.h>
|
||||
#include <thread>
|
||||
#include "HGScannerLib.h"
|
||||
#include "sane_option_definitions.h"
|
||||
|
||||
#define DELEAY_MS(x) std::this_thread::sleep_for(std::chrono::milliseconds((x)))
|
||||
using namespace std;
|
||||
|
@ -58,59 +57,59 @@ int main(unsigned char argc, unsigned char *argv[])
|
|||
{
|
||||
|
||||
HGUInt grpCount = 0;
|
||||
HGLibDeviceGetParamGroup *groups = HGLib_GetDeviceParamGroupList(dev, &grpCount);
|
||||
HGLibDeviceParamGroup *groups = HGLib_GetDeviceParamGroupList(dev, &grpCount);
|
||||
if (groups)
|
||||
{
|
||||
//获取sdk支持的功能项及配置项内容
|
||||
for (size_t i = 0; i < grpCount; i++)
|
||||
{
|
||||
cout << groups[i].groupName << endl;
|
||||
cout << "group: " << groups[i].group << endl;
|
||||
for (size_t j = 0; j < groups[i].paramCount; j++)
|
||||
{
|
||||
cout << " title: " << groups[i].param[j].param.title
|
||||
<< " type: " << groups[i].param[j].param.type << endl;
|
||||
cout << " option: " << groups[i].param[j].option
|
||||
<< " type: " << groups[i].param[j].type << endl;
|
||||
switch (groups[i].param[j].rangeType)
|
||||
{
|
||||
case HGLIB_DEVPARAM_RANGETYPE_INTLIST:
|
||||
case HGLIB_OPTION_VALUERANGETYPE_INTLIST:
|
||||
for (size_t k = 0; k < groups[i].param[j].intValueList.count; k++)
|
||||
{
|
||||
cout<<"support value["<<k<<"]="<<groups[i].param[j].intValueList.value[k]<<endl;
|
||||
}
|
||||
break;
|
||||
case HGLIB_DEVPARAM_RANGETYPE_STRINGLIST:
|
||||
for (size_t k = 0; k < groups[i].param[j].stringValueList.count; k++)
|
||||
case HGLIB_OPTION_VALUERANGETYPE_ENUMLIST:
|
||||
for (size_t k = 0; k < groups[i].param[j].enumValueList.count; k++)
|
||||
{
|
||||
cout<<"support value["<<k<<"]="<<groups[i].param[j].stringValueList.value[k]<<endl;
|
||||
cout<<"support value["<<k<<"]="<<groups[i].param[j].enumValueList.value[k]<<endl;
|
||||
}
|
||||
break;
|
||||
case HGLIB_DEVPARAM_RANGETYPE_DOUBLELIST:
|
||||
case HGLIB_OPTION_VALUERANGETYPE_DOUBLELIST:
|
||||
for (size_t k = 0; k < groups[i].param[j].doubleValueList.count; k++)
|
||||
{
|
||||
cout<<"support value["<<k<<"]="<<groups[i].param[j].doubleValueList.value[k]<<endl;
|
||||
}
|
||||
break;
|
||||
case HGLIB_DEVPARAM_RANGETYPE_INTRANGE:
|
||||
case HGLIB_OPTION_VALUERANGETYPE_INTRANGE:
|
||||
cout<<"support value range min = "<<groups[i].param[j].intValueRange.minValue <<" max = "<<groups[i].param[j].intValueRange.maxValue<<endl;
|
||||
break;
|
||||
case HGLIB_DEVPARAM_RANGETYPE_DOUBLERANGE:
|
||||
case HGLIB_OPTION_VALUERANGETYPE_DOUBLERANGE:
|
||||
cout<<"support value range min = "<<groups[i].param[j].intValueRange.minValue <<" max = "<<groups[i].param[j].intValueRange.maxValue<<endl;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (groups[i].param[j].param.type)
|
||||
switch (groups[i].param[j].type)
|
||||
{
|
||||
case HGLIB_DEVPARAM_TYPE_INT:
|
||||
cout << " intValue: " << groups[i].param[j].param.intValue << endl;
|
||||
case HGLIB_OPTION_VALUETYPE_INT:
|
||||
cout << " intValue: " << groups[i].param[j].intValue << endl;
|
||||
break;
|
||||
case HGLIB_DEVPARAM_TYPE_STRING:
|
||||
cout << " stringValue: " << groups[i].param[j].param.stringValue << endl;
|
||||
case HGLIB_OPTION_VALUETYPE_ENUM:
|
||||
cout << " enumValue: " << groups[i].param[j].enumValue << endl;
|
||||
break;
|
||||
case HGLIB_DEVPARAM_TYPE_DOUBLE:
|
||||
cout << " doubleValue: " << groups[i].param[j].param.doubleValue << endl;
|
||||
case HGLIB_OPTION_VALUETYPE_DOUBLE:
|
||||
cout << " doubleValue: " << groups[i].param[j].doubleValue << endl;
|
||||
break;
|
||||
case HGLIB_DEVPARAM_TYPE_BOOL:
|
||||
cout << " boolValue: " << groups[i].param[j].param.boolValue << endl;
|
||||
case HGLIB_OPTION_VALUETYPE_BOOL:
|
||||
cout << " boolValue: " << groups[i].param[j].boolValue << endl;
|
||||
break;
|
||||
default:
|
||||
cout << "unkownun type" << endl;
|
||||
|
@ -119,55 +118,39 @@ int main(unsigned char argc, unsigned char *argv[])
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
HGInt intValue;
|
||||
HGUInt enumValue;
|
||||
HGDouble doubleValue;
|
||||
HGBool boolValue;
|
||||
|
||||
//设置颜色模式
|
||||
HGLibDeviceSetParam setparam;
|
||||
setparam.title = OPTION_TITLE_YSMS;
|
||||
setparam.type = HGLIB_DEVPARAM_TYPE_STRING;
|
||||
setparam.stringValue = OPTION_VALUE_YSMS_HB;
|
||||
HGLib_SetDeviceParam(dev,&setparam,1);
|
||||
enumValue = HGLIB_OPTION_ENUMVALUE_YSMS_HB;
|
||||
HGLib_SetDeviceParam(dev,HGLIB_OPTION_NAME_YSMS,&enumValue);
|
||||
|
||||
//设置分辨率
|
||||
setparam.title = OPTION_TITLE_FBL;
|
||||
setparam.type = HGLIB_DEVPARAM_TYPE_INT;
|
||||
setparam.intValue = 300;
|
||||
HGLib_SetDeviceParam(dev,&setparam,1);
|
||||
intValue = 300;
|
||||
HGLib_SetDeviceParam(dev,HGLIB_OPTION_NAME_FBL,&intValue);
|
||||
|
||||
//设置单双面或跳过空白页
|
||||
setparam.title = OPTION_TITLE_SMYM;
|
||||
setparam.type = HGLIB_DEVPARAM_TYPE_STRING;
|
||||
setparam.stringValue = OPTION_VALUE_SMYM_DM;
|
||||
HGLib_SetDeviceParam(dev,&setparam,1);
|
||||
enumValue = HGLIB_OPTION_ENUMVALUE_SMYM_DM;
|
||||
HGLib_SetDeviceParam(dev,HGLIB_OPTION_NAME_SMYM,&enumValue);
|
||||
|
||||
|
||||
//设置纸张尺寸 A3 A4 或匹配原始尺寸
|
||||
setparam.title = OPTION_TITLE_ZZCC;
|
||||
setparam.type = HGLIB_DEVPARAM_TYPE_STRING;
|
||||
setparam.stringValue = OPTION_VALUE_ZZCC_PPYSCC;//匹配原始尺寸
|
||||
enumValue = HGLIB_OPTION_ENUMVALUE_ZZCC_PPYSCC;
|
||||
HGLib_SetDeviceParam(dev,HGLIB_OPTION_NAME_ZZCC,&enumValue);
|
||||
|
||||
//设置旋转 90° 180° 270°
|
||||
setparam.title = OPTION_TITLE_WGFX;
|
||||
setparam.type = HGLIB_DEVPARAM_TYPE_STRING;
|
||||
setparam.stringValue = OPTION_VALUE_WGFX_90;
|
||||
HGLib_SetDeviceParam(dev,&setparam,1);
|
||||
|
||||
|
||||
// //设置扫描张数 -1: 连续扫描 其他:>0 指定数量扫描
|
||||
// setparam.title = OPTION_TITLE_SMZS;
|
||||
// setparam.type = HGLIB_DEVPARAM_TYPE_STRING;
|
||||
// setparam.stringValue = OPTION_VALUE_SMZS_LXSM;//连续扫描
|
||||
// HGLib_SetDeviceParam(dev,&setparam,1);
|
||||
|
||||
|
||||
setparam.title = OPTION_TITLE_SMZS;
|
||||
setparam.type = HGLIB_DEVPARAM_TYPE_STRING;
|
||||
setparam.stringValue = OPTION_VALUE_SMZS_SMZDZS;//指定张数扫描
|
||||
HGLib_SetDeviceParam(dev,&setparam,1);
|
||||
|
||||
setparam.title = OPTION_TITLE_SMSL;
|
||||
setparam.type = HGLIB_DEVPARAM_TYPE_INT;
|
||||
setparam.intValue = 1;//扫描张数
|
||||
HGLib_SetDeviceParam(dev,&setparam,1);
|
||||
enumValue = HGLIB_OPTION_ENUMVALUE_WGFX_90;
|
||||
HGLib_SetDeviceParam(dev,HGLIB_OPTION_NAME_WGFX,&enumValue);
|
||||
|
||||
// 扫描指定张数
|
||||
enumValue = HGLIB_OPTION_ENUMVALUE_SMZS_SMZDZS;
|
||||
HGLib_SetDeviceParam(dev,HGLIB_OPTION_NAME_SMZS,&enumValue);
|
||||
intValue = 1;
|
||||
HGLib_SetDeviceParam(dev,HGLIB_OPTION_NAME_SMSL,&intValue);
|
||||
|
||||
if (HGLib_StartDeviceScan(dev, DeviceScanEvent, 0, DeviceScanImageFunc, 0)) //开始启动扫描并注册扫描事件以及图像回调
|
||||
{
|
||||
DELEAY_MS(10000); //实际走纸延时等待处理
|
||||
|
|
Loading…
Reference in New Issue