This commit is contained in:
luoliangyi 2023-04-03 13:58:43 +08:00
parent b587f1058e
commit 57d9ffc3fe
3 changed files with 230 additions and 230 deletions

View File

@ -1,4 +1,4 @@
#ifndef __HGLIBDEVICEIMPL_HPP__
#ifndef __HGLIBDEVICEIMPL_HPP__
#define __HGLIBDEVICEIMPL_HPP__
#include "HGScannerLib.h"

View File

@ -1,4 +1,4 @@
#include "HGScannerLib.h"
#include "HGScannerLib.h"
#include "base/HGInc.h"
#include "base/HGImage.h"
#include "imgfmt/HGImgFmt.h"
@ -10,11 +10,11 @@
#pragma pack(4)
struct HGLibSaveImageParam_V1
{
HGUInt size; /* 结构体大小 */
HGUInt jpegQuality; /* jpeg下有效, 0-100 */
HGUInt tiffCompression; /* tiff下有效, HGLIB_TIFFCOMPRESSION_* */
HGUInt tiffJpegQuality; /* tiff且HGLIB_TIFFCOMPRESSION_JPEG下有效, 0-100 */
HGBool ocr; /* 是否OCRpdf和ofd格式有效 */
HGUInt size; /* 结构体大小 */
HGUInt jpegQuality; /* jpeg下有效, 0-100 */
HGUInt tiffCompression; /* tiff下有效, HGLIB_TIFFCOMPRESSION_* */
HGUInt tiffJpegQuality; /* tiff且HGLIB_TIFFCOMPRESSION_JPEG下有效, 0-100 */
HGBool ocr; /* 是否OCRpdf和ofd格式有效 */
};
#pragma pack(pop)

View File

