code_app/sdk/scannerlib/HGScannerLib.h

597 lines
18 KiB
C
Raw Normal View History

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