@ -1,4 +1,4 @@
#ifndef __HGSCANNERLIB_H__
#ifndef __HGSCANNERLIB_H__
#define __HGSCANNERLIB_H__
#include "HGDef.h"
@ -6,30 +6,30 @@
HG_DECLARE_HANDLE(HGLibImage);
HG_DECLARE_HANDLE(HGLibDevice);
/* 1位黑白图 */
/* 1位黑白图 */
#define HGLIB_IMGTYPE_BINARY 1L
/* 8位灰度图 */
/* 8位灰度图 */
#define HGLIB_IMGTYPE_GRAY 2L
/* 24位真彩色B8G8R8格式 */
/* 24位真彩色B8G8R8格式 */
#define HGLIB_IMGTYPE_BGR 3L
/* 24位真彩色R8G8B8格式 */
/* 24位真彩色R8G8B8格式 */
#define HGLIB_IMGTYPE_RGB 4L
/* 32位真彩色带Alpha通道B8G8R8A8格式 */
/* 32位真彩色带Alpha通道B8G8R8A8格式 */
#define HGLIB_IMGTYPE_BGRA 5L
/* 32位真彩色带Alpha通道R8G8B8A8格式 */
/* 32位真彩色带Alpha通道R8G8B8A8格式 */
#define HGLIB_IMGTYPE_RGBA 6L
/* 图像数据保存方式 */
/* 图像数据保存方式 */
#define HGLIB_IMGORIGIN_TOP 1L
#define HGLIB_IMGORIGIN_BOTTOM 2L
/* TIFF压缩方式 */
/* TIFF压缩方式 */
#define HGLIB_TIFFCOMPRESSION_NONE 1L
#define HGLIB_TIFFCOMPRESSION_CCITTFAX4 2L
#define HGLIB_TIFFCOMPRESSION_LZW 3L
#define HGLIB_TIFFCOMPRESSION_JPEG 4L
/* 设备操作码 */
/* 设备操作码 */
#define HGLIB_DEV_OPERATECODE_GOOD 0L
#define HGLIB_DEV_OPERATECODE_UNSUPPORTED 1L
#define HGLIB_DEV_OPERATECODE_CANCELLED 2L
@ -43,357 +43,357 @@ HG_DECLARE_HANDLE(HGLibDevice);
#define HGLIB_DEV_OPERATECODE_NO_MEM 10L
#define HGLIB_DEV_OPERATECODE_ACCESS_DENIED 11L
/* 设备热拔插事件 */
/* 设备热拔插事件 */
#define HGLIB_DEVHOTPLUG_EVENT_ARRIVE 1L
#define HGLIB_DEVHOTPLUG_EVENT_REMOVE 2L
/* 设备扫描事件 */
/* 设备扫描事件 */
#define HGLIB_DEVSCAN_EVENT_BEGIN 1L
#define HGLIB_DEVSCAN_EVENT_END 2L
#define HGLIB_DEVSCAN_EVENT_INFO 3L
/* 组名 */
// 基本设置
/* 组名 */
// 基本设置
#define HGLIB_GROUP_NAME_BASESETTING 1L
// 亮度
// 亮度
#define HGLIB_GROUP_NAME_BRIGHTNESS 2L
// 图像处理
// 图像处理
#define HGLIB_GROUP_NAME_IMAGEPROCESS 3L
// 送纸方式设置
// 送纸方式设置
#define HGLIB_GROUP_NAME_PAPERFEEDING 4L
/* 配置名 */
/* 配置名 */
#define HGLIB_OPTION_NAME_UNKNOWN 0L
// "多流输出"
// "多流输出"
#define HGLIB_OPTION_NAME_DLSC 1L
// "多流输出类型"
// "多流输出类型"
#define HGLIB_OPTION_NAME_DLSCLX 2L
// "颜色模式"
// "颜色模式"
#define HGLIB_OPTION_NAME_YSMS 3L
// "黑白图像阈值"
// "黑白图像阈值"
#define HGLIB_OPTION_NAME_HBTXYZ 4L
// "灰度或黑白图像 - 除色"
// "灰度或黑白图像 - 除色"
#define HGLIB_OPTION_NAME_HDHHBTX_CS 5L
// "24位彩色图像 - 多流输出除红"
// "24位彩色图像 - 多流输出除红"
#define HGLIB_OPTION_NAME_24WCSTX_DLSCCH 6L
// "24位彩色图像 - 答题卡除红"
// "24位彩色图像 - 答题卡除红"
#define HGLIB_OPTION_NAME_24WCSTX_DTKCH 7L
// "背景移除"
// "背景移除"
#define HGLIB_OPTION_NAME_BJYC 8L
// "背景色彩浮动范围"
// "背景色彩浮动范围"
#define HGLIB_OPTION_NAME_BJSCFDFW 9L
// "锐化与模糊"
// "锐化与模糊"
#define HGLIB_OPTION_NAME_RHYMH 10L
// "去除摩尔纹"
// "去除摩尔纹"
#define HGLIB_OPTION_NAME_QCMW 11L
// "除网纹"
// "除网纹"
#define HGLIB_OPTION_NAME_CWW 12L
// "错误扩散"
// "错误扩散"
#define HGLIB_OPTION_NAME_CWKS 13L
// "黑白图像噪点优化"
// "黑白图像噪点优化"
#define HGLIB_OPTION_NAME_HBTXZDYH 14L
// "噪点优化尺寸"
// "噪点优化尺寸"
#define HGLIB_OPTION_NAME_ZDYHCC 15L
// "纸张尺寸"
// "纸张尺寸"
#define HGLIB_OPTION_NAME_ZZCC 16L
// "自定义扫描区域"
// "自定义扫描区域"
#define HGLIB_OPTION_NAME_ZDYSMQY 17L
// "扫描区域左侧mm"
// "扫描区域左侧mm"
#define HGLIB_OPTION_NAME_SMQYZCmm 18L
// "扫描区域右侧mm"
// "扫描区域右侧mm"
#define HGLIB_OPTION_NAME_SMQYYCmm 19L
// "扫描区域上侧mm"
// "扫描区域上侧mm"
#define HGLIB_OPTION_NAME_SMQYSCmm 20L
// "扫描区域下侧mm"
// "扫描区域下侧mm"
#define HGLIB_OPTION_NAME_SMQYXCmm 21L
// "尺寸检测"
// "尺寸检测"
#define HGLIB_OPTION_NAME_CCJC 22L
// "扫描页面"
// "扫描页面"
#define HGLIB_OPTION_NAME_SMYM 23L
// "跳过空白页灵敏度"
// "跳过空白页灵敏度"
#define HGLIB_OPTION_NAME_TGKBYLMD 24L
// "分纸强度"
// "分纸强度"
#define HGLIB_OPTION_NAME_FZQD 25L
// "休眠时间"
// "休眠时间"
#define HGLIB_OPTION_NAME_XMSJ 26L
// "分辨率"
// "分辨率"
#define HGLIB_OPTION_NAME_FBL 27L
// "画质"
// "画质"
#define HGLIB_OPTION_NAME_HZ 28L
// "交换正反面"
// "交换正反面"
#define HGLIB_OPTION_NAME_JHZFM 29L
// "图像拆分"
// "图像拆分"
#define HGLIB_OPTION_NAME_TXCF 30L
// "自动纠偏"
// "自动纠偏"
#define HGLIB_OPTION_NAME_ZDJP 31L
// "启用色调曲线"
// "启用色调曲线"
#define HGLIB_OPTION_NAME_QYSDQX 32L
// "亮度值"
// "亮度值"
#define HGLIB_OPTION_NAME_LDZ 33L
// "对比度"
// "对比度"
#define HGLIB_OPTION_NAME_DBD 34L
// "伽马值"
// "伽马值"
#define HGLIB_OPTION_NAME_GMZ 35L
// "照片模式"
// "照片模式"
#define HGLIB_OPTION_NAME_ZPMS 36L
// "消除黑框"
// "消除黑框"
#define HGLIB_OPTION_NAME_XCHK 37L
// "深色样张"
// "深色样张"
#define HGLIB_OPTION_NAME_SSYZ 38L
// "阈值"
// "阈值"
#define HGLIB_OPTION_NAME_YZ 39L
// "背景抗噪等级"
// "背景抗噪等级"
#define HGLIB_OPTION_NAME_BJKZDJ 40L
// "边缘缩进"
// "边缘缩进"
#define HGLIB_OPTION_NAME_BYSJ 41L
// "背景填充方式"
// "背景填充方式"
#define HGLIB_OPTION_NAME_BJTCFS 42L
// "防止渗透"
// "防止渗透"
#define HGLIB_OPTION_NAME_FZST 43L
// "防止渗透等级"
// "防止渗透等级"
#define HGLIB_OPTION_NAME_FZSTDJ 44L
// "穿孔移除—左侧"
// "穿孔移除—左侧"
#define HGLIB_OPTION_NAME_CKYCZC 45L
// #"左侧穿孔搜索范围占幅面比例"
// #"左侧穿孔搜索范围占幅面比例"
#define HGLIB_OPTION_NAME_ZCCKSSFWZFMBL 46L
// "穿孔移除—右侧"
// "穿孔移除—右侧"
#define HGLIB_OPTION_NAME_CKYCYC 47L
// #"右侧穿孔搜索范围占幅面比例"
// #"右侧穿孔搜索范围占幅面比例"
#define HGLIB_OPTION_NAME_YCCKSSFWZFMBL 48L
// "穿孔移除—上侧"
// "穿孔移除—上侧"
#define HGLIB_OPTION_NAME_CKYCSC 49L
// #"上侧穿孔搜索范围占幅面比例"
// #"上侧穿孔搜索范围占幅面比例"
#define HGLIB_OPTION_NAME_SCCKSSFWZFMBL 50L
// "穿孔移除—下侧"
// "穿孔移除—下侧"
#define HGLIB_OPTION_NAME_CKYCXC 51L
// #"下侧穿孔搜索范围占幅面比例"
// #"下侧穿孔搜索范围占幅面比例"
#define HGLIB_OPTION_NAME_XCCKSSFWZFMBL 52L
// "色彩填充"
// "色彩填充"
#define HGLIB_OPTION_NAME_SCTC 53L
// "超声波检测"
// "超声波检测"
#define HGLIB_OPTION_NAME_CSBJC 54L
// "双张图片处理"
// "双张图片处理"
#define HGLIB_OPTION_NAME_SZTPCL 55L
// "装订检测"
// "装订检测"
#define HGLIB_OPTION_NAME_ZDJC 56L
// "扫描张数"
// "扫描张数"
#define HGLIB_OPTION_NAME_SMZS 57L
// "扫描数量"
// "扫描数量"
#define HGLIB_OPTION_NAME_SMSL 58L
// "文稿方向"
// "文稿方向"
#define HGLIB_OPTION_NAME_WGFX 59L
// "背面旋转180°"
// "背面旋转180°"
#define HGLIB_OPTION_NAME_BMXZ180 60L
// "折角检测"
// "折角检测"
#define HGLIB_OPTION_NAME_ZJJC 61L
// "折角大小"
// "折角大小"
#define HGLIB_OPTION_NAME_ZJDX 62L
// "歪斜检测"
// "歪斜检测"
#define HGLIB_OPTION_NAME_WXJC 63L
// "歪斜容忍度"
// "歪斜容忍度"
#define HGLIB_OPTION_NAME_WXRRD 64L
// 自动分纸强度
// 自动分纸强度
#define HGLIB_OPTION_NAME_ZDCZQD 65L
// 进纸失败率
// 进纸失败率
#define HGLIB_OPTION_NAME_CZYZ 66L
// 待纸扫描
// 待纸扫描
#define HGLIB_OPTION_NAME_DZSM 67L
// 黑白图像反色输出正常颜色为0 - 黑色1 - 白色)
// 黑白图像反色输出正常颜色为0 - 黑色1 - 白色)
#define HGLIB_OPTION_NAME_HBTXFSSC 68L
// 对折模式
// 对折模式
#define HGLIB_OPTION_NAME_DZMS 69L
// 色偏校正
// 色偏校正
#define HGLIB_OPTION_NAME_SPJZ 70L
// 待纸扫描退出时间
// 待纸扫描退出时间
#define HGLIB_OPTION_NAME_DZSMTCSJ 71L
/* 配置枚举值 */
// "无"
/* 配置枚举值 */
// "无"
#define HGLIB_OPTION_ENUMVALUE_DLSCLX_W 1L
// "彩色+灰度+黑白"
// "彩色+灰度+黑白"
#define HGLIB_OPTION_ENUMVALUE_DLSCLX_CS_HD_HB 2L
// "彩色+灰度"
// "彩色+灰度"
#define HGLIB_OPTION_ENUMVALUE_DLSCLX_CS_HD 3L
// "彩色+黑白"
// "彩色+黑白"
#define HGLIB_OPTION_ENUMVALUE_DLSCLX_CS_HB 4L
// "灰度+黑白"
// "灰度+黑白"
#define HGLIB_OPTION_ENUMVALUE_DLSCLX_HD_HB 5L
// "24位彩色"
// "24位彩色"
#define HGLIB_OPTION_ENUMVALUE_YSMS_24WCS 6L
// "256级灰度"
// "256级灰度"
#define HGLIB_OPTION_ENUMVALUE_YSMS_256JHD 7L
// "黑白"
// "黑白"
#define HGLIB_OPTION_ENUMVALUE_YSMS_HB 8L
// "颜色自动识别"
// "颜色自动识别"
#define HGLIB_OPTION_ENUMVALUE_YSMS_YSZDSB 9L
// "不除色"
// "不除色"
#define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_BCS 10L
// "除红色"
// "除红色"
#define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_CHS 11L
// "除绿色"
// "除绿色"
#define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_CLS 12L
// "除蓝色"
// "除蓝色"
#define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_CHULANSE 13L
// "红色增强"
// "红色增强"
#define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_HSZQ 14L
// "绿色增强"
// "绿色增强"
#define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_LSZQ 15L
// "蓝色增强"
// "蓝色增强"
#define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_LANSEZENGQIANG 16L
// "无"
// "无"
#define HGLIB_OPTION_ENUMVALUE_RHYMH_W 17L
// "锐化"
// "锐化"
#define HGLIB_OPTION_ENUMVALUE_RHYMH_RH 18L
// "进一步锐化"
// "进一步锐化"
#define HGLIB_OPTION_ENUMVALUE_RHYMH_JYBRH 19L
// "模糊"
// "模糊"
#define HGLIB_OPTION_ENUMVALUE_RHYMH_MH 20L
// "进一步模糊"
// "进一步模糊"
#define HGLIB_OPTION_ENUMVALUE_RHYMH_JYBMH 21L
// "A3"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_A3 22L
// "8开"
// "8开"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_8K 23L
// "A4"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_A4 24L
// "A4横向"
// "A4横向"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_A4HX 25L
// "16开"
// "16开"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_16K 26L
// "16开横向"
// "16开横向"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_16KHX 27L
// "A5"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_A5 28L
// "A5横向"
// "A5横向"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_A5HX 29L
// "A6"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_A6 30L
// "A6横向"
// "A6横向"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_A6HX 31L
// "B4"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_B4 32L
// "B5"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_B5 33L
// "B5横向"
// "B5横向"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_B5HX 34L
// "B6"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_B6 35L
// "B6横向"
// "B6横向"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_B6HX 36L
// "Letter"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_Letter 37L
// "Letter横向"
// "Letter横向"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_LetterHX 38L
// "Double Letter"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_DoubleLetter 39L
// "LEGAL"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_LEGAL 40L
// "匹配原始尺寸"
// "匹配原始尺寸"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_PPYSCC 41L
// "最大扫描尺寸自动裁切"
// "最大扫描尺寸自动裁切"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_ZDSMCCZDCQ 42L
// "最大扫描尺寸"
// "最大扫描尺寸"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_ZDSMCC 43L
// "三联试卷"
// "三联试卷"
#define HGLIB_OPTION_ENUMVALUE_ZZCC_SLSJ 44L
// "单面"
// "单面"
#define HGLIB_OPTION_ENUMVALUE_SMYM_DM 45L
// "双面"
// "双面"
#define HGLIB_OPTION_ENUMVALUE_SMYM_SM 46L
// "跳过空白页(通用)"
// "跳过空白页(通用)"
#define HGLIB_OPTION_ENUMVALUE_SMYM_TGKBYTY 47L
// "跳过空白页(发票纸)"
// "跳过空白页(发票纸)"
#define HGLIB_OPTION_ENUMVALUE_SMYM_TGKBYFPZ 48L
// "对折"
// "对折"
#define HGLIB_OPTION_ENUMVALUE_SMYM_DZ 49L
// "无"
// "无"
#define HGLIB_OPTION_ENUMVALUE_HZ_W 50L
// "速度优先"
// "速度优先"
#define HGLIB_OPTION_ENUMVALUE_HZ_SDYX 51L
// "画质优先"
// "画质优先"
#define HGLIB_OPTION_ENUMVALUE_HZ_HZYX 52L
// "凸多边形"
// "凸多边形"
#define HGLIB_OPTION_ENUMVALUE_BJTCFS_TDBX 53L
// "凹多边形"
// "凹多边形"
#define HGLIB_OPTION_ENUMVALUE_BJTCFS_ADBX 54L
// "弱"
// "弱"
#define HGLIB_OPTION_ENUMVALUE_FZSTDJ_R 55L
// "较弱"
// "较弱"
#define HGLIB_OPTION_ENUMVALUE_FZSTDJ_JR 56L
// "一般"
// "一般"
#define HGLIB_OPTION_ENUMVALUE_FZSTDJ_YB 57L
// "较强"
// "较强"
#define HGLIB_OPTION_ENUMVALUE_FZSTDJ_JQ 58L
// "强"
// "强"
#define HGLIB_OPTION_ENUMVALUE_FZSTDJ_Q 59L
// "丢弃图像并停止扫描"
// "丢弃图像并停止扫描"
#define HGLIB_OPTION_ENUMVALUE_SZTPCL_DQTXBTZSM 60L
// "丢弃图像并继续扫描"
// "丢弃图像并继续扫描"
#define HGLIB_OPTION_ENUMVALUE_SZTPCL_DQTXBJXSM 61L
// "上传图像并停止扫描"
// "上传图像并停止扫描"
#define HGLIB_OPTION_ENUMVALUE_SZTPCL_SCTXBTZSM 62L
// "上传图像并继续扫描"
// "上传图像并继续扫描"
#define HGLIB_OPTION_ENUMVALUE_SZTPCL_SCTXBJXSM 63L
// "连续扫描"
// "连续扫描"
#define HGLIB_OPTION_ENUMVALUE_SMZS_LXSM 64L
// "扫描指定张数"
// "扫描指定张数"
#define HGLIB_OPTION_ENUMVALUE_SMZS_SMZDZS 65L
// "0°"
// "0°"
#define HGLIB_OPTION_ENUMVALUE_WGFX_0 66L
// "90°"
// "90°"
#define HGLIB_OPTION_ENUMVALUE_WGFX_90 67L
// "180°"
// "180°"
#define HGLIB_OPTION_ENUMVALUE_WGFX_180 68L
// "-90°"
// "-90°"
#define HGLIB_OPTION_ENUMVALUE_WGFX__90 69L
// "自动文本方向识别°"
// "自动文本方向识别°"
#define HGLIB_OPTION_ENUMVALUE_WGFX_ZDWBFXSB 70L
// "分纸强度-弱"
// "分纸强度-弱"
#define HGLIB_OPTION_ENUMVALUE_FZQD_R 71L
// "分纸强度-一般"
// "分纸强度-一般"
#define HGLIB_OPTION_ENUMVALUE_FZQD_YB 72L
// "分纸强度-强"
// "分纸强度-强"
#define HGLIB_OPTION_ENUMVALUE_FZQD_Q 73L
// "不休眠"
// "不休眠"
#define HGLIB_OPTION_ENUMVALUE_XMSJ_BXM 74L
// "五分钟"
// "五分钟"
#define HGLIB_OPTION_ENUMVALUE_XMSJ_WFZ 75L
// "十分钟"
// "十分钟"
#define HGLIB_OPTION_ENUMVALUE_XMSJ_SFZ 76L
// "半小时"
// "半小时"
#define HGLIB_OPTION_ENUMVALUE_XMSJ_BXS 77L
// "一小时"
// "一小时"
#define HGLIB_OPTION_ENUMVALUE_XMSJ_YXS 78L
// "两小时"
// "两小时"
#define HGLIB_OPTION_ENUMVALUE_XMSJ_LXS 79L
// "四小时"
// "四小时"
#define HGLIB_OPTION_ENUMVALUE_XMSJ_SXS 80L
// 左右对折
// 左右对折
#define HGLIB_OPTION_ENUMVALUE_ZYDZ 81L
// 上下对折
// 上下对折
#define HGLIB_OPTION_ENUMVALUE_SXDZ 82L
// 自动对折
// 自动对折
#define HGLIB_OPTION_ENUMVALUE_ZDDZ 83L
// 待纸扫描退出时间15s
// 待纸扫描退出时间15s
#define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_15S 84L
// 待纸扫描退出时间30s
// 待纸扫描退出时间30s
#define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_30S 85L
// 待纸扫描退出时间60s
// 待纸扫描退出时间60s
#define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_60S 86L
// 待纸扫描退出时间2min
// 待纸扫描退出时间2min
#define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_2MIN 87L
// 待纸扫描退出时间4min
// 待纸扫描退出时间4min
#define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_4MIN 88L
// 待纸扫描退出时间8min
// 待纸扫描退出时间8min
#define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_8MIN 89L
/* 配置值类型 */
/* 配置值类型 */
#define HGLIB_OPTION_VALUETYPE_INT 1L
#define HGLIB_OPTION_VALUETYPE_ENUM 2L
#define HGLIB_OPTION_VALUETYPE_DOUBLE 3L
#define HGLIB_OPTION_VALUETYPE_BOOL 4L
/* 配置值范围类型 */
/* 配置值范围类型 */
#define HGLIB_OPTION_VALUERANGETYPE_NULL 0L
#define HGLIB_OPTION_VALUERANGETYPE_INTLIST 1L
#define HGLIB_OPTION_VALUERANGETYPE_ENUMLIST 2L
@ -406,21 +406,21 @@ HG_DECLARE_HANDLE(HGLibDevice);
typedef struct
{
HGUInt size; /* 结构体大小必须初始化为sizeof(HGLibSaveImageParam) */
HGUInt jpegQuality; /* jpeg下有效, 0-100 */
HGUInt tiffCompression; /* tiff下有效, HGLIB_TIFFCOMPRESSION_* */
HGUInt tiffJpegQuality; /* tiff且HGLIB_TIFFCOMPRESSION_JPEG下有效, 0-100 */
HGBool ocr; /* 是否OCRpdf和ofd格式有效 */
HGUInt size; /* 结构体大小必须初始化为sizeof(HGLibSaveImageParam) */
HGUInt jpegQuality; /* jpeg下有效, 0-100 */
HGUInt tiffCompression; /* tiff下有效, HGLIB_TIFFCOMPRESSION_* */
HGUInt tiffJpegQuality; /* tiff且HGLIB_TIFFCOMPRESSION_JPEG下有效, 0-100 */
HGBool ocr; /* 是否OCRpdf和ofd格式有效 */
}HGLibSaveImageParam;
/* 图像信息 */
/* 图像信息 */
typedef struct
{
HGUInt width; /* 宽(像素),列数 */
HGUInt height; /* 高(像素),行数 */
HGUInt type; /* 类型参见HGLIB_IMGTYPE_* */
HGUInt widthStep; /* 每行的字节数 */
HGUInt origin; /* 数据排列方式参见HGLIB_IMGORIGIN_* */
HGUInt width; /* 宽(像素),列数 */
HGUInt height; /* 高(像素),行数 */
HGUInt type; /* 类型参见HGLIB_IMGTYPE_* */
HGUInt widthStep; /* 每行的字节数 */
HGUInt origin; /* 数据排列方式参见HGLIB_IMGORIGIN_* */
}HGLibImageInfo;
typedef struct
@ -455,9 +455,9 @@ typedef struct
typedef struct
{
HGUInt option; /* 配置名, 参见HGLIB_OPTION_NAME_* */
HGUInt option; /* 配置名, 参见HGLIB_OPTION_NAME_* */
HGUInt type; /* 值类型, 参见HGLIB_OPTION_VALUETYPE_* */
HGUInt type; /* 值类型, 参见HGLIB_OPTION_VALUETYPE_* */
union
{
HGInt intValue;
@ -466,7 +466,7 @@ typedef struct
HGBool boolValue;
};
HGUInt rangeType; /* 值范围类型, 参见HGLIB_OPTION_VALUERANGETYPE_* */
HGUInt rangeType; /* 值范围类型, 参见HGLIB_OPTION_VALUERANGETYPE_* */
union
{
HGLibDeviceIntValueList intValueList;
@ -479,112 +479,112 @@ typedef struct
typedef struct
{
HGUInt group; /* 组名, 参见HGLIB_GROUP_NAME_* */
HGUInt group; /* 组名, 参见HGLIB_GROUP_NAME_* */
HGLibDeviceParam* param;
HGUInt paramCount;
}HGLibDeviceParamGroup;
#pragma pack(pop)
/* 设备热拔插回调
/* 设备热拔插回调
* event: HGLIB_DEVHOTPLUG_EVENT_*
* deviceName:
* param:
* deviceName:
* param:
*/
typedef void (HGAPI *HGLibDeviceHotPlugEventFunc)(HGUInt event, const HGChar *deviceName, HGPointer param);
/* 设备扫描事件回调
* device:
/* 设备扫描事件回调
* device:
* event: HGLIB_DEVSCAN_EVENT_*
* err: , HGLIB_DEVSCAN_EVENT_INFO下有效
* info: , HGLIB_DEVSCAN_EVENT_INFO下有效
* param:
* err: , HGLIB_DEVSCAN_EVENT_INFO下有效
* info: , HGLIB_DEVSCAN_EVENT_INFO下有效
* param:
*/
typedef void (HGAPI *HGLibDeviceScanEventFunc)(HGLibDevice device, HGUInt event, HGBool err, const HGChar *info, HGPointer param);
/* 设备扫描图像回调
* device:
* image: , HGLib_ReleaseImage释放,
* param:
/* 设备扫描图像回调
* device:
* image: , HGLib_ReleaseImage释放,
* param:
*/
typedef void (HGAPI *HGLibDeviceScanImageFunc)(HGLibDevice device, HGLibImage image, HGPointer param);
/* 加载图像 */
/* 加载图像 */
HGEXPORT HGLibImage HGAPI HGLib_LoadImage(const HGChar *filePath);
/* 获取图像数据 */
/* 获取图像数据 */
HGEXPORT HGByte* HGAPI HGLib_GetImageData(HGLibImage image);
/* 获取图像信息 */
/* 获取图像信息 */
HGEXPORT HGBool HGAPI HGLib_GetImageInfo(HGLibImage image, HGLibImageInfo* imageInfo);
/* 保存图像 */
/* 保存图像 */
HGEXPORT HGBool HGAPI HGLib_SaveImage(HGLibImage image, const HGChar* savePath, const HGLibSaveImageParam* saveParam);
/* 释放图像 */
/* 释放图像 */
HGEXPORT HGBool HGAPI HGLib_ReleaseImage(HGLibImage image);
/* 初始化扫描仪 */
/* 初始化扫描仪 */
HGEXPORT HGBool HGAPI HGLib_InitDevice(HGLibDeviceHotPlugEventFunc func, HGPointer param);
/* 反初始化扫描仪 */
/* 反初始化扫描仪 */
HGEXPORT HGBool HGAPI HGLib_DeinitDevice();
/* 获取扫描仪名称列表 */
/* 获取扫描仪名称列表 */
HGEXPORT HGChar** HGAPI HGLib_GetDeviceNameList();
/* 销毁扫描仪名称列表 */
/* 销毁扫描仪名称列表 */
HGEXPORT HGBool HGAPI HGLib_ReleaseDeviceNameList(HGChar** deviceName);
/* 打开设备 */
/* 打开设备 */
HGEXPORT HGLibDevice HGAPI HGLib_OpenDevice(const HGChar *deviceName);
/* 关闭设备 */
/* 关闭设备 */
HGEXPORT HGBool HGAPI HGLib_CloseDevice(HGLibDevice device);
/* 获取设备序列号 */
/* 获取设备序列号 */
HGEXPORT HGBool HGAPI HGLib_GetDeviceSN(HGLibDevice device, HGChar *sn, HGUInt maxLen);
/* 获取设备固件版本号*/
/* 获取设备固件版本号*/
HGEXPORT HGBool HGAPI HGLib_GetDeviceFWVersion(HGLibDevice device, HGChar* fwVersion, HGUInt maxLen);
/* 设置设备参数 */
/* 设置设备参数 */
HGEXPORT HGBool HGAPI HGLib_SetDeviceParam(HGLibDevice device, HGUInt option, const HGVoid *data);
/* 获取设备参数 */
/* 获取设备参数 */
HGEXPORT HGLibDeviceParamGroup* HGAPI HGLib_GetDeviceParamGroupList(HGLibDevice device, HGUInt *count);
HGEXPORT HGLibDeviceParam* HGAPI HGLib_GetDeviceParam(HGLibDevice device, HGUInt option);
/* 销毁设备参数 */
/* 销毁设备参数 */
HGEXPORT HGBool HGAPI HGLib_ReleaseDeviceParamGroupList(HGLibDeviceParamGroup* paramGroup, HGUInt count);
HGEXPORT HGBool HGAPI HGLib_ReleaseDeviceParam(HGLibDeviceParam* param);
/* 重置设备参数 */
/* 重置设备参数 */
HGEXPORT HGBool HGAPI HGLib_ResetDeviceParam(HGLibDevice device);
/* 设备是否有纸 */
/* 设备是否有纸 */
HGEXPORT HGBool HGAPI HGLib_DeviceIsPaperOn(HGLibDevice device);
/* 获取设备状态, -1表示异常0表示无纸1表示有纸 */
/* 获取设备状态, -1表示异常0表示无纸1表示有纸 */
HGEXPORT HGInt HGAPI HGLib_GetDeviceStatus(HGLibDevice device);
/* 重启设备 */
/* 重启设备 */
HGEXPORT HGBool HGAPI HGLib_DeviceRestart(HGLibDevice device);
/* 关闭设备 */
/* 关闭设备 */
HGEXPORT HGBool HGAPI HGLib_DeviceShutDown(HGLibDevice device);
/* 开始扫描 */
/* 开始扫描 */
HGEXPORT HGBool HGAPI HGLib_StartDeviceScan(HGLibDevice device, HGLibDeviceScanEventFunc eventFunc, HGPointer eventParam,
HGLibDeviceScanImageFunc imageFunc, HGPointer imageParam);
/* 停止扫描 */
/* 停止扫描 */
HGEXPORT HGBool HGAPI HGLib_StopDeviceScan(HGLibDevice device);
/* 停止扫描-异步 */
/* 停止扫描-异步 */
HGEXPORT HGBool HGAPI HGLib_StopDeviceScanAsyn(HGLibDevice device);
/* 获取设备操作码(在调用设备操作函数以后) */
/* 获取设备操作码(在调用设备操作函数以后) */
HGEXPORT HGInt HGAPI HGLib_GetDeviceOperateCode(HGLibDevice device);
#endif /* __HGSCANNERLIB_H__ */