diff --git a/docs/G100-G200 - lsc.txt b/docs/G100-G200 - lsc.txt new file mode 100644 index 0000000..7f86632 --- /dev/null +++ b/docs/G100-G200 - lsc.txt @@ -0,0 +1,699 @@ +{ + "global": { + "device_type": "G100-G200-lsc", + "option_count": 65 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout!=true"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "is-staple": { + "category": "base", + "title": "装订检测", + "desc": "检测是否出现粘连送入", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-check-askew": { + "category": "base", + "title": "歪斜检测", + "desc": "检测是否出现歪斜送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "askew-range": { + "category": "base", + "title": "歪斜容忍度", + "desc": "值越小,能容忍得送入文稿歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["is-check-askew==true"] + } +} \ No newline at end of file diff --git a/docs/G100-G200.txt b/docs/G100-G200.txt index 293182f..95639b7 100644 --- a/docs/G100-G200.txt +++ b/docs/G100-G200.txt @@ -1,9 +1,10 @@ { - "device_type": "G100", - "option_count": 47, - "1": { + "global": { + "device_type": "G100-G200", + "option_count": 65 + }, + "restore": { "category": "base", - "name": "cfg-1", "title": "恢复默认设置", "desc": "恢复默认设置", "type": "button", @@ -11,9 +12,8 @@ "default": "button", "size": 0 }, - "2": { + "help": { "category": "advanced", - "name": "cfg-2", "title": "帮助", "desc": "显示软件帮助文档", "type": "button", @@ -21,99 +21,176 @@ "default": "true", "size": 4 }, - "3": { + "grp-1": { "category": "base", - "name": "grp-1", "title": "基本设置", "type": "group" }, - "4": { + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 128, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { "category": "base", - "name": "cfg-4", "title": "颜色模式", - "desc": "设置颜色位深", + "desc": "选择色彩模式", "type": "string", "cur": "24位彩色", "default": "24位彩色", - "size": 24, - "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"] + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout!=true"] }, - "5": { + "binary-threshold": { "category": "base", - "name": "cfg-5", - "title": "灰度或黑白图像 - 除色", - "desc": "除去图像彩色", - "type": "string", - "cur": "不除色", - "default": "不除色", - "size": 20, - "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], - "depend_or": ["4==256级灰度", "4==黑白"] - }, - "6": { - "category": "base", - "name": "cfg-6", - "title": "24位彩色图像 - 多流输出除红", - "desc": "多通道输出中,去除红色", - "type": "bool", - "cur": false, - "default": false, - "size": 4, - "depend_or": ["4==24位彩色"] - }, - "7": { - "category": "base", - "name": "cfg-7", - "title": "24位彩色图像 - 答题卡除红", - "desc": "答题卡扫描中去除红色", - "type": "bool", - "cur": false, - "default": false, - "size": 4, - "depend_or": ["4==24位彩色"] - }, - "8": { - "category": "base", - "name": "cfg-8", - "title": "背景移除", - "desc": "移除彩色图像背景", - "type": "bool", - "cur": false, - "default": false, - "size": 4, - "depend_or": ["4==24位彩色"] - }, - "9": { - "category": "base", - "name": "cfg-9", - "title": " 背景色彩浮动范围", - "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", "type": "int", - "cur": 10, - "default": 10, + "cur": 127, + "default": 127, "size": 4, "range": { "min": 1, - "max": 40 + "max": 255 }, - "depend_or": ["8==true"] + "depend_or": ["is-multiout==true", "mode==黑白"] }, - "10": { + "reverse-bw": { "category": "base", - "name": "cfg-10", - "title": "黑白图像噪点优化", - "desc": "噪点优化", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==黑白"] + "depend_or": ["is-multiout==true", "mode==黑白"] }, - "11": { + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { "category": "base", - "name": "cfg-11", "title": " 噪点优化尺寸", - "desc": "噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", "type": "int", "cur": 30, "default": 30, @@ -122,22 +199,86 @@ "min": 10, "max": 50 }, - "depend_or": ["10==true"] + "depend_or": ["is-noise-optimize==true"] }, - "12": { + "paper": { "category": "base", - "name": "cfg-12", "title": "纸张尺寸", - "desc": "设置纸张大小", + "desc": "设置出图大小", "type": "string", "cur": "匹配原始尺寸", "default": "匹配原始尺寸", - "size": 44, + "size": 48, "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] }, - "13": { + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { "category": "base", - "name": "cfg-13", "title": "扫描页面", "desc": "设置页面扫描方式", "type": "string", @@ -146,11 +287,10 @@ "size": 40, "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] }, - "14": { + "blank-sensitivity": { "category": "base", - "name": "cfg-14", "title": " 跳过空白页灵敏度", - "desc": "灵敏度越高,则越容易跳过", + "desc": "数值越大,则越容易跳过", "type": "int", "cur": 50, "default": 50, @@ -159,91 +299,60 @@ "min": 1, "max": 100 }, - "depend_or": ["13==跳过空白页(通用)", "13==跳过空白页(发票纸)"] + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] }, - "15": { + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { "category": "base", - "name": "cfg-15", "title": "分辨率", - "desc": "扫描仪分辨率", + "desc": "设置扫描图像的分辨率", "type": "int", "cur": 200, "default": 200, "size": 4, "range": { - "min": 100, - "max": 300 + "min": 1, + "max": 600 } }, - "16": { + "is-exchange": { "category": "base", - "name": "cfg-16", "title": "交换正反面", - "desc": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=单面"] + "depend_and": ["page!=单面"] }, - "17": { + "grp-2": { "category": "base", - "name": "cfg-17", - "title": "图像拆分", - "desc": "自动拆分图像", - "type": "bool", - "cur": false, - "default": false, - "size": 4, - "depend_or": ["13!=对折"] + "title": "亮度", + "type": "group" }, - "18": { + "is-custom-gamma": { "category": "base", - "name": "cfg-18", - "title": "自动纠偏", - "desc": "自动纠偏", - "type": "bool", - "cur": true, - "default": true, - "size": 4, - "depend_or": ["13!=对折"] - }, - "19": { - "category": "base", - "name": "cfg-19", - "title": "穿孔移除", - "desc": "移除纸张中的穿孔", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", "type": "bool", "cur": false, "default": false, "size": 4 }, - "20": { + "brightness": { "category": "base", - "name": "cfg-20", - "title": " 穿孔搜索范围占幅面比例", - "desc": "穿孔搜索范围占幅面比例", - "type": "float", - "cur": 0.100000, - "default": 0.100000, - "size": 4, - "range": { - "min": 0.010000, - "max": 0.500000 - }, - "depend_or": ["19==true"] - }, - "21": { - "category": "base", - "name": "grp-2", - "title": "亮度", - "type": "group" - }, - "22": { - "category": "base", - "name": "cfg-22", - "title": "亮度", - "desc": "调整图片亮度", + "title": "亮度值", + "desc": "调整图像亮度", "type": "int", "cur": 128, "default": 128, @@ -251,13 +360,13 @@ "range": { "min": 1, "max": 255 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "23": { + "contrast": { "category": "base", - "name": "cfg-23", "title": "对比度", - "desc": "调整图片对比度", + "desc": "调整图像对比度", "type": "int", "cur": 4, "default": 4, @@ -265,13 +374,13 @@ "range": { "min": 1, "max": 7 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "24": { + "gamma": { "category": "base", - "name": "cfg-24", - "title": "伽玛", - "desc": "调整图片伽玛值", + "title": "伽马值", + "desc": "调整图像伽玛值", "type": "float", "cur": 1.000000, "default": 1.000000, @@ -279,51 +388,68 @@ "range": { "min": 0.010000, "max": 5.000000 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "25": { + "grp-3": { "category": "base", - "name": "grp-3", "title": "图像处理", "type": "group" }, - "26": { + "is-anti-skew": { "category": "base", - "name": "cfg-26", - "title": "锐化与模糊", - "desc": "锐化与模糊", - "type": "string", - "cur": "无", - "default": "无", - "size": 20, - "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"] + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] }, - "27": { + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { "category": "base", - "name": "cfg-27", "title": "消除黑框", - "desc": "消除黑框", + "desc": "消除文稿范围外的黑色背景", "type": "bool", "cur": true, "default": true, "size": 4 }, - "28": { + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { "category": "base", - "name": "cfg-28", - "title": "深色样张", - "desc": "深色样张", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=对折", "27!=true", "12!=匹配原始尺寸", "12!=最大扫描尺寸", "12!=最大扫描尺寸自动裁切", "18!=true"] + "depend_and": ["is-erase-black-frame==true"] }, - "29": { + "threshold": { "category": "advanced", - "name": "cfg-29", "title": "阈值", - "desc": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", "type": "int", "cur": 40, "default": 40, @@ -332,13 +458,12 @@ "min": 30, "max": 50 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸", "12==最大扫描尺寸自动裁切", "18==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "30": { + "anti-noise-level": { "category": "advanced", - "name": "cfg-30", "title": "背景抗噪等级", - "desc": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", "type": "int", "cur": 8, "default": 8, @@ -347,13 +472,12 @@ "min": 1, "max": 20 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸", "12==最大扫描尺寸自动裁切", "18==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "31": { + "margin": { "category": "advanced", - "name": "cfg-31", "title": "边缘缩进", - "desc": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", "type": "int", "cur": 5, "default": 5, @@ -362,157 +486,206 @@ "min": 5, "max": 30 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸自动裁切", "18==true", "12==最大扫描尺寸"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] }, - "32": { - "category": "advanced", - "name": "cfg-32", - "title": "背景填充方式", - "desc": "背景填充方式", - "type": "string", - "cur": "凸多边形", - "default": "凸多边形", - "size": 40, - "range": ["凸多边形", "凹多边形"], - "depend_or": ["27==true"] - }, - "33": { + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { "category": "base", - "name": "cfg-33", "title": "防止渗透", - "desc": "", + "desc": "防止背面图案渗透", "type": "bool", "cur": false, "default": false, "size": 4 }, - "34": { + "permeate-level": { "category": "base", - "name": "cfg-34", "title": " 防止渗透等级", - "desc": "", + "desc": "选择防止渗透的等级", "type": "string", "cur": "较弱", "default": "较弱", - "size": 12, - "range": ["较弱", "弱", "一般", "强", "较强"], - "depend_or": ["33==true"] + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] }, - "35": { + "is-rid-hole-l": { "category": "base", - "name": "cfg-35", - "title": "去除摩尔纹", - "desc": "", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "36": { + "search-hole-range-l": { "category": "base", - "name": "cfg-36", - "title": "错误扩散", - "desc": "", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "37": { + "search-hole-range-r": { "category": "base", - "name": "cfg-37", - "title": "除网纹", - "desc": "", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", "type": "bool", "cur": false, "default": false, "size": 4 }, - "38": { + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { "category": "base", - "name": "grp-4", "title": "送纸方式设置", "type": "group" }, - "39": { + "scan-mode": { "category": "base", - "name": "cfg-39", - "title": "超声波检测", - "desc": "超声波检测送纸状态", - "type": "bool", - "cur": true, - "default": true, - "size": 4 - }, - "40": { - "category": "base", - "name": "cfg-40", - "title": "装订检测", - "desc": "检测纸张上是否有钉书钉", - "type": "bool", - "cur": false, - "default": false, - "size": 4 - }, - "41": { - "category": "base", - "name": "cfg-41", "title": "扫描张数", - "desc": "扫描纸张数量", + "desc": "选择指定数量扫描或连续扫描", "type": "string", "cur": "连续扫描", "default": "连续扫描", - "size": 24, + "size": 32, "range": ["连续扫描", "扫描指定张数"] }, - "42": { + "scan-count": { "category": "base", - "name": "cfg-42", "title": " 扫描数量", "desc": "扫描指定数量", "type": "int", "cur": 1, "default": 1, "size": 4, - "depend_or": ["41==扫描指定张数"] + "depend_or": ["scan-mode==扫描指定张数"] }, - "43": { + "direction": { "category": "base", - "name": "cfg-43", "title": "文稿方向", - "desc": "文稿方向", + "desc": "设置图像的方向", "type": "string", "cur": "0°", "default": "0°", "size": 40, "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] }, - "44": { + "is-rotate-bkg-180": { "category": "base", - "name": "cfg-44", "title": "背面旋转180°", "desc": "背面扫描的图像旋转180°", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=单面", "13!=对折", "43!=自动文本方向识别°"] + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] }, - "45": { + "is-ultrosonic": { "category": "base", - "name": "cfg-45", - "title": "歪斜检测", - "desc": "纸张歪斜检测", + "title": "超声波检测", + "desc": "检测是否出现双张送入", "type": "bool", "cur": true, "default": true, "size": 4 }, - "46": { + "is-staple": { "category": "base", - "name": "cfg-46", - "title": " 歪斜检测复杂度", - "desc": "纸张歪斜检测复杂度", + "title": "装订检测", + "desc": "检测是否出现粘连送入", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-check-askew": { + "category": "base", + "title": "歪斜检测", + "desc": "检测是否出现歪斜送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "askew-range": { + "category": "base", + "title": "歪斜容忍度", + "desc": "值越小,能容忍得送入文稿歪斜角度越小", "type": "int", "cur": 3, "default": 3, @@ -521,6 +694,6 @@ "min": 1, "max": 5 }, - "depend_or": ["45==true"] + "depend_or": ["is-check-askew==true"] } } \ No newline at end of file diff --git a/docs/G139-239 - lsc.txt b/docs/G139-239 - lsc.txt new file mode 100644 index 0000000..6e5e307 --- /dev/null +++ b/docs/G139-239 - lsc.txt @@ -0,0 +1,815 @@ +{ + "global": { + "device_type": "G139-G239-lsc", + "option_count": 76 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout!=true"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "is-size-check": { + "category": "base", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸与设置是否匹配", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["paper==A3", "==A4", "==A4横向", "==A5", "==A5横向", "==A6", "==A6横向", "==B4", "==B5", "==B5横向", "==B6", "==B6横向", "==Double Letter", "==LEGAL", "==Letter", "==Letter横向"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "image-quality": { + "category": "base", + "title": "画质", + "desc": "选择扫描仪的画质模式", + "type": "string", + "cur": "速度优先", + "default": "速度优先", + "size": 24, + "range": ["速度优先", "画质优先"], + "depend_or": ["resolution>=300"] + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "!=跳过空白页(发票纸)", "!=跳过空白页(通用)"] + }, + "is-photo-mode": { + "category": "base", + "title": "照片模式", + "desc": "启用该模式可保留图像原始细节", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "is-wait-scan": { + "category": "base", + "title": "待纸扫描", + "desc": "启用后,文稿放入扫描仪时将自动启动扫描", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 24, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "double-feed": { + "category": "base", + "title": "双张图片处理", + "desc": "检测到双张进纸后的处理方式", + "type": "string", + "cur": "丢弃图像并停止扫描", + "default": "丢弃图像并停止扫描", + "size": 40, + "range": ["丢弃图像并停止扫描", "上传图像并停止扫描"], + "depend_or": ["is-ultrosonic==true"] + }, + "is-staple": { + "category": "base", + "title": "装订检测", + "desc": "检测是否出现粘连送入", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-check-askew": { + "category": "base", + "title": "歪斜检测", + "desc": "检测是否出现歪斜送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "askew-range": { + "category": "base", + "title": "歪斜容忍度", + "desc": "值越小,能容忍得送入文稿歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["is-check-askew==true"] + }, + "is-check-dog-ear": { + "category": "base", + "title": "折角检测", + "desc": "检测文稿是否存在折角", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "dog-ear-size": { + "category": "base", + "title": " 折角大小", + "desc": "值越小,能检测到的折角越小", + "type": "int", + "cur": 70, + "default": 70, + "size": 4, + "range": { + "min": 0, + "max": 100 + }, + "depend_or": ["is-check-dog-ear==true"] + }, + "feed-strength": { + "category": "base", + "title": "分纸强度", + "desc": "设置扫描仪的分纸力度", + "type": "string", + "cur": "弱", + "default": "弱", + "size": 16, + "range": ["弱", "一般", "强"] + }, + "time-to-sleep": { + "category": "base", + "title": "休眠时间", + "desc": "设置扫描仪的休眠时间", + "type": "string", + "cur": "不休眠", + "default": "不休眠", + "size": 24, + "range": ["不休眠", "五分钟", "十分钟", "半小时", "一小时", "两小时", "四小时"] + }, + "is-auto-strength": { + "category": "base", + "title": "自动分纸强度", + "desc": "扫描仪自动修正分纸力度", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "feed-strength-value": { + "category": "base", + "title": " 进纸失败率", + "desc": "高于该值时扫描仪将调整分纸力度", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.100000, + "max": 0.900000 + }, + "depend_or": ["is-auto-strength==true"] + } +} \ No newline at end of file diff --git a/docs/G139-239-x86.txt b/docs/G139-239-x86.txt new file mode 100644 index 0000000..2954878 --- /dev/null +++ b/docs/G139-239-x86.txt @@ -0,0 +1,815 @@ +{ + "global": { + "device_type": "G139-239-x86", + "option_count": 76 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout!=true"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "is-size-check": { + "category": "base", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸与设置是否匹配", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["paper==A3", "==A4", "==A4横向", "==A5", "==A5横向", "==A6", "==A6横向", "==B4", "==B5", "==B5横向", "==B6", "==B6横向", "==Double Letter", "==LEGAL", "==Letter", "==Letter横向"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "image-quality": { + "category": "base", + "title": "画质", + "desc": "选择扫描仪的画质模式", + "type": "string", + "cur": "速度优先", + "default": "速度优先", + "size": 24, + "range": ["速度优先", "画质优先"], + "depend_or": ["resolution>=300"] + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "!=跳过空白页(发票纸)", "!=跳过空白页(通用)"] + }, + "is-photo-mode": { + "category": "base", + "title": "照片模式", + "desc": "启用该模式可保留图像原始细节", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "is-wait-scan": { + "category": "base", + "title": "待纸扫描", + "desc": "启用后,文稿放入扫描仪时将自动启动扫描", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "double-feed": { + "category": "base", + "title": "双张图片处理", + "desc": "检测到双张进纸后的处理方式", + "type": "string", + "cur": "丢弃图像并停止扫描", + "default": "丢弃图像并停止扫描", + "size": 40, + "range": ["丢弃图像并停止扫描", "上传图像并停止扫描"], + "depend_or": ["is-ultrosonic==true"] + }, + "is-staple": { + "category": "base", + "title": "装订检测", + "desc": "检测是否出现粘连送入", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-check-askew": { + "category": "base", + "title": "歪斜检测", + "desc": "检测是否出现歪斜送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "askew-range": { + "category": "base", + "title": "歪斜容忍度", + "desc": "值越小,能容忍得送入文稿歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["is-check-askew==true"] + }, + "is-check-dog-ear": { + "category": "base", + "title": "折角检测", + "desc": "检测文稿是否存在折角", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "dog-ear-size": { + "category": "base", + "title": " 折角大小", + "desc": "值越小,能检测到的折角越小", + "type": "int", + "cur": 70, + "default": 70, + "size": 4, + "range": { + "min": 0, + "max": 100 + }, + "depend_or": ["is-check-dog-ear==true"] + }, + "feed-strength": { + "category": "base", + "title": "分纸强度", + "desc": "设置扫描仪的分纸力度", + "type": "string", + "cur": "弱", + "default": "弱", + "size": 16, + "range": ["弱", "一般", "强"] + }, + "time-to-sleep": { + "category": "base", + "title": "休眠时间", + "desc": "设置扫描仪的休眠时间", + "type": "string", + "cur": "不休眠", + "default": "不休眠", + "size": 24, + "range": ["不休眠", "五分钟", "十分钟", "半小时", "一小时", "两小时", "四小时"] + }, + "is-auto-strength": { + "category": "base", + "title": "自动分纸强度", + "desc": "扫描仪自动修正分纸力度", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "feed-strength-value": { + "category": "base", + "title": " 进纸失败率", + "desc": "高于该值时扫描仪将调整分纸力度", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.100000, + "max": 0.900000 + }, + "depend_or": ["is-auto-strength==true"] + } +} \ No newline at end of file diff --git a/docs/G139-239.txt b/docs/G139-239.txt index 1d36e25..672e830 100644 --- a/docs/G139-239.txt +++ b/docs/G139-239.txt @@ -1,9 +1,10 @@ { - "device_type": "G239", - "option_count": 51, - "1": { + "global": { + "device_type": "G139-G239", + "option_count": 75 + }, + "restore": { "category": "base", - "name": "cfg-1", "title": "恢复默认设置", "desc": "恢复默认设置", "type": "button", @@ -11,9 +12,8 @@ "default": "button", "size": 0 }, - "2": { + "help": { "category": "advanced", - "name": "cfg-2", "title": "帮助", "desc": "显示软件帮助文档", "type": "button", @@ -21,111 +21,176 @@ "default": "true", "size": 4 }, - "3": { + "grp-1": { "category": "base", - "name": "grp-1", "title": "基本设置", "type": "group" }, - "4": { + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { "category": "base", - "name": "cfg-4", "title": "颜色模式", - "desc": "设置颜色位深", + "desc": "选择色彩模式", "type": "string", "cur": "24位彩色", "default": "24位彩色", - "size": 24, - "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"] + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout!=true"] }, - "5": { + "binary-threshold": { "category": "base", - "name": "cfg-5", - "title": "24位彩色图像-多流输出", - "desc": "", - "type": "string", - "cur": "不选择输出模式", - "default": "不选择输出模式", - "size": 28, - "range": ["不选择输出模式", "彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], - "depend_or": ["4==24位彩色"] + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] }, - "6": { + "reverse-bw": { "category": "base", - "name": "cfg-6", - "title": "灰度或黑白图像 - 除色", - "desc": "除去图像彩色", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", "type": "string", "cur": "不除色", "default": "不除色", - "size": 20, + "size": 24, "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], - "depend_or": ["4==256级灰度", "4==黑白"] + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] }, - "7": { + "is-rid-multiout-red": { "category": "base", - "name": "cfg-7", "title": "24位彩色图像 - 多流输出除红", - "desc": "多通道输出中,去除红色", + "desc": "同时输出彩色图像和灰度除红图像", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "8": { + "is-rid-answer-sheet-red": { "category": "base", - "name": "cfg-8", "title": "24位彩色图像 - 答题卡除红", - "desc": "答题卡扫描中去除红色", + "desc": "输出除红彩色图像", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "9": { + "is-erase-bkg": { "category": "base", - "name": "cfg-9", "title": "背景移除", - "desc": "移除彩色图像背景", + "desc": "移除文稿背景底色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "10": { + "bkg-color-range": { "category": "base", - "name": "cfg-10", "title": " 背景色彩浮动范围", - "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", "type": "int", - "cur": 10, - "default": 10, + "cur": 20, + "default": 20, "size": 4, "range": { "min": 1, - "max": 40 + "max": 128 }, - "depend_or": ["9==true"] + "depend_or": ["is-erase-bkg==true"] }, - "11": { + "sharpen": { "category": "base", - "name": "cfg-11", - "title": "黑白图像噪点优化", - "desc": "噪点优化", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==黑白"] + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] }, - "12": { + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { "category": "base", - "name": "cfg-12", "title": " 噪点优化尺寸", - "desc": "噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", "type": "int", "cur": 30, "default": 30, @@ -134,33 +199,96 @@ "min": 10, "max": 50 }, - "depend_or": ["11==true"] + "depend_or": ["is-noise-optimize==true"] }, - "13": { + "paper": { "category": "base", - "name": "cfg-13", "title": "纸张尺寸", - "desc": "设置纸张大小", + "desc": "设置出图大小", "type": "string", "cur": "匹配原始尺寸", "default": "匹配原始尺寸", - "size": 44, + "size": 48, "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] }, - "14": { + "is-custom-area": { "category": "base", - "name": "cfg-14", - "title": "尺寸检测", - "desc": "检测纸张实际尺寸", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["13==A3", "13==A4", "13==A4横向", "13==A5", "13==A5横向", "13==A6", "13==A6横向", "13==B4", "13==B5", "13==B5横向", "13==B6", "13==B6横向", "13==Double Letter", "13==LEGAL", "13==Letter", "13==Letter横向"] + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] }, - "15": { + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "is-size-check": { + "category": "base", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸与设置是否匹配", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["paper==A3", "==A4", "==A4横向", "==A5", "==A5横向", "==A6", "==A6横向", "==B4", "==B5", "==B5横向", "==B6", "==B6横向", "==Double Letter", "==LEGAL", "==Letter", "==Letter横向"] + }, + "page": { "category": "base", - "name": "cfg-15", "title": "扫描页面", "desc": "设置页面扫描方式", "type": "string", @@ -169,11 +297,10 @@ "size": 40, "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] }, - "16": { + "blank-sensitivity": { "category": "base", - "name": "cfg-16", "title": " 跳过空白页灵敏度", - "desc": "灵敏度越高,则越容易跳过", + "desc": "数值越大,则越容易跳过", "type": "int", "cur": 50, "default": 50, @@ -182,91 +309,71 @@ "min": 1, "max": 100 }, - "depend_or": ["15==跳过空白页(通用)", "15==跳过空白页(发票纸)"] + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] }, - "17": { + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { "category": "base", - "name": "cfg-17", "title": "分辨率", - "desc": "扫描仪分辨率", + "desc": "设置扫描图像的分辨率", "type": "int", "cur": 200, "default": 200, "size": 4, "range": { - "min": 100, - "max": 300 + "min": 1, + "max": 600 } }, - "18": { + "image-quality": { + "category": "base", + "title": "画质", + "desc": "选择扫描仪的画质模式", + "type": "string", + "cur": "速度优先", + "default": "速度优先", + "size": 24, + "range": ["速度优先", "画质优先"], + "depend_or": ["resolution>=300"] + }, + "is-exchange": { "category": "base", - "name": "cfg-18", "title": "交换正反面", - "desc": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["15!=单面"] + "depend_and": ["page!=单面"] }, - "19": { + "grp-2": { "category": "base", - "name": "cfg-19", - "title": "图像拆分", - "desc": "自动拆分图像", - "type": "bool", - "cur": false, - "default": false, - "size": 4, - "depend_or": ["15!=对折"] + "title": "亮度", + "type": "group" }, - "20": { + "is-custom-gamma": { "category": "base", - "name": "cfg-20", - "title": "自动纠偏", - "desc": "自动纠偏", - "type": "bool", - "cur": true, - "default": true, - "size": 4, - "depend_or": ["15!=对折"] - }, - "21": { - "category": "base", - "name": "cfg-21", - "title": "穿孔移除", - "desc": "移除纸张中的穿孔", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", "type": "bool", "cur": false, "default": false, "size": 4 }, - "22": { + "brightness": { "category": "base", - "name": "cfg-22", - "title": " 穿孔搜索范围占幅面比例", - "desc": "穿孔搜索范围占幅面比例", - "type": "float", - "cur": 0.100000, - "default": 0.100000, - "size": 4, - "range": { - "min": 0.010000, - "max": 0.500000 - }, - "depend_or": ["21==true"] - }, - "23": { - "category": "base", - "name": "grp-2", - "title": "亮度", - "type": "group" - }, - "24": { - "category": "base", - "name": "cfg-24", - "title": "亮度", - "desc": "调整图片亮度", + "title": "亮度值", + "desc": "调整图像亮度", "type": "int", "cur": 128, "default": 128, @@ -274,13 +381,13 @@ "range": { "min": 1, "max": 255 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "25": { + "contrast": { "category": "base", - "name": "cfg-25", "title": "对比度", - "desc": "调整图片对比度", + "desc": "调整图像对比度", "type": "int", "cur": 4, "default": 4, @@ -288,13 +395,13 @@ "range": { "min": 1, "max": 7 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "26": { + "gamma": { "category": "base", - "name": "cfg-26", - "title": "伽玛", - "desc": "调整图片伽玛值", + "title": "伽马值", + "desc": "调整图像伽玛值", "type": "float", "cur": 1.000000, "default": 1.000000, @@ -302,51 +409,68 @@ "range": { "min": 0.010000, "max": 5.000000 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "27": { + "grp-3": { "category": "base", - "name": "grp-3", "title": "图像处理", "type": "group" }, - "28": { + "is-anti-skew": { "category": "base", - "name": "cfg-28", - "title": "锐化与模糊", - "desc": "锐化与模糊", - "type": "string", - "cur": "无", - "default": "无", - "size": 20, - "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"] + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] }, - "29": { + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "!=跳过空白页(发票纸)", "!=跳过空白页(通用)"] + }, + "is-erase-black-frame": { "category": "base", - "name": "cfg-29", "title": "消除黑框", - "desc": "消除黑框", + "desc": "消除文稿范围外的黑色背景", "type": "bool", "cur": true, "default": true, "size": 4 }, - "30": { + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { "category": "base", - "name": "cfg-30", - "title": "深色样张", - "desc": "深色样张", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["15!=对折", "29!=true", "13!=匹配原始尺寸", "13!=最大扫描尺寸", "13!=最大扫描尺寸自动裁切", "20!=true"] + "depend_and": ["is-erase-black-frame==true"] }, - "31": { + "threshold": { "category": "advanced", - "name": "cfg-31", "title": "阈值", - "desc": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", "type": "int", "cur": 40, "default": 40, @@ -355,13 +479,12 @@ "min": 30, "max": 50 }, - "depend_or": ["29==true", "13==匹配原始尺寸", "13==最大扫描尺寸", "13==最大扫描尺寸自动裁切", "20==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "32": { + "anti-noise-level": { "category": "advanced", - "name": "cfg-32", "title": "背景抗噪等级", - "desc": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", "type": "int", "cur": 8, "default": 8, @@ -370,13 +493,12 @@ "min": 1, "max": 20 }, - "depend_or": ["29==true", "13==匹配原始尺寸", "13==最大扫描尺寸", "13==最大扫描尺寸自动裁切", "20==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "33": { + "margin": { "category": "advanced", - "name": "cfg-33", "title": "边缘缩进", - "desc": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", "type": "int", "cur": 5, "default": 5, @@ -385,182 +507,227 @@ "min": 5, "max": 30 }, - "depend_or": ["29==true", "13==匹配原始尺寸", "13==最大扫描尺寸自动裁切", "20==true", "13==最大扫描尺寸"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] }, - "34": { - "category": "advanced", - "name": "cfg-34", - "title": "背景填充方式", - "desc": "背景填充方式", - "type": "string", - "cur": "凸多边形", - "default": "凸多边形", - "size": 40, - "range": ["凸多边形", "凹多边形"], - "depend_or": ["29==true"] - }, - "35": { + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { "category": "base", - "name": "cfg-35", "title": "防止渗透", - "desc": "", + "desc": "防止背面图案渗透", "type": "bool", "cur": false, "default": false, "size": 4 }, - "36": { + "permeate-level": { "category": "base", - "name": "cfg-36", "title": " 防止渗透等级", - "desc": "", + "desc": "选择防止渗透的等级", "type": "string", "cur": "较弱", "default": "较弱", - "size": 12, - "range": ["较弱", "弱", "一般", "强", "较强"], - "depend_or": ["35==true"] + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] }, - "37": { + "is-rid-hole-l": { "category": "base", - "name": "cfg-37", - "title": "去除摩尔纹", - "desc": "", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "38": { + "search-hole-range-l": { "category": "base", - "name": "cfg-38", - "title": "错误扩散", - "desc": "", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "39": { + "search-hole-range-r": { "category": "base", - "name": "cfg-39", - "title": "除网纹", - "desc": "", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", "type": "bool", "cur": false, "default": false, "size": 4 }, - "40": { + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-b==true"] + }, + "grp-4": { "category": "base", - "name": "grp-4", "title": "送纸方式设置", "type": "group" }, - "41": { + "is-wait-scan": { "category": "base", - "name": "cfg-41", - "title": "超声波检测", - "desc": "超声波检测送纸状态", - "type": "bool", - "cur": true, - "default": true, - "size": 4 - }, - "42": { - "category": "base", - "name": "cfg-42", - "title": "装订检测", - "desc": "检测纸张上是否有钉书钉", + "title": "待纸扫描", + "desc": "启用后,文稿放入扫描仪时将自动启动扫描", "type": "bool", "cur": false, "default": false, "size": 4 }, - "43": { + "scan-mode": { "category": "base", - "name": "cfg-43", "title": "扫描张数", - "desc": "扫描纸张数量", + "desc": "选择指定数量扫描或连续扫描", "type": "string", "cur": "连续扫描", "default": "连续扫描", - "size": 24, - "range": ["连续扫描", "扫描指定张数"] + "size": 32, + "range": ["连续扫描", "扫描指定张数"], + "depend_or": ["is-wait-scan==false"] }, - "44": { + "scan-count": { "category": "base", - "name": "cfg-44", "title": " 扫描数量", "desc": "扫描指定数量", "type": "int", "cur": 1, "default": 1, "size": 4, - "depend_or": ["43==扫描指定张数"] + "depend_or": ["scan-mode==扫描指定张数"] }, - "45": { + "direction": { "category": "base", - "name": "cfg-45", "title": "文稿方向", - "desc": "文稿方向", + "desc": "设置图像的方向", "type": "string", "cur": "0°", "default": "0°", "size": 40, "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] }, - "46": { + "is-rotate-bkg-180": { "category": "base", - "name": "cfg-46", "title": "背面旋转180°", "desc": "背面扫描的图像旋转180°", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["15!=单面", "15!=对折", "45!=自动文本方向识别°"] + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] }, - "47": { + "is-ultrosonic": { "category": "base", - "name": "cfg-47", - "title": "折角检测", - "desc": "纸张折角检测", - "type": "bool", - "cur": false, - "default": false, - "size": 4 - }, - "48": { - "category": "base", - "name": "cfg-48", - "title": " 折角检测复杂度", - "desc": "纸张折角检测复杂度", - "type": "int", - "cur": 10, - "default": 10, - "size": 4, - "range": { - "min": 0, - "max": 100 - }, - "depend_or": ["47==true"] - }, - "49": { - "category": "base", - "name": "cfg-49", - "title": "歪斜检测", - "desc": "纸张歪斜检测", + "title": "超声波检测", + "desc": "检测是否出现双张送入", "type": "bool", "cur": true, "default": true, "size": 4 }, - "50": { + "double-feed": { "category": "base", - "name": "cfg-50", - "title": " 歪斜检测复杂度", - "desc": "纸张歪斜检测复杂度", + "title": "双张图片处理", + "desc": "检测到双张进纸后的处理方式", + "type": "string", + "cur": "丢弃图像并停止扫描", + "default": "丢弃图像并停止扫描", + "size": 40, + "range": ["丢弃图像并停止扫描", "上传图像并停止扫描"], + "depend_or": ["is-ultrosonic==true"] + }, + "is-staple": { + "category": "base", + "title": "装订检测", + "desc": "检测是否出现粘连送入", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-check-askew": { + "category": "base", + "title": "歪斜检测", + "desc": "检测是否出现歪斜送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "askew-range": { + "category": "base", + "title": "歪斜容忍度", + "desc": "值越小,能容忍得送入文稿歪斜角度越小", "type": "int", "cur": 3, "default": 3, @@ -569,6 +736,72 @@ "min": 1, "max": 5 }, - "depend_or": ["49==true"] + "depend_or": ["is-check-askew==true"] + }, + "is-check-dog-ear": { + "category": "base", + "title": "折角检测", + "desc": "检测文稿是否存在折角", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "dog-ear-size": { + "category": "base", + "title": " 折角大小", + "desc": "值越小,能检测到的折角越小", + "type": "int", + "cur": 70, + "default": 70, + "size": 4, + "range": { + "min": 0, + "max": 100 + }, + "depend_or": ["is-check-dog-ear==true"] + }, + "feed-strength": { + "category": "base", + "title": "分纸强度", + "desc": "设置扫描仪的分纸力度", + "type": "string", + "cur": "弱", + "default": "弱", + "size": 16, + "range": ["弱", "一般", "强"] + }, + "time-to-sleep": { + "category": "base", + "title": "休眠时间", + "desc": "设置扫描仪的休眠时间", + "type": "string", + "cur": "不休眠", + "default": "不休眠", + "size": 24, + "range": ["不休眠", "五分钟", "十分钟", "半小时", "一小时", "两小时", "四小时"] + }, + "is-auto-strength": { + "category": "base", + "title": "自动分纸强度", + "desc": "扫描仪自动修正分纸力度", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "feed-strength-value": { + "category": "base", + "title": " 进纸失败率", + "desc": "高于该值时扫描仪将调整分纸力度", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.100000, + "max": 0.900000 + }, + "depend_or": ["is-auto-strength==true"] } } \ No newline at end of file diff --git a/docs/G300 - lsc.txt b/docs/G300 - lsc.txt new file mode 100644 index 0000000..3e53147 --- /dev/null +++ b/docs/G300 - lsc.txt @@ -0,0 +1,667 @@ +{ + "global": { + "device_type": "G300-lsc", + "option_count": 62 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 40, + "range": ["A4", "A5", "A5横向", "A6", "A6横向", "B5", "B5横向", "B6", "B6横向", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G300.txt b/docs/G300.txt index c2b4bff..6bb720d 100644 --- a/docs/G300.txt +++ b/docs/G300.txt @@ -1,9 +1,10 @@ { - "device_type": "G300", - "option_count": 44, - "1": { + "global": { + "device_type": "G300", + "option_count": 62 + }, + "restore": { "category": "base", - "name": "cfg-1", "title": "恢复默认设置", "desc": "恢复默认设置", "type": "button", @@ -11,9 +12,8 @@ "default": "button", "size": 0 }, - "2": { + "help": { "category": "advanced", - "name": "cfg-2", "title": "帮助", "desc": "显示软件帮助文档", "type": "button", @@ -21,99 +21,176 @@ "default": "true", "size": 4 }, - "3": { + "grp-1": { "category": "base", - "name": "grp-1", "title": "基本设置", "type": "group" }, - "4": { + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { "category": "base", - "name": "cfg-4", "title": "颜色模式", - "desc": "设置颜色位深", + "desc": "选择色彩模式", "type": "string", "cur": "24位彩色", "default": "24位彩色", - "size": 24, - "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"] + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] }, - "5": { + "binary-threshold": { "category": "base", - "name": "cfg-5", - "title": "灰度或黑白图像 - 除色", - "desc": "除去图像彩色", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", "type": "string", "cur": "不除色", "default": "不除色", - "size": 16, + "size": 24, "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], - "depend_or": ["4==256级灰度", "4==黑白"] + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] }, - "6": { + "is-rid-multiout-red": { "category": "base", - "name": "cfg-6", "title": "24位彩色图像 - 多流输出除红", - "desc": "多通道输出中,去除红色", + "desc": "同时输出彩色图像和灰度除红图像", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "7": { + "is-rid-answer-sheet-red": { "category": "base", - "name": "cfg-7", "title": "24位彩色图像 - 答题卡除红", - "desc": "答题卡扫描中去除红色", + "desc": "输出除红彩色图像", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "8": { + "is-erase-bkg": { "category": "base", - "name": "cfg-8", "title": "背景移除", - "desc": "移除彩色图像背景", + "desc": "移除文稿背景底色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "9": { + "bkg-color-range": { "category": "base", - "name": "cfg-9", - "title": " 背景色彩浮动范围", - "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", "type": "int", - "cur": 10, - "default": 10, + "cur": 20, + "default": 20, "size": 4, "range": { "min": 1, - "max": 40 + "max": 128 }, - "depend_or": ["8==true"] + "depend_or": ["is-erase-bkg==true"] }, - "10": { + "sharpen": { "category": "base", - "name": "cfg-10", - "title": "黑白图像噪点优化", - "desc": "噪点优化", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==黑白"] + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] }, - "11": { + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { "category": "base", - "name": "cfg-11", "title": " 噪点优化尺寸", - "desc": "噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", "type": "int", "cur": 30, "default": 30, @@ -122,22 +199,86 @@ "min": 10, "max": 50 }, - "depend_or": ["10==true"] + "depend_or": ["is-noise-optimize==true"] }, - "12": { + "paper": { "category": "base", - "name": "cfg-12", "title": "纸张尺寸", - "desc": "设置纸张大小", + "desc": "设置出图大小", "type": "string", "cur": "匹配原始尺寸", "default": "匹配原始尺寸", - "size": 36, + "size": 40, "range": ["A4", "A5", "A5横向", "A6", "A6横向", "B5", "B5横向", "B6", "B6横向", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸"] }, - "13": { + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { "category": "base", - "name": "cfg-13", "title": "扫描页面", "desc": "设置页面扫描方式", "type": "string", @@ -146,11 +287,10 @@ "size": 50, "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] }, - "14": { + "blank-sensitivity": { "category": "base", - "name": "cfg-14", "title": " 跳过空白页灵敏度", - "desc": "灵敏度越高,则越容易跳过", + "desc": "数值越大,则越容易跳过", "type": "int", "cur": 50, "default": 50, @@ -159,91 +299,60 @@ "min": 1, "max": 100 }, - "depend_or": ["13==跳过空白页(通用)", "13==跳过空白页(发票纸)"] + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] }, - "15": { + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { "category": "base", - "name": "cfg-15", "title": "分辨率", - "desc": "扫描仪分辨率", + "desc": "设置扫描图像的分辨率", "type": "int", "cur": 200, "default": 200, "size": 4, "range": { - "min": 100, - "max": 300 + "min": 1, + "max": 600 } }, - "16": { + "is-exchange": { "category": "base", - "name": "cfg-16", "title": "交换正反面", - "desc": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=单面"] + "depend_and": ["page!=单面"] }, - "17": { + "grp-2": { "category": "base", - "name": "cfg-17", - "title": "图像拆分", - "desc": "自动拆分图像", - "type": "bool", - "cur": false, - "default": false, - "size": 4, - "depend_or": ["13!=对折"] + "title": "亮度", + "type": "group" }, - "18": { + "is-custom-gamma": { "category": "base", - "name": "cfg-18", - "title": "自动纠偏", - "desc": "自动纠偏", - "type": "bool", - "cur": true, - "default": true, - "size": 4, - "depend_or": ["13!=对折"] - }, - "19": { - "category": "base", - "name": "cfg-19", - "title": "穿孔移除", - "desc": "移除纸张中的穿孔", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", "type": "bool", "cur": false, "default": false, "size": 4 }, - "20": { + "brightness": { "category": "base", - "name": "cfg-20", - "title": " 穿孔搜索范围占幅面比例", - "desc": "穿孔搜索范围占幅面比例", - "type": "float", - "cur": 0.100000, - "default": 0.100000, - "size": 4, - "range": { - "min": 0.010000, - "max": 0.500000 - }, - "depend_or": ["19==true"] - }, - "21": { - "category": "base", - "name": "grp-2", - "title": "亮度", - "type": "group" - }, - "22": { - "category": "base", - "name": "cfg-22", - "title": "亮度", - "desc": "调整图片亮度", + "title": "亮度值", + "desc": "调整图像亮度", "type": "int", "cur": 128, "default": 128, @@ -251,13 +360,13 @@ "range": { "min": 1, "max": 255 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "23": { + "contrast": { "category": "base", - "name": "cfg-23", "title": "对比度", - "desc": "调整图片对比度", + "desc": "调整图像对比度", "type": "int", "cur": 4, "default": 4, @@ -265,65 +374,82 @@ "range": { "min": 1, "max": 7 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "24": { + "gamma": { "category": "base", - "name": "cfg-24", - "title": "伽玛", - "desc": "调整图片伽玛值", + "title": "伽马值", + "desc": "调整图像伽玛值", "type": "float", "cur": 1.000000, "default": 1.000000, "size": 4, "range": { - "min": 1.000000, + "min": 0.010000, "max": 5.000000 - } + }, + "depend_and": ["is-custom-gamma==false"] }, - "25": { + "grp-3": { "category": "base", - "name": "grp-3", "title": "图像处理", "type": "group" }, - "26": { + "is-anti-skew": { "category": "base", - "name": "cfg-26", - "title": "锐化与模糊", - "desc": "锐化与模糊", - "type": "string", - "cur": "无", - "default": "无", - "size": 20, - "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"] + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] }, - "27": { + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { "category": "base", - "name": "cfg-27", "title": "消除黑框", - "desc": "消除黑框", + "desc": "消除文稿范围外的黑色背景", "type": "bool", "cur": true, "default": true, "size": 4 }, - "28": { + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { "category": "base", - "name": "cfg-28", - "title": "深色样张", - "desc": "深色样张", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=对折", "27!=true", "12!=匹配原始尺寸", "12!=最大扫描尺寸", "12!=最大扫描尺寸自动裁切", "18!=true"] + "depend_and": ["is-erase-black-frame==true"] }, - "29": { + "threshold": { "category": "advanced", - "name": "cfg-29", "title": "阈值", - "desc": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", "type": "int", "cur": 40, "default": 40, @@ -332,13 +458,12 @@ "min": 30, "max": 50 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸", "12==最大扫描尺寸自动裁切", "18==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "30": { + "anti-noise-level": { "category": "advanced", - "name": "cfg-30", "title": "背景抗噪等级", - "desc": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", "type": "int", "cur": 8, "default": 8, @@ -347,13 +472,12 @@ "min": 1, "max": 20 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸", "12==最大扫描尺寸自动裁切", "18==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "31": { + "margin": { "category": "advanced", - "name": "cfg-31", "title": "边缘缩进", - "desc": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", "type": "int", "cur": 5, "default": 5, @@ -362,130 +486,182 @@ "min": 5, "max": 30 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸自动裁切", "18==true", "12==最大扫描尺寸"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] }, - "32": { - "category": "advanced", - "name": "cfg-32", - "title": "背景填充方式", - "desc": "背景填充方式", - "type": "string", - "cur": "凸多边形", - "default": "凸多边形", - "size": 40, - "range": ["凸多边形", "凹多边形"], - "depend_or": ["27==true"] - }, - "33": { + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { "category": "base", - "name": "cfg-33", "title": "防止渗透", - "desc": "", + "desc": "防止背面图案渗透", "type": "bool", "cur": false, "default": false, "size": 4 }, - "34": { + "permeate-level": { "category": "base", - "name": "cfg-34", "title": " 防止渗透等级", - "desc": "", + "desc": "选择防止渗透的等级", "type": "string", "cur": "较弱", "default": "较弱", - "size": 12, - "range": ["较弱", "弱", "一般", "强", "较强"], - "depend_or": ["33==true"] + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] }, - "35": { + "is-rid-hole-l": { "category": "base", - "name": "cfg-35", - "title": "去除摩尔纹", - "desc": "", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "36": { + "search-hole-range-l": { "category": "base", - "name": "cfg-36", - "title": "错误扩散", - "desc": "", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "37": { + "search-hole-range-r": { "category": "base", - "name": "cfg-37", - "title": "除网纹", - "desc": "", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", "type": "bool", "cur": false, "default": false, "size": 4 }, - "38": { + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { "category": "base", - "name": "grp-4", "title": "送纸方式设置", "type": "group" }, - "39": { + "scan-mode": { "category": "base", - "name": "cfg-39", - "title": "超声波检测", - "desc": "超声波检测送纸状态", - "type": "bool", - "cur": true, - "default": true, - "size": 4 - }, - "40": { - "category": "base", - "name": "cfg-40", "title": "扫描张数", - "desc": "扫描纸张数量", + "desc": "选择指定数量扫描或连续扫描", "type": "string", "cur": "连续扫描", "default": "连续扫描", - "size": 24, + "size": 32, "range": ["连续扫描", "扫描指定张数"] }, - "41": { + "scan-count": { "category": "base", - "name": "cfg-41", "title": " 扫描数量", "desc": "扫描指定数量", "type": "int", "cur": 1, "default": 1, "size": 4, - "depend_or": ["40==扫描指定张数"] + "depend_or": ["scan-mode==扫描指定张数"] }, - "42": { + "direction": { "category": "base", - "name": "cfg-42", "title": "文稿方向", - "desc": "文稿方向", + "desc": "设置图像的方向", "type": "string", "cur": "0°", "default": "0°", - "size": 16, - "range": ["0°", "90°", "180°", "-90°"] + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] }, - "43": { + "is-rotate-bkg-180": { "category": "base", - "name": "cfg-43", "title": "背面旋转180°", "desc": "背面扫描的图像旋转180°", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=单面", "13!=对折", "42!=自动文本方向识别°"] + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 } } \ No newline at end of file diff --git a/docs/G302 - lsc.txt b/docs/G302 - lsc.txt new file mode 100644 index 0000000..694b893 --- /dev/null +++ b/docs/G302 - lsc.txt @@ -0,0 +1,676 @@ +{ + "global": { + "device_type": "G302-lsc", + "option_count": 63 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 40, + "range": ["A4", "A5", "A5横向", "A6", "A6横向", "B5", "B5横向", "B6", "B6横向", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-photo-mode": { + "category": "base", + "title": "照片模式", + "desc": "启用该模式可保留图像原始细节", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G302.txt b/docs/G302.txt new file mode 100644 index 0000000..8702a03 --- /dev/null +++ b/docs/G302.txt @@ -0,0 +1,667 @@ +{ + "global": { + "device_type": "G302", + "option_count": 62 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 40, + "range": ["A4", "A5", "A5横向", "A6", "A6横向", "B5", "B5横向", "B6", "B6横向", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 24, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G400 - lsc.txt b/docs/G400 - lsc.txt new file mode 100644 index 0000000..82e1916 --- /dev/null +++ b/docs/G400 - lsc.txt @@ -0,0 +1,674 @@ +{ + "global": { + "device_type": "G400-lsc", + "option_count": 63 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "is-size-check": { + "category": "base", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸与设置是否匹配", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["paper==A3", "==A4", "==A4横向", "==A5", "==A6", "==A6横向", "==B4", "==B5", "==B5横向", "==B6", "==B6横向", "==Double Letter", "==LEGAL", "==Letter", "==Letter横向"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(发票纸)", "==跳过空白页(通用)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 200, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G400.txt b/docs/G400.txt index bc5e138..fd46f31 100644 --- a/docs/G400.txt +++ b/docs/G400.txt @@ -1,9 +1,10 @@ { - "device_type": "G400", - "option_count": 44, - "1": { + "global": { + "device_type": "G400", + "option_count": 62 + }, + "restore": { "category": "base", - "name": "cfg-1", "title": "恢复默认设置", "desc": "恢复默认设置", "type": "button", @@ -11,9 +12,8 @@ "default": "button", "size": 0 }, - "2": { + "help": { "category": "advanced", - "name": "cfg-2", "title": "帮助", "desc": "显示软件帮助文档", "type": "button", @@ -21,99 +21,176 @@ "default": "true", "size": 4 }, - "3": { + "grp-1": { "category": "base", - "name": "grp-1", "title": "基本设置", "type": "group" }, - "4": { + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { "category": "base", - "name": "cfg-4", "title": "颜色模式", - "desc": "设置颜色位深", + "desc": "选择色彩模式", "type": "string", "cur": "24位彩色", "default": "24位彩色", - "size": 24, - "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"] + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] }, - "5": { + "binary-threshold": { "category": "base", - "name": "cfg-5", - "title": "灰度或黑白图像 - 除色", - "desc": "除去图像彩色", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", "type": "string", "cur": "不除色", "default": "不除色", - "size": 16, + "size": 24, "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], - "depend_or": ["4==256级灰度", "4==黑白"] + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] }, - "6": { + "is-rid-multiout-red": { "category": "base", - "name": "cfg-6", "title": "24位彩色图像 - 多流输出除红", - "desc": "多通道输出中,去除红色", + "desc": "同时输出彩色图像和灰度除红图像", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "7": { + "is-rid-answer-sheet-red": { "category": "base", - "name": "cfg-7", "title": "24位彩色图像 - 答题卡除红", - "desc": "答题卡扫描中去除红色", + "desc": "输出除红彩色图像", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "8": { + "is-erase-bkg": { "category": "base", - "name": "cfg-8", "title": "背景移除", - "desc": "移除彩色图像背景", + "desc": "移除文稿背景底色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==24位彩色"] + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] }, - "9": { + "bkg-color-range": { "category": "base", - "name": "cfg-9", - "title": " 背景色彩浮动范围", - "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", "type": "int", - "cur": 10, - "default": 10, + "cur": 20, + "default": 20, "size": 4, "range": { "min": 1, - "max": 40 + "max": 128 }, - "depend_or": ["8==true"] + "depend_or": ["is-erase-bkg==true"] }, - "10": { + "sharpen": { "category": "base", - "name": "cfg-10", - "title": "黑白图像噪点优化", - "desc": "噪点优化", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_or": ["4==黑白"] + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] }, - "11": { + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { "category": "base", - "name": "cfg-11", "title": " 噪点优化尺寸", - "desc": "噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", "type": "int", "cur": 30, "default": 30, @@ -122,22 +199,86 @@ "min": 10, "max": 50 }, - "depend_or": ["10==true"] + "depend_or": ["is-noise-optimize==true"] }, - "12": { + "paper": { "category": "base", - "name": "cfg-12", "title": "纸张尺寸", - "desc": "设置纸张大小", + "desc": "设置出图大小", "type": "string", "cur": "匹配原始尺寸", "default": "匹配原始尺寸", - "size": 44, - "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸"] + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] }, - "13": { + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { "category": "base", - "name": "cfg-13", "title": "扫描页面", "desc": "设置页面扫描方式", "type": "string", @@ -146,11 +287,10 @@ "size": 50, "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] }, - "14": { + "blank-sensitivity": { "category": "base", - "name": "cfg-14", "title": " 跳过空白页灵敏度", - "desc": "灵敏度越高,则越容易跳过", + "desc": "数值越大,则越容易跳过", "type": "int", "cur": 50, "default": 50, @@ -159,91 +299,60 @@ "min": 1, "max": 100 }, - "depend_or": ["13==跳过空白页(发票纸)", "13==跳过空白页(通用)"] + "depend_or": ["page==跳过空白页(发票纸)", "==跳过空白页(通用)"] }, - "15": { + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "上下对折", + "default": "上下对折", + "size": 200, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { "category": "base", - "name": "cfg-15", "title": "分辨率", - "desc": "扫描仪分辨率", + "desc": "设置扫描图像的分辨率", "type": "int", "cur": 200, "default": 200, "size": 4, "range": { - "min": 100, - "max": 300 + "min": 1, + "max": 600 } }, - "16": { + "is-exchange": { "category": "base", - "name": "cfg-16", "title": "交换正反面", - "desc": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=单面"] + "depend_and": ["page!=单面"] }, - "17": { + "grp-2": { "category": "base", - "name": "cfg-17", - "title": "图像拆分", - "desc": "自动拆分图像", - "type": "bool", - "cur": false, - "default": false, - "size": 4, - "depend_or": ["13!=对折"] + "title": "亮度", + "type": "group" }, - "18": { + "is-custom-gamma": { "category": "base", - "name": "cfg-18", - "title": "自动纠偏", - "desc": "自动纠偏", - "type": "bool", - "cur": true, - "default": true, - "size": 4, - "depend_or": ["13!=对折"] - }, - "19": { - "category": "base", - "name": "cfg-19", - "title": "穿孔移除", - "desc": "移除纸张中的穿孔", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", "type": "bool", "cur": false, "default": false, "size": 4 }, - "20": { + "brightness": { "category": "base", - "name": "cfg-20", - "title": " 穿孔搜索范围占幅面比例", - "desc": "穿孔搜索范围占幅面比例", - "type": "float", - "cur": 0.100000, - "default": 0.100000, - "size": 4, - "range": { - "min": 0.010000, - "max": 0.500000 - }, - "depend_or": ["19==true"] - }, - "21": { - "category": "base", - "name": "grp-2", - "title": "亮度", - "type": "group" - }, - "22": { - "category": "base", - "name": "cfg-22", - "title": "亮度", - "desc": "调整图片亮度", + "title": "亮度值", + "desc": "调整图像亮度", "type": "int", "cur": 128, "default": 128, @@ -253,11 +362,10 @@ "max": 255 } }, - "23": { + "contrast": { "category": "base", - "name": "cfg-23", "title": "对比度", - "desc": "调整图片对比度", + "desc": "调整图像对比度", "type": "int", "cur": 4, "default": 4, @@ -267,63 +375,78 @@ "max": 7 } }, - "24": { + "gamma": { "category": "base", - "name": "cfg-24", - "title": "伽玛", - "desc": "调整图片伽玛值", + "title": "伽马值", + "desc": "调整图像伽玛值", "type": "float", "cur": 1.000000, "default": 1.000000, "size": 4, "range": { - "min": 1.000000, + "min": 0.010000, "max": 5.000000 } }, - "25": { + "grp-3": { "category": "base", - "name": "grp-3", "title": "图像处理", "type": "group" }, - "26": { + "is-anti-skew": { "category": "base", - "name": "cfg-26", - "title": "锐化与模糊", - "desc": "锐化与模糊", - "type": "string", - "cur": "无", - "default": "无", - "size": 20, - "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"] + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] }, - "27": { + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { "category": "base", - "name": "cfg-27", "title": "消除黑框", - "desc": "消除黑框", + "desc": "消除文稿范围外的黑色背景", "type": "bool", "cur": true, "default": true, "size": 4 }, - "28": { + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { "category": "base", - "name": "cfg-28", - "title": "深色样张", - "desc": "深色样张", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=对折", "27!=true", "12!=匹配原始尺寸", "12!=最大扫描尺寸", "12!=最大扫描尺寸自动裁切", "18!=true"] + "depend_and": ["is-erase-black-frame==true"] }, - "29": { + "threshold": { "category": "advanced", - "name": "cfg-29", "title": "阈值", - "desc": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", "type": "int", "cur": 40, "default": 40, @@ -332,13 +455,12 @@ "min": 30, "max": 50 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸", "12==最大扫描尺寸自动裁切", "18==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "30": { + "anti-noise-level": { "category": "advanced", - "name": "cfg-30", "title": "背景抗噪等级", - "desc": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", "type": "int", "cur": 8, "default": 8, @@ -347,13 +469,12 @@ "min": 1, "max": 20 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸", "12==最大扫描尺寸自动裁切", "18==true"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] }, - "31": { + "margin": { "category": "advanced", - "name": "cfg-31", "title": "边缘缩进", - "desc": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", "type": "int", "cur": 5, "default": 5, @@ -362,130 +483,182 @@ "min": 5, "max": 30 }, - "depend_or": ["27==true", "12==匹配原始尺寸", "12==最大扫描尺寸自动裁切", "18==true", "12==最大扫描尺寸"] + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] }, - "32": { - "category": "advanced", - "name": "cfg-32", - "title": "背景填充方式", - "desc": "背景填充方式", - "type": "string", - "cur": "凸多边形", - "default": "凸多边形", - "size": 40, - "range": ["凸多边形", "凹多边形"], - "depend_or": ["27==true"] - }, - "33": { + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { "category": "base", - "name": "cfg-33", "title": "防止渗透", - "desc": "", + "desc": "防止背面图案渗透", "type": "bool", "cur": false, "default": false, "size": 4 }, - "34": { + "permeate-level": { "category": "base", - "name": "cfg-34", "title": " 防止渗透等级", - "desc": "", + "desc": "选择防止渗透的等级", "type": "string", "cur": "较弱", "default": "较弱", - "size": 12, - "range": ["较弱", "弱", "一般", "强", "较强"], - "depend_or": ["33==true"] + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] }, - "35": { + "is-rid-hole-l": { "category": "base", - "name": "cfg-35", - "title": "去除摩尔纹", - "desc": "", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "36": { + "search-hole-range-l": { "category": "base", - "name": "cfg-36", - "title": "错误扩散", - "desc": "", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", "type": "bool", "cur": false, "default": false, "size": 4 }, - "37": { + "search-hole-range-r": { "category": "base", - "name": "cfg-37", - "title": "除网纹", - "desc": "", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", "type": "bool", "cur": false, "default": false, "size": 4 }, - "38": { + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { "category": "base", - "name": "grp-4", "title": "送纸方式设置", "type": "group" }, - "39": { + "scan-mode": { "category": "base", - "name": "cfg-39", - "title": "超声波检测", - "desc": "超声波检测送纸状态", - "type": "bool", - "cur": true, - "default": true, - "size": 4 - }, - "40": { - "category": "base", - "name": "cfg-40", "title": "扫描张数", - "desc": "扫描纸张数量", + "desc": "选择指定数量扫描或连续扫描", "type": "string", "cur": "连续扫描", "default": "连续扫描", - "size": 24, + "size": 32, "range": ["连续扫描", "扫描指定张数"] }, - "41": { + "scan-count": { "category": "base", - "name": "cfg-41", "title": " 扫描数量", "desc": "扫描指定数量", "type": "int", "cur": 1, "default": 1, "size": 4, - "depend_or": ["40==扫描指定张数"] + "depend_or": ["scan-mode==扫描指定张数"] }, - "42": { + "direction": { "category": "base", - "name": "cfg-42", "title": "文稿方向", - "desc": "文稿方向", + "desc": "设置图像的方向", "type": "string", "cur": "0°", "default": "0°", - "size": 32, + "size": 40, "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] }, - "43": { + "is-rotate-bkg-180": { "category": "base", - "name": "cfg-43", "title": "背面旋转180°", "desc": "背面扫描的图像旋转180°", "type": "bool", "cur": false, "default": false, "size": 4, - "depend_and": ["13!=单面", "13!=对折", "42!=自动文本方向识别°"] + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 } } \ No newline at end of file diff --git a/docs/G402-lsc.txt b/docs/G402-lsc.txt new file mode 100644 index 0000000..ef3f6cb --- /dev/null +++ b/docs/G402-lsc.txt @@ -0,0 +1,674 @@ +{ + "global": { + "device_type": "G402-lsc", + "option_count": 63 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "is-size-check": { + "category": "base", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸与设置是否匹配", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["paper==A3", "==A4", "==A4横向", "==A5", "==A6", "==A6横向", "==B4", "==B5", "==B5横向", "==B6", "==B6横向", "==Double Letter", "==LEGAL", "==Letter", "==Letter横向"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(发票纸)", "==跳过空白页(通用)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "上下对折", + "default": "上下对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G402-x86.txt b/docs/G402-x86.txt new file mode 100644 index 0000000..b425fdf --- /dev/null +++ b/docs/G402-x86.txt @@ -0,0 +1,664 @@ +{ + "global": { + "device_type": "G402-x86", + "option_count": 62 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(发票纸)", "==跳过空白页(通用)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 200, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G402.txt b/docs/G402.txt new file mode 100644 index 0000000..748ce65 --- /dev/null +++ b/docs/G402.txt @@ -0,0 +1,664 @@ +{ + "global": { + "device_type": "G402", + "option_count": 62 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(发票纸)", "==跳过空白页(通用)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 200, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_or": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G439-lsc.txt b/docs/G439-lsc.txt new file mode 100644 index 0000000..8043de7 --- /dev/null +++ b/docs/G439-lsc.txt @@ -0,0 +1,660 @@ +{ + "global": { + "device_type": "G439-lsc", + "option_count": 62 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout==false"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "is-size-check": { + "category": "base", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸与设置是否匹配", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["paper==A3", "==A4", "==A4横向", "==A5", "==A6", "==A6横向", "==B4", "==B5", "==B5横向", "==B6", "==B6横向", "==Double Letter", "==LEGAL", "==Letter", "==Letter横向"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(发票纸)", "==跳过空白页(通用)"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300, 600] + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + } +} \ No newline at end of file diff --git a/docs/G439.txt b/docs/G439.txt new file mode 100644 index 0000000..2b9611b --- /dev/null +++ b/docs/G439.txt @@ -0,0 +1,732 @@ +{ + "global": { + "device_type": "G439", + "option_count": 68 + }, + "restore": { + "category": "base", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "help": { + "category": "advanced", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "grp-1": { + "category": "base", + "title": "基本设置", + "type": "group" + }, + "is-multiout": { + "category": "base", + "title": "多流输出", + "desc": "同时输出多种颜色模式的图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "multiout-type": { + "category": "base", + "title": "多流输出类型", + "desc": "选择多流输出的类型", + "type": "string", + "cur": "彩色+灰度+黑白", + "default": "彩色+灰度+黑白", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["is-multiout==true"] + }, + "mode": { + "category": "base", + "title": "颜色模式", + "desc": "选择色彩模式", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["is-multiout!=true"] + }, + "binary-threshold": { + "category": "base", + "title": "黑白图像阈值", + "desc": "高于该阈值为1(白),低于该阈值为0(黑)", + "type": "int", + "cur": 127, + "default": 127, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "reverse-bw": { + "category": "base", + "title": "黑白图像反色输出", + "desc": "输出的黑白图像以“1”代表黑色,“0”代表白色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["is-multiout==true", "mode==黑白"] + }, + "filter": { + "category": "base", + "title": "灰度或黑白图像 - 除色与增强", + "desc": "消除或增强指定色彩", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["is-multiout!=true", "mode!=24位彩色", "!=颜色自动识别"] + }, + "is-rid-multiout-red": { + "category": "base", + "title": "24位彩色图像 - 多流输出除红", + "desc": "同时输出彩色图像和灰度除红图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-rid-answer-sheet-red": { + "category": "base", + "title": "24位彩色图像 - 答题卡除红", + "desc": "输出除红彩色图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "is-erase-bkg": { + "category": "base", + "title": "背景移除", + "desc": "移除文稿背景底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=256级灰度", "!=黑白", "!=颜色自动识别"] + }, + "bkg-color-range": { + "category": "base", + "title": " 背景色彩浮动范围", + "desc": "与背景底色偏差在该值范围内的颜色,都将被移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["is-erase-bkg==true"] + }, + "sharpen": { + "category": "base", + "title": "锐化与模糊", + "desc": "选择锐化效果或模糊效果", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-morr": { + "category": "base", + "title": "去除摩尔纹", + "desc": "去除图像中的摩尔纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-rid-grid": { + "category": "base", + "title": "除网纹", + "desc": "去除图像中的网纹", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-multiout!=true", "mode!=黑白", "!=颜色自动识别"] + }, + "is-err-extension": { + "category": "base", + "title": "错误扩散", + "desc": "以点阵形式构建图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "is-noise-optimize": { + "category": "base", + "title": "黑白图像噪点优化", + "desc": "去除图像中的孤立黑点", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["mode==黑白"] + }, + "noise-size": { + "category": "base", + "title": " 噪点优化尺寸", + "desc": "设置需要去除的黑色孤立点的连通个数", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["is-noise-optimize==true"] + }, + "paper": { + "category": "base", + "title": "纸张尺寸", + "desc": "设置出图大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "is-custom-area": { + "category": "base", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["paper!=匹配原始尺寸", "!=三联试卷", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切"] + }, + "tl-x": { + "category": "base", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-x": { + "category": "base", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "tl-y": { + "category": "base", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "br-y": { + "category": "base", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["is-custom-area==true"] + }, + "is-size-check": { + "category": "base", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸与设置是否匹配", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["paper==A3", "==A4", "==A4横向", "==A5", "==A5横向", "==A6", "==A6横向", "==B4", "==B5", "==B5横向", "==B6", "==B6横向", "==Double Letter", "==LEGAL", "==Letter", "==Letter横向"] + }, + "page": { + "category": "base", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "blank-sensitivity": { + "category": "base", + "title": " 跳过空白页灵敏度", + "desc": "数值越大,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["page==跳过空白页(通用)", "==跳过空白页(发票纸)"] + }, + "fold-type": { + "category": "base", + "title": "对折模式", + "desc": "", + "type": "string", + "cur": "左右对折", + "default": "左右对折", + "size": 50, + "range": ["左右对折", "上下对折", "自动对折"], + "depend_or": ["page==对折"] + }, + "resolution": { + "category": "base", + "title": "分辨率", + "desc": "设置扫描图像的分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": { + "min": 1, + "max": 600 + } + }, + "image-quality": { + "category": "base", + "title": "画质", + "desc": "选择扫描仪的画质模式", + "type": "string", + "cur": "速度优先", + "default": "速度优先", + "size": 24, + "range": ["速度优先", "画质优先"], + "depend_or": ["resolution>=300"] + }, + "is-exchange": { + "category": "base", + "title": "交换正反面", + "desc": "交换每张文稿的正反面出图顺序", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面"] + }, + "grp-2": { + "category": "base", + "title": "亮度", + "type": "group" + }, + "is-custom-gamma": { + "category": "base", + "title": "启用色调曲线", + "desc": "自定义图像色调效果", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "brightness": { + "category": "base", + "title": "亮度值", + "desc": "调整图像亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "contrast": { + "category": "base", + "title": "对比度", + "desc": "调整图像对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "gamma": { + "category": "base", + "title": "伽马值", + "desc": "调整图像伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["is-custom-gamma==false"] + }, + "grp-3": { + "category": "base", + "title": "图像处理", + "type": "group" + }, + "is-anti-skew": { + "category": "base", + "title": "自动纠偏", + "desc": "自动纠正歪斜送入的文稿图像", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["page!=对折"] + }, + "is-split": { + "category": "base", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "!=跳过空白页(发票纸)", "!=跳过空白页(通用)"] + }, + "is-erase-black-frame": { + "category": "base", + "title": "消除黑框", + "desc": "消除文稿范围外的黑色背景", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "bkg-fill-mode": { + "category": "advanced", + "title": "背景填充方式", + "desc": "选择背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["is-erase-black-frame==true"] + }, + "is-fill-color": { + "category": "base", + "title": "色彩填充", + "desc": "启用后黑框部分将填充为文稿底色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["is-erase-black-frame==true"] + }, + "threshold": { + "category": "advanced", + "title": "阈值", + "desc": "文稿底色与黑色背景灰度值的差值大于该值,才会被识别为文稿", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "anti-noise-level": { + "category": "advanced", + "title": "背景抗噪等级", + "desc": "能够容忍的背景杂色条纹的宽度", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸", "==最大扫描尺寸自动裁切", "is-anti-skew==true"] + }, + "margin": { + "category": "advanced", + "title": "边缘缩进", + "desc": "寻找文稿边缘时对边缘的侵入程度", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["is-erase-black-frame==true", "paper==匹配原始尺寸", "==最大扫描尺寸自动裁切", "==最大扫描尺寸", "is-anti-skew==true"] + }, + "is-dark-sample": { + "category": "base", + "title": "深色样张", + "desc": "启用该模式防止深色底色的文稿图像被误处理", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=对折", "is-erase-black-frame!=true", "paper!=匹配原始尺寸", "!=最大扫描尺寸", "!=最大扫描尺寸自动裁切", "is-anti-skew!=true"] + }, + "is-anti-permeate": { + "category": "base", + "title": "防止渗透", + "desc": "防止背面图案渗透", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "permeate-level": { + "category": "base", + "title": " 防止渗透等级", + "desc": "选择防止渗透的等级", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["is-anti-permeate==true"] + }, + "is-rid-hole-l": { + "category": "base", + "title": "穿孔移除—左侧", + "desc": "穿孔在纸张上的左侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-l": { + "category": "base", + "title": " 左侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-l==true"] + }, + "is-rid-hole-r": { + "category": "base", + "title": "穿孔移除—右侧", + "desc": "穿孔在纸张上的右侧", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-r": { + "category": "base", + "title": " 右侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-r==true"] + }, + "is-rid-hole-t": { + "category": "base", + "title": "穿孔移除—上侧", + "desc": "穿孔在纸张的上部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-t": { + "category": "base", + "title": " 上侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-t==true"] + }, + "is-rid-hole-b": { + "category": "base", + "title": "穿孔移除—下侧", + "desc": "穿孔在纸张的下部", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "search-hole-range-b": { + "category": "base", + "title": " 下侧穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.000000, + "max": 0.500000 + }, + "depend_and": ["is-rid-hole-b==true"] + }, + "grp-4": { + "category": "base", + "title": "送纸方式设置", + "type": "group" + }, + "is-wait-scan": { + "category": "base", + "title": "待纸扫描", + "desc": "启用后,文稿放入扫描仪时将自动启动扫描", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "scan-mode": { + "category": "base", + "title": "扫描张数", + "desc": "选择指定数量扫描或连续扫描", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"], + "depend_and": ["is-wait-scan==false"] + }, + "scan-count": { + "category": "base", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_and": ["is-wait-scan==false", "scan-mode==扫描指定张数"] + }, + "direction": { + "category": "base", + "title": "文稿方向", + "desc": "设置图像的方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "is-rotate-bkg-180": { + "category": "base", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["page!=单面", "!=对折", "direction!=自动文本方向识别°"] + }, + "is-ultrosonic": { + "category": "base", + "title": "超声波检测", + "desc": "检测是否出现双张送入", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "double-feed": { + "category": "base", + "title": "双张图片处理", + "desc": "检测到双张进纸后的处理方式", + "type": "string", + "cur": "丢弃图像并停止扫描", + "default": "丢弃图像并停止扫描", + "size": 40, + "range": ["丢弃图像并停止扫描", "上传图像并停止扫描"], + "depend_or": ["is-ultrosonic==true"] + }, + "is-check-dog-ear": { + "category": "base", + "title": "折角检测", + "desc": "检测文稿是否存在折角", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "dog-ear-size": { + "category": "base", + "title": " 折角大小", + "desc": "值越小,能检测到的折角越小", + "type": "int", + "cur": 70, + "default": 70, + "size": 4, + "range": { + "min": 0, + "max": 100 + }, + "depend_or": ["is-check-dog-ear==true"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G100-G200 - lsc.txt b/docs/docs历史备份/G100-G200 - lsc.txt new file mode 100644 index 0000000..ac8092b --- /dev/null +++ b/docs/docs历史备份/G100-G200 - lsc.txt @@ -0,0 +1,660 @@ +{ + "device_type": "G100-lsc", + "option_count": 57, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4!=true"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "26": { + "category": "base", + "name": "cfg-26", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["25==跳过空白页(通用)", "25==跳过空白页(发票纸)"] + }, + "27": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200,300] + }, + "28": { + "category": "base", + "name": "cfg-28", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面"] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["25!=对折"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["25!=对折"] + }, + "31": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽马值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "33": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["32==false"] + }, + "34": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["32==false"] + }, + "35": { + "category": "base", + "name": "cfg-35", + "title": "伽马值", + "desc": "调整图片伽马值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["32==false"] + }, + "36": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=对折", "37!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "30!=true"] + }, + "39": { + "category": "advanced", + "name": "cfg-39", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "30==true", "19==最大扫描尺寸"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["37==true"] + }, + "43": { + "category": "base", + "name": "cfg-43", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["43==true"] + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["45==true"] + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["37==true"] + }, + "48": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "49": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "50": { + "category": "base", + "name": "cfg-50", + "title": "装订检测", + "desc": "检测纸张上是否有钉书钉", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["51==扫描指定张数"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面", "25!=对折", "53!=自动文本方向识别°"] + }, + "55": { + "category": "base", + "name": "cfg-55", + "title": "歪斜检测", + "desc": "纸张歪斜检测", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "56": { + "category": "base", + "name": "cfg-56", + "title": " 歪斜容忍度", + "desc": "值越小,代表能检测到纸张的歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["55==true"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G100-G200.txt b/docs/docs历史备份/G100-G200.txt new file mode 100644 index 0000000..3bc5dab --- /dev/null +++ b/docs/docs历史备份/G100-G200.txt @@ -0,0 +1,660 @@ +{ + "device_type": "G100", + "option_count": 57, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4!=true"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "26": { + "category": "base", + "name": "cfg-26", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["25==跳过空白页(通用)", "25==跳过空白页(发票纸)"] + }, + "27": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300] + }, + "28": { + "category": "base", + "name": "cfg-28", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面"] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["25!=对折"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["25!=对折"] + }, + "31": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽马值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "33": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["32==false"] + }, + "34": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["32==false"] + }, + "35": { + "category": "base", + "name": "cfg-35", + "title": "伽马值", + "desc": "调整图片伽马值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["32==false"] + }, + "36": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=对折", "37!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "30!=true"] + }, + "39": { + "category": "advanced", + "name": "cfg-39", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "30==true", "19==最大扫描尺寸"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["37==true"] + }, + "43": { + "category": "base", + "name": "cfg-43", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["43==true"] + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["45==true"] + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["37==true"] + }, + "48": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "49": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "50": { + "category": "base", + "name": "cfg-50", + "title": "装订检测", + "desc": "检测纸张上是否有钉书钉", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["51==扫描指定张数"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面", "25!=对折", "53!=自动文本方向识别°"] + }, + "55": { + "category": "base", + "name": "cfg-55", + "title": "歪斜检测", + "desc": "纸张歪斜检测", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "56": { + "category": "base", + "name": "cfg-56", + "title": " 歪斜容忍度", + "desc": "值越小,代表能检测到纸张的歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["55==true"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G139-239 - lsc.txt b/docs/docs历史备份/G139-239 - lsc.txt new file mode 100644 index 0000000..1223c62 --- /dev/null +++ b/docs/docs历史备份/G139-239 - lsc.txt @@ -0,0 +1,708 @@ +{ + "device_type": "G239-lsc", + "option_count": 61, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4!=true"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "cfg-25", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["19==A3", "19==A4", "19==A4横向", "19==A5", "19==A5横向", "19==A6", "19==A6横向", "19==B4", "19==B5", "19==B5横向", "19==B6", "19==B6横向", "19==Double Letter", "19==LEGAL", "19==Letter", "19==Letter横向"] + }, + "26": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "27": { + "category": "base", + "name": "cfg-27", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["26==跳过空白页(通用)", "26==跳过空白页(发票纸)"] + }, + "28": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 240, 300, 600] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "画质", + "desc": "", + "type": "string", + "cur": "速度优先", + "default": "速度优先", + "size": 24, + "range": ["速度优先", "画质优先"], + "depend_or": ["28==300", "28==600"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面"] + }, + "31": { + "category": "base", + "name": "cfg-31", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "26!=跳过空白页(发票纸)", "26!=跳过空白页(通用)"] + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["26!=对折"] + }, + "33": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "34": { + "category": "base", + "name": "cfg-34", + "title": "启用色调曲线", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "35": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["34==false"] + }, + "36": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["34==false"] + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "伽马值", + "desc": "调整图片伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["34==false"] + }, + "38": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "39": { + "category": "base", + "name": "cfg-39", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "40": { + "category": "base", + "name": "cfg-40", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "39!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "32!=true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["39==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "32==true"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["39==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "32==true"] + }, + "43": { + "category": "advanced", + "name": "cfg-43", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["39==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "32==true", "19==最大扫描尺寸"] + }, + "44": { + "category": "advanced", + "name": "cfg-44", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["39==true"] + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["45==true"] + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "48": { + "category": "base", + "name": "cfg-48", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["47==true"] + }, + "49": { + "category": "base", + "name": "cfg-49", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["39==true"] + }, + "50": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "51": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": "装订检测", + "desc": "检测纸张上是否有钉书钉", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["53==扫描指定张数"] + }, + "55": { + "category": "base", + "name": "cfg-55", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "56": { + "category": "base", + "name": "cfg-56", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面", "26!=对折", "55!=自动文本方向识别°"] + }, + "57": { + "category": "base", + "name": "cfg-57", + "title": "折角检测", + "desc": "纸张折角检测", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "58": { + "category": "base", + "name": "cfg-58", + "title": " 折角大小", + "desc": "值越小,代表能检测到的折角越小", + "type": "int", + "cur": 70, + "default": 70, + "size": 4, + "range": { + "min": 0, + "max": 100 + }, + "depend_or": ["57==true"] + }, + "59": { + "category": "base", + "name": "cfg-59", + "title": "歪斜检测", + "desc": "纸张歪斜检测", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "60": { + "category": "base", + "name": "cfg-60", + "title": "歪斜容忍度", + "desc": "值越小,代表能检测到纸张的歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["59==true"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G139-239-x86.txt b/docs/docs历史备份/G139-239-x86.txt new file mode 100644 index 0000000..82e6cd5 --- /dev/null +++ b/docs/docs历史备份/G139-239-x86.txt @@ -0,0 +1,787 @@ +{ + "device_type": "G139-239-x86", + "option_count": 68, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4!=true"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "cfg-25", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["19==A3", "19==A4", "19==A4横向", "19==A5", "19==A5横向", "19==A6", "19==A6横向", "19==B4", "19==B5", "19==B5横向", "19==B6", "19==B6横向", "19==Double Letter", "19==LEGAL", "19==Letter", "19==Letter横向"] + }, + "26": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "27": { + "category": "base", + "name": "cfg-27", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["26==跳过空白页(通用)", "26==跳过空白页(发票纸)"] + }, + "28": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 240, 300, 600] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "画质", + "desc": "", + "type": "string", + "cur": "速度优先", + "default": "速度优先", + "size": 24, + "range": ["速度优先", "画质优先"], + "depend_or": ["28==300", "28==600"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面"] + }, + "31": { + "category": "base", + "name": "cfg-31", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "26!=跳过空白页(发票纸)", "26!=跳过空白页(通用)"] + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["26!=对折"] + }, + "33": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "34": { + "category": "base", + "name": "cfg-34", + "title": "启用色调曲线", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "35": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["34==false"] + }, + "36": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["34==false"] + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "伽马值", + "desc": "调整图片伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["34==false"] + }, + "38": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "39": { + "category": "base", + "name": "cfg-39", + "title": "照片模式", + "desc": "选择该模式以保留图片水印", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "40": { + "category": "base", + "name": "cfg-40", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "41": { + "category": "base", + "name": "cfg-41", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "40!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "32!=true"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["40==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "32==true"] + }, + "43": { + "category": "advanced", + "name": "cfg-43", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["40==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "32==true"] + }, + "44": { + "category": "advanced", + "name": "cfg-44", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["40==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "32==true", "19==最大扫描尺寸"] + }, + "45": { + "category": "advanced", + "name": "cfg-45", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["40==true"] + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["46==true"] + }, + "48": { + "category": "base", + "name": "cfg-48", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "49": { + "category": "base", + "name": "cfg-49", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["48==true"] + }, + "50": { + "category": "base", + "name": "cfg-50", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["40==true"] + }, + "51": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "52": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "双张图片处理", + "desc": "检测到双张进纸后的处理方式", + "type": "string", + "cur": "丢弃图像并停止扫描", + "default": "丢弃图像并停止扫描", + "size": 40, + "range": ["丢弃图像并停止扫描", "上传图像并停止扫描"], + "depend_or": ["52==true"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": "装订检测", + "desc": "检测纸张上是否有钉书钉", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "55": { + "category": "base", + "name": "cfg-55", + "title": "待纸扫描", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "56": { + "category": "base", + "name": "cfg-56", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "57": { + "category": "base", + "name": "cfg-57", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["56==扫描指定张数"] + }, + "58": { + "category": "base", + "name": "cfg-58", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "59": { + "category": "base", + "name": "cfg-59", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面", "26!=对折", "58!=自动文本方向识别°"] + }, + "60": { + "category": "base", + "name": "cfg-60", + "title": "折角检测", + "desc": "纸张折角检测", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "61": { + "category": "base", + "name": "cfg-61", + "title": " 折角大小", + "desc": "值越小,代表能检测到的折角越小", + "type": "int", + "cur": 70, + "default": 70, + "size": 4, + "range": { + "min": 0, + "max": 100 + }, + "depend_or": ["60==true"] + }, + "62": { + "category": "base", + "name": "cfg-62", + "title": "歪斜检测", + "desc": "纸张歪斜检测", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "63": { + "category": "base", + "name": "cfg-63", + "title": "歪斜容忍度", + "desc": "值越小,代表能检测到纸张的歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["62==true"] + }, + "64": { + "category": "base", + "name": "cfg-64", + "title": "分纸强度", + "desc": "", + "type": "string", + "cur": "弱", + "default": "弱", + "size": 16, + "range": ["弱", "一般", "强"] + }, + "65": { + "category": "base", + "name": "cfg-65", + "title": "休眠时间", + "desc": "", + "type": "string", + "cur": "不休眠", + "default": "不休眠", + "size": 24, + "range": ["不休眠", "五分钟", "十分钟", "半小时", "一小时", "两小时", "四小时"] + }, + "66": { + "category": "base", + "name": "cfg-66", + "title": "自动搓纸强度", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "67": { + "category": "base", + "name": "cfg-67", + "title": " 搓纸阈值", + "desc": "", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.100000, + "max": 0.900000 + }, + "depend_or": ["66==true"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G139-239.txt b/docs/docs历史备份/G139-239.txt new file mode 100644 index 0000000..43a235d --- /dev/null +++ b/docs/docs历史备份/G139-239.txt @@ -0,0 +1,787 @@ +{ + "device_type": "G239", + "option_count": 68, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4!=true"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "8开", "A4", "A4横向", "16开", "16开横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "自定义扫描区域", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "自定义扫描区域右下角x坐标", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "cfg-25", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["19==A3", "19==A4", "19==A4横向", "19==A5", "19==A5横向", "19==A6", "19==A6横向", "19==B4", "19==B5", "19==B5横向", "19==B6", "19==B6横向", "19==Double Letter", "19==LEGAL", "19==Letter", "19==Letter横向"] + }, + "26": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "27": { + "category": "base", + "name": "cfg-27", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["26==跳过空白页(通用)", "26==跳过空白页(发票纸)"] + }, + "28": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 240, 300, 600] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "画质", + "desc": "", + "type": "string", + "cur": "速度优先", + "default": "速度优先", + "size": 24, + "range": ["速度优先", "画质优先"], + "depend_or": ["28==300", "28==600"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面"] + }, + "31": { + "category": "base", + "name": "cfg-31", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "26!=跳过空白页(发票纸)", "26!=跳过空白页(通用)"] + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["26!=对折"] + }, + "33": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "34": { + "category": "base", + "name": "cfg-34", + "title": "启用色调曲线", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "35": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["34==false"] + }, + "36": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["34==false"] + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "伽马值", + "desc": "调整图片伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["34==false"] + }, + "38": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "39": { + "category": "base", + "name": "cfg-39", + "title": "照片模式", + "desc": "选择该模式以保留图片水印", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "40": { + "category": "base", + "name": "cfg-40", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "41": { + "category": "base", + "name": "cfg-41", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "40!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "32!=true"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["40==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "32==true"] + }, + "43": { + "category": "advanced", + "name": "cfg-43", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["40==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "32==true"] + }, + "44": { + "category": "advanced", + "name": "cfg-44", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["40==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "32==true", "19==最大扫描尺寸"] + }, + "45": { + "category": "advanced", + "name": "cfg-45", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["40==true"] + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["46==true"] + }, + "48": { + "category": "base", + "name": "cfg-48", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "49": { + "category": "base", + "name": "cfg-49", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["48==true"] + }, + "50": { + "category": "base", + "name": "cfg-50", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["40==true"] + }, + "51": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "52": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "双张图片处理", + "desc": "检测到双张进纸后的处理方式", + "type": "string", + "cur": "丢弃图像并停止扫描", + "default": "丢弃图像并停止扫描", + "size": 40, + "range": ["丢弃图像并停止扫描", "上传图像并停止扫描"], + "depend_or": ["52==true"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": "装订检测", + "desc": "检测纸张上是否有钉书钉", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "55": { + "category": "base", + "name": "cfg-55", + "title": "待纸扫描", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "56": { + "category": "base", + "name": "cfg-56", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "57": { + "category": "base", + "name": "cfg-57", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["56==扫描指定张数"] + }, + "58": { + "category": "base", + "name": "cfg-58", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "59": { + "category": "base", + "name": "cfg-59", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面", "26!=对折", "58!=自动文本方向识别°"] + }, + "60": { + "category": "base", + "name": "cfg-60", + "title": "折角检测", + "desc": "纸张折角检测", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "61": { + "category": "base", + "name": "cfg-61", + "title": " 折角大小", + "desc": "值越小,代表能检测到的折角越小", + "type": "int", + "cur": 70, + "default": 70, + "size": 4, + "range": { + "min": 0, + "max": 100 + }, + "depend_or": ["60==true"] + }, + "62": { + "category": "base", + "name": "cfg-62", + "title": "歪斜检测", + "desc": "纸张歪斜检测", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "63": { + "category": "base", + "name": "cfg-63", + "title": "歪斜容忍度", + "desc": "值越小,代表能检测到纸张的歪斜角度越小", + "type": "int", + "cur": 3, + "default": 3, + "size": 4, + "range": { + "min": 1, + "max": 5 + }, + "depend_or": ["62==true"] + }, + "64": { + "category": "base", + "name": "cfg-64", + "title": "分纸强度", + "desc": "", + "type": "string", + "cur": "弱", + "default": "弱", + "size": 16, + "range": ["弱", "一般", "强"] + }, + "65": { + "category": "base", + "name": "cfg-65", + "title": "休眠时间", + "desc": "", + "type": "string", + "cur": "不休眠", + "default": "不休眠", + "size": 24, + "range": ["不休眠", "五分钟", "十分钟", "半小时", "一小时", "两小时", "四小时"] + }, + "66": { + "category": "base", + "name": "cfg-66", + "title": "自动搓纸强度", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "67": { + "category": "base", + "name": "cfg-67", + "title": " 搓纸阈值", + "desc": "", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.100000, + "max": 0.900000 + }, + "depend_or": ["66==true"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G300 - lsc.txt b/docs/docs历史备份/G300 - lsc.txt new file mode 100644 index 0000000..656d24a --- /dev/null +++ b/docs/docs历史备份/G300 - lsc.txt @@ -0,0 +1,625 @@ +{ + "device_type": "G300-lsc", + "option_count": 54, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4==false"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 40, + "range": ["A4", "A5", "A5横向", "A6", "A6横向", "B5", "B5横向", "B6", "B6横向", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "26": { + "category": "base", + "name": "cfg-26", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["25==跳过空白页(通用)", "25==跳过空白页(发票纸)"] + }, + "27": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300] + }, + "28": { + "category": "base", + "name": "cfg-28", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面"] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["25!=对折"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["25!=对折"] + }, + "31": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽马值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "33": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["32==false"] + }, + "34": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["32==false"] + }, + "35": { + "category": "base", + "name": "cfg-35", + "title": "伽马值", + "desc": "调整图片伽马值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["32==false"] + }, + "36": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=对折", "37!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "30!=true"] + }, + "39": { + "category": "advanced", + "name": "cfg-39", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "30==true", "19==最大扫描尺寸"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["37==true"] + }, + "43": { + "category": "base", + "name": "cfg-43", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["43==true"] + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["45==true"] + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["37==true"] + }, + "48": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "49": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "50": { + "category": "base", + "name": "cfg-50", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["50==扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面", "25!=对折", "52!=自动文本方向识别°"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G300.txt b/docs/docs历史备份/G300.txt new file mode 100644 index 0000000..2294c14 --- /dev/null +++ b/docs/docs历史备份/G300.txt @@ -0,0 +1,635 @@ +{ + "device_type": "G300", + "option_count": 55, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4==false"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 40, + "range": ["A4", "A5", "A5横向", "A6", "A6横向", "B5", "B5横向", "B6", "B6横向", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "26": { + "category": "base", + "name": "cfg-26", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["25==跳过空白页(通用)", "25==跳过空白页(发票纸)"] + }, + "27": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300] + }, + "28": { + "category": "base", + "name": "cfg-28", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面"] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["25!=对折"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["25!=对折"] + }, + "31": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽马值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "33": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + }, + "depend_and": ["32==false"] + }, + "34": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + }, + "depend_and": ["32==false"] + }, + "35": { + "category": "base", + "name": "cfg-35", + "title": "伽马值", + "desc": "调整图片伽马值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + }, + "depend_and": ["32==false"] + }, + "36": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "照片模式", + "desc": "选择该模式以保留图片水印", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "39": { + "category": "base", + "name": "cfg-39", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=对折", "38!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "30!=true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "30==true", "19==最大扫描尺寸"] + }, + "43": { + "category": "advanced", + "name": "cfg-43", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["38==true"] + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["44==true"] + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["46==true"] + }, + "48": { + "category": "base", + "name": "cfg-48", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["38==true"] + }, + "49": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "50": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["51==扫描指定张数"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面", "25!=对折", "53!=自动文本方向识别°"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G400 - lsc.txt b/docs/docs历史备份/G400 - lsc.txt new file mode 100644 index 0000000..9fb991a --- /dev/null +++ b/docs/docs历史备份/G400 - lsc.txt @@ -0,0 +1,633 @@ +{ + "device_type": "G400-lsc", + "option_count": 55, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4==false"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "cfg-25", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["19==A3", "19==A4", "19==A4横向", "19==A5", "19==A6", "19==A6横向", "19==B4", "19==B5", "19==B5横向", "19==B6", "19==B6横向", "19==Double Letter", "19==LEGAL", "19==Letter", "19==Letter横向"] + }, + "26": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "27": { + "category": "base", + "name": "cfg-27", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["26==跳过空白页(发票纸)", "26==跳过空白页(通用)"] + }, + "28": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["26!=对折"] + }, + "31": { + "category": "base", + "name": "cfg-31", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["26!=对折"] + }, + "32": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "33": { + "category": "base", + "name": "cfg-33", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽玛值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "34": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "35": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "36": { + "category": "base", + "name": "cfg-36", + "title": "伽马值", + "desc": "调整图片伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "37": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "39": { + "category": "base", + "name": "cfg-39", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "38!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "31!=true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "31==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "31==true"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "31==true", "19==最大扫描尺寸"] + }, + "43": { + "category": "advanced", + "name": "cfg-43", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["38==true"] + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["44==true"] + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["46==true"] + }, + "48": { + "category": "base", + "name": "cfg-48", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["38==true"] + }, + "49": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "50": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["51==扫描指定张数"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面", "26!=对折"] + } +} diff --git a/docs/docs历史备份/G400.txt b/docs/docs历史备份/G400.txt new file mode 100644 index 0000000..48f877e --- /dev/null +++ b/docs/docs历史备份/G400.txt @@ -0,0 +1,633 @@ +{ + "device_type": "G400", + "option_count": 55, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4==false"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸", "最大扫描尺寸自动裁切", "最大扫描尺寸", "三联试卷"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "", + "type": "float", + "cur": 210.000000, + "default": 210.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 210.000000 + }, + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 297.000000, + "default": 297.000000, + "size": 4, + "range": { + "min": 0.000000, + "max": 297.000000 + }, + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "cfg-25", + "title": "尺寸检测", + "desc": "检测纸张实际尺寸", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["19==A3", "19==A4", "19==A4横向", "19==A5", "19==A6", "19==A6横向", "19==B4", "19==B5", "19==B5横向", "19==B6", "19==B6横向", "19==Double Letter", "19==LEGAL", "19==Letter", "19==Letter横向"] + }, + "26": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 50, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "27": { + "category": "base", + "name": "cfg-27", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["26==跳过空白页(发票纸)", "26==跳过空白页(通用)"] + }, + "28": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["26!=对折"] + }, + "31": { + "category": "base", + "name": "cfg-31", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["26!=对折"] + }, + "32": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "33": { + "category": "base", + "name": "cfg-33", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽玛值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "34": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "35": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "36": { + "category": "base", + "name": "cfg-36", + "title": "伽马值", + "desc": "调整图片伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "37": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "39": { + "category": "base", + "name": "cfg-39", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=对折", "38!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "31!=true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "31==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "31==true"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["38==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "31==true", "19==最大扫描尺寸"] + }, + "43": { + "category": "advanced", + "name": "cfg-43", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["38==true"] + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["44==true"] + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["46==true"] + }, + "48": { + "category": "base", + "name": "cfg-48", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["38==true"] + }, + "49": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "50": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["51==扫描指定张数"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "54": { + "category": "base", + "name": "cfg-54", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["26!=单面", "26!=对折", "53!=自动文本方向识别°"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G402-x86.txt b/docs/docs历史备份/G402-x86.txt new file mode 100644 index 0000000..289362f --- /dev/null +++ b/docs/docs历史备份/G402-x86.txt @@ -0,0 +1,610 @@ +{ + "device_type": "G402-x86", + "option_count": 54, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4==false"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "26": { + "category": "base", + "name": "cfg-26", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["25==跳过空白页(发票纸)", "25==跳过空白页(通用)"] + }, + "27": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300] + }, + "28": { + "category": "base", + "name": "cfg-28", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面"] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["25!=对折"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["25!=对折"] + }, + "31": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽玛值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "33": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "34": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "35": { + "category": "base", + "name": "cfg-35", + "title": "伽马值", + "desc": "调整图片伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "36": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=对折", "37!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "30!=true"] + }, + "39": { + "category": "advanced", + "name": "cfg-39", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "30==true", "19==最大扫描尺寸"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["37==true"] + }, + "43": { + "category": "base", + "name": "cfg-43", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["43==true"] + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["45==true"] + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["37==true"] + }, + "48": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "49": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "50": { + "category": "base", + "name": "cfg-50", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["50==扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面", "25!=对折", "52!=自动文本方向识别°"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/G402.txt b/docs/docs历史备份/G402.txt new file mode 100644 index 0000000..81f7137 --- /dev/null +++ b/docs/docs历史备份/G402.txt @@ -0,0 +1,610 @@ +{ + "device_type": "G402", + "option_count": 54, + "1": { + "category": "base", + "name": "cfg-1", + "title": "恢复默认设置", + "desc": "恢复默认设置", + "type": "button", + "cur": "button", + "default": "button", + "size": 0 + }, + "2": { + "category": "advanced", + "name": "cfg-2", + "title": "帮助", + "desc": "显示软件帮助文档", + "type": "button", + "cur": "true", + "default": "true", + "size": 4 + }, + "3": { + "category": "base", + "name": "grp-1", + "title": "基本设置", + "type": "group" + }, + "4": { + "category": "base", + "name": "cfg-4", + "title": "多流输出", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "5": { + "category": "base", + "name": "cfg-5", + "title": "多流输出类型", + "desc": "", + "type": "string", + "cur": "无", + "default": "无", + "size": 32, + "range": ["彩色+灰度+黑白", "彩色+灰度", "彩色+黑白", "灰度+黑白"], + "depend_or": ["4==true"] + }, + "6": { + "category": "base", + "name": "mode", + "title": "颜色模式", + "desc": "设置颜色位深", + "type": "string", + "cur": "24位彩色", + "default": "24位彩色", + "size": 32, + "range": ["24位彩色", "256级灰度", "黑白", "颜色自动识别"], + "depend_or": ["4==false"] + }, + "7": { + "category": "base", + "name": "cfg-7", + "title": "黑白图像阈值", + "desc": "", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 0, + "max": 255 + }, + "depend_or": ["6==黑白"] + }, + "8": { + "category": "base", + "name": "cfg-8", + "title": "灰度或黑白图像 - 除色", + "desc": "除去图像彩色", + "type": "string", + "cur": "不除色", + "default": "不除色", + "size": 24, + "range": ["不除色", "除红色", "除绿色", "除蓝色", "红色增强", "绿色增强", "蓝色增强"], + "depend_and": ["4!=true", "6!=24位彩色", "6!=颜色自动识别"] + }, + "9": { + "category": "base", + "name": "cfg-9", + "title": "24位彩色图像 - 多流输出除红", + "desc": "多通道输出中,去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "10": { + "category": "base", + "name": "cfg-10", + "title": "24位彩色图像 - 答题卡除红", + "desc": "答题卡扫描中去除红色", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "11": { + "category": "base", + "name": "cfg-11", + "title": "背景移除", + "desc": "移除彩色图像背景", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=256级灰度", "6!=黑白", "6!=颜色自动识别"] + }, + "12": { + "category": "base", + "name": "cfg-12", + "title": " 背景色彩浮动范围", + "desc": "设定背景色彩的浮动范围,在该范围内的都当作背景移除", + "type": "int", + "cur": 20, + "default": 20, + "size": 4, + "range": { + "min": 1, + "max": 128 + }, + "depend_or": ["11==true"] + }, + "13": { + "category": "base", + "name": "cfg-13", + "title": "锐化与模糊", + "desc": "锐化与模糊", + "type": "string", + "cur": "无", + "default": "无", + "size": 24, + "range": ["无", "锐化", "进一步锐化", "模糊", "进一步模糊"], + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "14": { + "category": "base", + "name": "cfg-14", + "title": "去除摩尔纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "15": { + "category": "base", + "name": "cfg-15", + "title": "除网纹", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["4!=true", "6!=黑白", "6!=颜色自动识别"] + }, + "16": { + "category": "base", + "name": "cfg-16", + "title": "错误扩散", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "17": { + "category": "base", + "name": "cfg-17", + "title": "黑白图像噪点优化", + "desc": "噪点优化", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["6==黑白"] + }, + "18": { + "category": "base", + "name": "cfg-18", + "title": " 噪点优化尺寸", + "desc": "噪点优化尺寸", + "type": "int", + "cur": 30, + "default": 30, + "size": 4, + "range": { + "min": 10, + "max": 50 + }, + "depend_or": ["17==true"] + }, + "19": { + "category": "base", + "name": "pagesize", + "title": "纸张尺寸", + "desc": "设置纸张大小", + "type": "string", + "cur": "匹配原始尺寸", + "default": "匹配原始尺寸", + "size": 48, + "range": ["A3", "A4", "A4横向", "A5", "A5横向", "A6", "A6横向", "B4", "B5", "B5横向", "B6", "B6横向", "Letter", "Letter横向", "Double Letter", "LEGAL", "匹配原始尺寸"] + }, + "20": { + "category": "base", + "name": "cfg-20", + "title": "自定义扫描区域", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["19!=匹配原始尺寸", "19!=三联试卷", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切"] + }, + "21": { + "category": "base", + "name": "tl-x", + "title": "扫描区域左侧(mm)", + "desc": "自定义扫描区域左上角x坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "22": { + "category": "base", + "name": "br-x", + "title": "扫描区域右侧(mm)", + "desc": "", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "23": { + "category": "base", + "name": "tl-y", + "title": "扫描区域上侧(mm)", + "desc": "自定义扫描区域左上角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "24": { + "category": "base", + "name": "br-y", + "title": "扫描区域下侧(mm)", + "desc": "自定义扫描区域右下角y坐标", + "type": "float", + "cur": 0.000000, + "default": 0.000000, + "size": 4, + "range": [0.000000, 0.000000], + "depend_and": ["20==true"] + }, + "25": { + "category": "base", + "name": "source", + "title": "扫描页面", + "desc": "设置页面扫描方式", + "type": "string", + "cur": "双面", + "default": "双面", + "size": 40, + "range": ["单面", "双面", "跳过空白页(通用)", "跳过空白页(发票纸)", "对折"] + }, + "26": { + "category": "base", + "name": "cfg-26", + "title": " 跳过空白页灵敏度", + "desc": "灵敏度越高,则越容易跳过", + "type": "int", + "cur": 50, + "default": 50, + "size": 4, + "range": { + "min": 1, + "max": 100 + }, + "depend_or": ["25==跳过空白页(发票纸)", "25==跳过空白页(通用)"] + }, + "27": { + "category": "base", + "name": "resolution", + "title": "分辨率", + "desc": "扫描仪分辨率", + "type": "int", + "cur": 200, + "default": 200, + "size": 4, + "range": [100, 150, 200, 300] + }, + "28": { + "category": "base", + "name": "cfg-28", + "title": "交换正反面", + "desc": "交换正反面", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面"] + }, + "29": { + "category": "base", + "name": "cfg-29", + "title": "图像拆分", + "desc": "自动拆分图像", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_or": ["25!=对折"] + }, + "30": { + "category": "base", + "name": "cfg-30", + "title": "自动纠偏", + "desc": "自动纠偏", + "type": "bool", + "cur": true, + "default": true, + "size": 4, + "depend_or": ["25!=对折"] + }, + "31": { + "category": "base", + "name": "grp-2", + "title": "亮度", + "type": "group" + }, + "32": { + "category": "base", + "name": "cfg-32", + "title": "启用色调曲线", + "desc": "通过色调曲线来设置图像伽玛值", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "33": { + "category": "base", + "name": "brightness", + "title": "亮度值", + "desc": "调整图片亮度", + "type": "int", + "cur": 128, + "default": 128, + "size": 4, + "range": { + "min": 1, + "max": 255 + } + }, + "34": { + "category": "base", + "name": "contrast", + "title": "对比度", + "desc": "调整图片对比度", + "type": "int", + "cur": 4, + "default": 4, + "size": 4, + "range": { + "min": 1, + "max": 7 + } + }, + "35": { + "category": "base", + "name": "cfg-35", + "title": "伽马值", + "desc": "调整图片伽玛值", + "type": "float", + "cur": 1.000000, + "default": 1.000000, + "size": 4, + "range": { + "min": 0.010000, + "max": 5.000000 + } + }, + "36": { + "category": "base", + "name": "grp-3", + "title": "图像处理", + "type": "group" + }, + "37": { + "category": "base", + "name": "cfg-37", + "title": "消除黑框", + "desc": "消除黑框", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "38": { + "category": "base", + "name": "cfg-38", + "title": "深色样张", + "desc": "深色样张", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=对折", "37!=true", "19!=匹配原始尺寸", "19!=最大扫描尺寸", "19!=最大扫描尺寸自动裁切", "30!=true"] + }, + "39": { + "category": "advanced", + "name": "cfg-39", + "title": "阈值", + "desc": "阈值", + "type": "int", + "cur": 40, + "default": 40, + "size": 4, + "range": { + "min": 30, + "max": 50 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "40": { + "category": "advanced", + "name": "cfg-40", + "title": "背景抗噪等级", + "desc": "背景抗噪等级", + "type": "int", + "cur": 8, + "default": 8, + "size": 4, + "range": { + "min": 1, + "max": 20 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸", "19==最大扫描尺寸自动裁切", "30==true"] + }, + "41": { + "category": "advanced", + "name": "cfg-41", + "title": "边缘缩进", + "desc": "边缘缩进", + "type": "int", + "cur": 5, + "default": 5, + "size": 4, + "range": { + "min": 5, + "max": 30 + }, + "depend_or": ["37==true", "19==匹配原始尺寸", "19==最大扫描尺寸自动裁切", "30==true", "19==最大扫描尺寸"] + }, + "42": { + "category": "advanced", + "name": "cfg-42", + "title": "背景填充方式", + "desc": "背景填充方式", + "type": "string", + "cur": "凸多边形", + "default": "凸多边形", + "size": 40, + "range": ["凸多边形", "凹多边形"], + "depend_or": ["37==true"] + }, + "43": { + "category": "base", + "name": "cfg-43", + "title": "防止渗透", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "44": { + "category": "base", + "name": "cfg-44", + "title": " 防止渗透等级", + "desc": "", + "type": "string", + "cur": "较弱", + "default": "较弱", + "size": 16, + "range": ["弱", "较弱", "一般", "较强", "强"], + "depend_or": ["43==true"] + }, + "45": { + "category": "base", + "name": "cfg-45", + "title": "穿孔移除", + "desc": "移除纸张中的穿孔", + "type": "bool", + "cur": false, + "default": false, + "size": 4 + }, + "46": { + "category": "base", + "name": "cfg-46", + "title": " 穿孔搜索范围占幅面比例", + "desc": "穿孔搜索范围占幅面比例", + "type": "float", + "cur": 0.100000, + "default": 0.100000, + "size": 4, + "range": { + "min": 0.010000, + "max": 0.500000 + }, + "depend_or": ["45==true"] + }, + "47": { + "category": "base", + "name": "cfg-47", + "title": "色彩填充", + "desc": "", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["37==true"] + }, + "48": { + "category": "base", + "name": "grp-4", + "title": "送纸方式设置", + "type": "group" + }, + "49": { + "category": "base", + "name": "ultrasonic Disable|Enable", + "title": "超声波检测", + "desc": "超声波检测送纸状态", + "type": "bool", + "cur": true, + "default": true, + "size": 4 + }, + "50": { + "category": "base", + "name": "cfg-50", + "title": "扫描张数", + "desc": "扫描纸张数量", + "type": "string", + "cur": "连续扫描", + "default": "连续扫描", + "size": 32, + "range": ["连续扫描", "扫描指定张数"] + }, + "51": { + "category": "base", + "name": "cfg-51", + "title": " 扫描数量", + "desc": "扫描指定数量", + "type": "int", + "cur": 1, + "default": 1, + "size": 4, + "depend_or": ["50==扫描指定张数"] + }, + "52": { + "category": "base", + "name": "cfg-52", + "title": "文稿方向", + "desc": "文稿方向", + "type": "string", + "cur": "0°", + "default": "0°", + "size": 40, + "range": ["0°", "90°", "180°", "-90°", "自动文本方向识别°"] + }, + "53": { + "category": "base", + "name": "cfg-53", + "title": "背面旋转180°", + "desc": "背面扫描的图像旋转180°", + "type": "bool", + "cur": false, + "default": false, + "size": 4, + "depend_and": ["25!=单面", "25!=对折", "52!=自动文本方向识别°"] + } +} \ No newline at end of file diff --git a/docs/docs历史备份/HUAGOTWAIN协议说明220418.xlsx b/docs/docs历史备份/HUAGOTWAIN协议说明220418.xlsx new file mode 100644 index 0000000..ecbb5a0 Binary files /dev/null and b/docs/docs历史备份/HUAGOTWAIN协议说明220418.xlsx differ diff --git a/docs/docs历史备份/SANE-APP需求说明.doc b/docs/docs历史备份/SANE-APP需求说明.doc new file mode 100644 index 0000000..e62f663 Binary files /dev/null and b/docs/docs历史备份/SANE-APP需求说明.doc differ diff --git a/docs/docs历史备份/UI.vsdx b/docs/docs历史备份/UI.vsdx new file mode 100644 index 0000000..3605b93 Binary files /dev/null and b/docs/docs历史备份/UI.vsdx differ diff --git a/docs/docs历史备份/sane.docx b/docs/docs历史备份/sane.docx new file mode 100644 index 0000000..fac3cf5 Binary files /dev/null and b/docs/docs历史备份/sane.docx differ diff --git a/docs/docs历史备份/scanner_flow.vsdx b/docs/docs历史备份/scanner_flow.vsdx new file mode 100644 index 0000000..c5d4f31 Binary files /dev/null and b/docs/docs历史备份/scanner_flow.vsdx differ diff --git a/docs/docs历史备份/华高软件版本号定义规范.png b/docs/docs历史备份/华高软件版本号定义规范.png new file mode 100644 index 0000000..4d40cf2 Binary files /dev/null and b/docs/docs历史备份/华高软件版本号定义规范.png differ diff --git a/docs/docs历史备份/型号与硬件id.xlsx b/docs/docs历史备份/型号与硬件id.xlsx new file mode 100644 index 0000000..644a75e Binary files /dev/null and b/docs/docs历史备份/型号与硬件id.xlsx differ diff --git a/docs/docs历史备份/扫描仪配置属性.doc b/docs/docs历史备份/扫描仪配置属性.doc new file mode 100644 index 0000000..b34c722 Binary files /dev/null and b/docs/docs历史备份/扫描仪配置属性.doc differ diff --git a/docs/docs历史备份/软件版本定义规范.doc b/docs/docs历史备份/软件版本定义规范.doc new file mode 100644 index 0000000..abde7c3 Binary files /dev/null and b/docs/docs历史备份/软件版本定义规范.doc differ diff --git a/docs/firmware.vsdx b/docs/firmware.vsdx new file mode 100644 index 0000000..aad2790 Binary files /dev/null and b/docs/firmware.vsdx differ diff --git a/docs/华高软件版本号定义规范.png b/docs/华高软件版本号定义规范.png new file mode 100644 index 0000000..03f37d4 Binary files /dev/null and b/docs/华高软件版本号定义规范.png differ diff --git a/docs/型号与硬件id.xlsx b/docs/型号与硬件id.xlsx new file mode 100644 index 0000000..4521732 Binary files /dev/null and b/docs/型号与硬件id.xlsx differ diff --git a/docs/扫描仪配置属性.doc b/docs/扫描仪配置属性.doc new file mode 100644 index 0000000..e1d1356 Binary files /dev/null and b/docs/扫描仪配置属性.doc differ diff --git a/docs/老版本配置.png b/docs/老版本配置.png new file mode 100644 index 0000000..9a7fb95 Binary files /dev/null and b/docs/老版本配置.png differ diff --git a/docs/软件版本定义规范.doc b/docs/软件版本定义规范.doc new file mode 100644 index 0000000..b6ac36a Binary files /dev/null and b/docs/软件版本定义规范.doc differ diff --git a/tools/apps/cvstr/cvstr.vcxproj b/tools/apps/cvstr/cvstr.vcxproj index 464fa2b..f0c2090 100644 --- a/tools/apps/cvstr/cvstr.vcxproj +++ b/tools/apps/cvstr/cvstr.vcxproj @@ -20,13 +20,13 @@ Application true - v120 + v142 Unicode Application false - v120 + v142 true Unicode diff --git a/tools/apps/findqt/findqt.cpp b/tools/apps/findqt/findqt.cpp new file mode 100644 index 0000000..5f1f808 --- /dev/null +++ b/tools/apps/findqt/findqt.cpp @@ -0,0 +1,88 @@ +// findqt.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 +// +#include +#include +#include +#include +#include +#include + +static INTER_MODULE_CALLBACK(got_wstr) +{ + *((std::wstring*)param) += std::wstring((const wchar_t*)data, len / 2); + + return inter_module_data::SET_RESULT_CONTINUE; +} +static INTER_MODULE_CALLBACK(got_str) +{ + *((std::string*)param) += std::string(data, len); + + return inter_module_data::SET_RESULT_CONTINUE; +} +int main() +{ + std::wstring path(L""); + + sys_util::reg_get_string(HKEY_CLASSES_ROOT, L"QtProject.QtCreator.pro\\shell\\Open\\Command", NULL, got_wstr, &path); + if (path.empty()) + return -1; + + std::transform(path.begin(), path.end(), path.begin(), tolower); + + size_t pos = path.find(L".exe"); + if (pos == std::wstring::npos) + return -2; + pos += 4; + if (pos < path.length()) + { + if (path[pos] == L' ') + path.erase(pos); + else + return -3; + } + + STR_PARENT_FOLDER(path); + STR_PARENT_FOLDER(path); + STR_PARENT_FOLDER(path); + STR_PARENT_FOLDER(path); + + file_util::IFileFinder* finder = file_util::create_file_finder(); + file_util::PATHFILE found = { 0 }; + bool ok = false; + + if (finder->find_first(path.c_str(), &found) == 0) + { + do + { + std::transform(found.path, found.path + lstrlenW(found.path), found.path, tolower); + if (wcsstr(found.path, L"\\qmake.exe")) + { + if (wcsstr(found.path, L"\\msvc") && !wcsstr(found.path, L"_64") && !wcsstr(found.path, L"_x64")) + { + ok = true; + break; + } + } + } while (finder->find_next(&found) == 0); + } + finder->release(); + + if (!ok) + return -4; + + sys_util::reg_set_string(HKEY_CURRENT_USER, L"Software\\Qt", L"qmake", found.path); + std::wcout << found.path << std::endl; + + return 0; +} + +// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单 +// 调试程序: F5 或调试 >“开始调试”菜单 + +// 入门使用技巧: +// 1. 使用解决方案资源管理器窗口添加/管理文件 +// 2. 使用团队资源管理器窗口连接到源代码管理 +// 3. 使用输出窗口查看生成输出和其他消息 +// 4. 使用错误列表窗口查看错误 +// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目 +// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件 diff --git a/tools/apps/findqt/findqt.vcxproj b/tools/apps/findqt/findqt.vcxproj new file mode 100644 index 0000000..287f366 --- /dev/null +++ b/tools/apps/findqt/findqt.vcxproj @@ -0,0 +1,153 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {1f4bf993-302e-4728-b044-39dc8644c1cc} + findqt + 10.0 + + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + $(OutDir)$(ProjectName)\ + $(SolutionDir)..\sdk\include;$(IncludePath) + $(SolutionDir)..\sdk\lib;$(LibraryPath) + + + false + $(OutDir)$(ProjectName)\ + $(SolutionDir)..\sdk\include;$(IncludePath) + $(SolutionDir)..\sdk\lib;$(LibraryPath) + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/tools/apps/findqt/findqt.vcxproj.filters b/tools/apps/findqt/findqt.vcxproj.filters new file mode 100644 index 0000000..99866aa --- /dev/null +++ b/tools/apps/findqt/findqt.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 源文件 + + + \ No newline at end of file diff --git a/tools/apps/hgjson/CDlgLang.cpp b/tools/apps/hgjson/CDlgLang.cpp new file mode 100644 index 0000000..bb5cdc9 --- /dev/null +++ b/tools/apps/hgjson/CDlgLang.cpp @@ -0,0 +1,1045 @@ +// CDlgLang.cpp: 实现文件 +// + +#include "stdafx.h" +#include "hgjson.h" +#include "afxdialogex.h" +#include "CDlgLang.h" +#include "DlgInput.h" + +#include +#include +#include +#include + +#define RESERVED_STR 600 + +namespace sdk_util +{ + INTER_MODULE_CALLBACK(got_str) + { + *((std::string*)param) += std::string(data, len); + + return inter_module_data::SET_RESULT_CONTINUE; + } + INTER_MODULE_CALLBACK(got_wstr) + { + *((std::wstring*)param) += std::wstring((const wchar_t*)data, len / 2); + + return inter_module_data::SET_RESULT_CONTINUE; + } + + uint32_t make_string_id(const wchar_t* str, bool(*is_repeat)(uint32_t, void*), void* param) + { + uint32_t crc = coding_util::crc_32(str, lstrlenW(str) * 2); + + crc &= 0x0ffff; + if (crc <= RESERVED_STR) + crc = RESERVED_STR + 1; + while (is_repeat(crc, param)) + crc++; + + return crc; + } + + void trim_left(std::wstring& str) + { + int i = 0; + + while (str[i] == L' ' || str[i] == L'\t') + i++; + + str.erase(0, i); + } + void trim_right(std::wstring& str) + { + int i = str.length() - 1; + while (i >= 0) + { + if (str[i] == L' ' || str[i] == L'\t') + i--; + else + break; + } + + str.erase(i + 1); + } + unsigned pick_number(const wchar_t* str, const wchar_t** end, int type) + { + int off = 0; + unsigned val = 0; + + if (type == coding_util::NUM_FMT_HEX) + { + for (; off < 4; ++off) + { + val <<= 4; + if (str[off] >= L'0' && str[off] <= L'9') + { + val += str[off] - L'0'; + } + else if (str[off] >= L'a' && str[off] <= L'f') + { + val += str[off] - L'a' + 10; + } + else if (str[off] >= L'A' && str[off] <= L'A') + { + val += str[off] - L'A' + 10; + } + else + { + val >>= 4; + break; + } + } + } + else if (type == coding_util::NUM_FMT_OCT) + { + for (; off < 3; ++off) + { + val <<= 3; + if (str[off] >= L'0' && str[off] <= L'7') + { + val += str[off] - L'0'; + } + else + { + val >>= 3; + break; + } + } + } + + if (end) + *end = str + off; + + return val; + } + void convert_unicode(std::wstring& str) + { + std::wstring conv(L""); + + for (int i = 0; i < str.length(); ++i) + { + if (str[i] == L'\\') + { + const wchar_t* end = NULL; + if (str[i + 1] == L'u') + { + unsigned val = (unsigned)sdk_util::pick_number(str.c_str() + i + 2, &end, coding_util::NUM_FMT_HEX); + if (end - str.c_str() == i + 6) + { + conv.append(1, val); + i += 5; + continue; + } + } + else if (iswdigit(str[i + 1])) + { + char val[4] = { 0 }; + val[0] = (char)sdk_util::pick_number(str.c_str() + i + 1, &end, coding_util::NUM_FMT_OCT); + if (end - str.c_str() == i + 4 && *end == L'\\' && iswdigit(end[1])) + { + val[1] = (char)sdk_util::pick_number(str.c_str() + i + 5, &end, coding_util::NUM_FMT_OCT); + if (end - str.c_str() == i + 8) + { + int off = 8; + if ((val[0] & 0x20) && *end == L'\\' && iswdigit(end[1])) + { + val[2] = (char)sdk_util::pick_number(str.c_str() + i + 9, &end, coding_util::NUM_FMT_OCT); + off += 4; + } + if (end - str.c_str() == i + off) + { + std::wstring oct(L""); + coding_util::utf8_2_unicode(val, got_wstr, &oct); + conv += oct; + i += off - 1; + continue; + } + } + } + } + } + + conv.append(1, str[i]); + } + + str = std::move(conv); + } + + typedef struct _lang_id + { + int id; + int cp; + std::string utf8; + + bool operator==(int i) + { + return id == i; + } + bool operator<(struct _lang_id& r) + { + return id < r.id; + } + }LANGID; + typedef struct _lang_id_w + { + int id; + std::wstring unic; + + bool operator==(int i) + { + return id == i; + } + bool operator<(struct _lang_id& r) + { + return id < r.id; + } + }LANGIDW; + static LANGID g_reserve[] = { {1, 936, "\344\270\255\346\226\207\357\274\210\347\256\200\344\275\223\357\274\211"} // 中文(简体) + , {2, 950, "\344\270\255\346\226\207\357\274\210\347\271\201\344\275\223\357\274\211"} // 中文(繁体) + , {10, 20127, "\350\213\261\350\257\255"} // 英语 + , {20, 855, "\344\277\204\350\257\255"} // 俄语 + , {30, 863, "\346\263\225\350\257\255"} // 法语 + , {40, 1141, "\345\276\267\350\257\255"} // 德语 + , {50, 1144, "\346\204\217\345\244\247\345\210\251\350\257\255"} // 意大利语 + , {60, 932, "\346\227\245\350\257\255"} // 日语 + , {70, 949, "\351\237\251\346\226\207"} // 韩文 + }; + LANGID* lang_info_from_cp(int cp) + { + for (auto& v : g_reserve) + { + if (v.cp == cp) + return &v; + } + + return NULL; + } + LANGID* lang_info_from_ID(int id) + { + for (auto& v : g_reserve) + { + if (v.id == id) + return &v; + } + + return NULL; + } + LANGID* lang_info_from_name(const char* utf8) + { + for (auto& v : g_reserve) + { + if (v.utf8 == utf8) + return &v; + } + + return NULL; + } + int save_2_lang_pak(HWND owner, std::vector& items, int cp = 936) + { + uint32_t len = 0, + crc = 0, + ver = MAKELPARAM(0, 1), + cps[] = { cp, -1}, + self_id = g_reserve[0].id, + off = sizeof(len) + sizeof(crc) + sizeof(ver) + sizeof(cps) + sizeof(self_id), + *ptr = NULL, + repeat = 0, + tmp = 0; + LANGID *info = lang_info_from_cp(cp); + std::string cont(""), str(""); + std::vector known; + + if (!info) + return ERROR_NOT_SUPPORTED; + + self_id = info->id; + +#define APPEND_INT(str, n) \ + str += std::string((char*)&n, sizeof(n)) +#define APPEND_ARRAY(str, n) \ + str += std::string((char*)n, sizeof(n)) + + APPEND_INT(cont, len); + APPEND_INT(cont, crc); + APPEND_INT(cont, ver); + APPEND_ARRAY(cont, cps); + APPEND_INT(cont, self_id); + cont += std::string(info->utf8.c_str(), info->utf8.length() + 1); + if (cont.length() % 16) + cont.append(16 - (cont.length() % 16), '\0'); // ENDING address align 16 before + + len = cont.length(); + off = (items.size() + _countof(g_reserve) + 1) * sizeof(len) * 2; + for (const auto& v : g_reserve) + { + APPEND_INT(cont, v.id); + APPEND_INT(cont, off); + + std::vector::iterator it = std::find(items.begin(), items.end(), v.id); + if (it == items.end()) + { + str += std::string(v.utf8.c_str(), v.utf8.length() + 1); + off += v.utf8.length() + 1; + } + else + { + str += std::string(it->utf8.c_str(), it->utf8.length() + 1); + off += it->utf8.length() + 1; + } + known.push_back(v.id); + } + for (const auto& v : items) + { + if (std::find(known.begin(), known.end(), v.id) == known.end()) + { + APPEND_INT(cont, v.id); + APPEND_INT(cont, off); + str += std::string(v.utf8.c_str(), v.utf8.length() + 1); + off += v.utf8.length() + 1; + } + else + repeat++; + } + + len = -1; + APPEND_INT(cont, len); + APPEND_INT(cont, len); + for (int i = 0; i < repeat; ++i) + { + APPEND_INT(cont, len); + APPEND_INT(cont, len); + } + + cont += std::string(str.c_str(), str.length()); + ptr = (uint32_t*)&cont[0]; + *ptr++ = cont.length(); + *ptr = coding_util::crc_32((const void*)(ptr + 1), cont.length() - 8); + + file_util::PATHFILE file = { 0 }; + if (file_util::browser_file(owner, &file, L"Language pack(*.pak)\0\0", false)) + { + file_util::save_2_file(cont.c_str(), cont.length(), file.path); + } + + return 0; + } + + bool parse_pak_digest(uint8_t* data, int* id) + { + uint32_t ver = *(uint32_t*)data, + val = 0, + name_id = 0, + * cps = (uint32_t*)(data + sizeof(uint32_t) * 3); + std::vector code_pages; + std::wstring name(L""); + + if (id) + *id = *cps; + while (*cps != -1) + { + code_pages.push_back(*cps++); + } + if (code_pages.empty()) + return false; + + cps++; + name_id = *cps++; + val = (uint8_t*)cps - data; + coding_util::utf8_2_unicode((char*)data + val, got_wstr, &name); + + return name.length() ? true : false; + } + bool parse_pak(uint8_t* data, std::vector& items) + { + uint32_t ver = *(uint32_t*)data, + val = 0, + * cps = (uint32_t*)(data + sizeof(uint32_t) * 3); + + while (*cps++ != -1); + cps++; + val = (uint8_t*)cps - data; + val += strlen((char*)data + val) + 1; + val += 15; + val /= 16; + val *= 16; + + struct + { + uint32_t id; + uint32_t off; + }*go = nullptr; + *((void**)&go) = (void*)(data + val); + while (go->id != -1) + { + LANGIDW l; + l.id = go->id; + coding_util::utf8_2_unicode((char*)data + go->off + val, got_wstr, &l.unic); + items.push_back(l); + go++; + } + + return true; + } + bool load_lang_pak(const wchar_t* file, std::vector& items, int* id = NULL) + { + std::string cont(""), name(""); + bool ret = false; + FILE* src = _wfopen(file, L"rb"); + + if (src) + { + int len = 0; + uint8_t* buf = nullptr; + + fseek(src, 0, SEEK_END); + len = ftell(src); + fseek(src, 0, SEEK_SET); + if (len) + { + buf = new uint8_t[len + 4]; + if (buf) + { + memset(buf, 0, len + 4); + len = fread(buf, 1, len, src); + if (len == *(uint32_t*)buf && coding_util::crc_32(buf + sizeof(uint32_t) * 2, len - sizeof(uint32_t) * 2) == ((uint32_t*)buf)[1]) + { + cont = std::string((char*)buf, len); + } + delete[] buf; + } + } + fclose(src); + } + if (cont.length()) + { + parse_pak_digest((uint8_t*)&cont[0], id); + ret = parse_pak((uint8_t*)&cont[0], items); + } + + return ret; + } + + +} + +// CDlgLang 对话框 + +IMPLEMENT_DYNAMIC(CDlgLang, CDialogEx) + +CDlgLang::CDlgLang(CWnd* pParent /*=nullptr*/) + : CDialogEx(IDD_LANGUAGE, pParent) + , cur_cp_(936) +{ + std::vector langs; + + //sdk_util::load_lang_pak(L"D:\\boxroom\\Dingding\\chinese.pak", langs); + langs.clear(); +} + +CDlgLang::~CDlgLang() +{ +} + +void CDlgLang::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); + DDX_Control(pDX, IDC_COMBO1, lang_); + DDX_Control(pDX, IDC_LIST1, list_); +} +BOOL CDlgLang::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + + // Set the icon for this dialog. The framework does this automatically + // when the application's main window is not a dialog + int ind = 0; + list_.InsertColumn(ind++, TEXT("No."), 0, 48); + list_.InsertColumn(ind++, TEXT("ID"), 0, 60); + list_.InsertColumn(ind++, TEXT("Text"), 0, 350); + list_.SetExtendedStyle(list_.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP); + list_.ModifyStyle(0, LVS_SINGLESEL); + + for (const auto& v : sdk_util::g_reserve) + { + std::wstring unic(L""); + coding_util::utf8_2_unicode(v.utf8.c_str(), sdk_util::got_wstr, &unic); + ind = lang_.AddString(unic.c_str()); + lang_.SetItemData(ind, (DWORD_PTR)v.cp); + } + select_code_page(936); + + return TRUE; // return TRUE unless you set the focus to a control +} +bool CDlgLang::select_code_page(int cp) +{ + bool found = false; + + for (int i = 0; i < lang_.GetCount(); ++i) + { + if ((int)lang_.GetItemData(i) == cp) + { + lang_.SetCurSel(i); + found = true; + break; + } + } + + return found; +} +void CDlgLang::add_2_list(void* lang_list, int id, bool unic) +{ + if (unic) + { + std::vector* data = (std::vector*)lang_list; + + for (const auto& v : *data) + { + std::wstring text(L""); + int ind = find_list_item_by_ID(v.id); + + if (ind == -1) + { + ind = list_.InsertItem(list_.GetItemCount(), std::to_wstring(list_.GetItemCount() + 1).c_str()); + list_.SetItemText(ind, 1, std::to_wstring(v.id).c_str()); + } + list_.SetItemText(ind, 2, v.unic.c_str()); + } + } + else + { + std::vector* data = (std::vector*)lang_list; + + for (const auto& v : *data) + { + std::wstring text(L""); + int ind = find_list_item_by_ID(v.id); + + if (ind == -1) + { + ind = list_.InsertItem(list_.GetItemCount(), std::to_wstring(list_.GetItemCount() + 1).c_str()); + list_.SetItemText(ind, 1, std::to_wstring(v.id).c_str()); + } + coding_util::utf8_2_unicode(v.utf8.c_str(), sdk_util::got_wstr, &text); + list_.SetItemText(ind, 2, text.c_str()); + } + } +} +int CDlgLang::insert_item_2_list(const wchar_t* str, uint32_t id) +{ + int item = 0; + bool ok = false; + wchar_t buf[40] = { 0 }; + + for (; item < list_.GetItemCount(); ++item) + { + list_.GetItemText(item, 1, buf, _countof(buf) - 1); + if (_wtoi(buf) > id) + { + item = list_.InsertItem(item, std::to_wstring(item + 1).c_str()); + ok = true; + break; + } + } + if (ok) + { + for (int i = item + 1; i < list_.GetItemCount(); ++i) + list_.SetItemText(i, 0, std::to_wstring(i + 1).c_str()); + } + else + item = list_.InsertItem(list_.GetItemCount(), std::to_wstring(list_.GetItemCount() + 1).c_str()); + + list_.SetItemText(item, 1, std::to_wstring(id).c_str()); + list_.SetItemText(item, 2, str); + list_.EnsureVisible(item, FALSE); + list_.SetItemState(item, LVNI_FOCUSED | LVIS_SELECTED, LVNI_FOCUSED | LVIS_SELECTED); + GotoDlgCtrl(&list_); + + return item; +} +int CDlgLang::find_hz_ID(const wchar_t* hz) +{ + for (const auto& v : hz_) + { + if (v.hz == hz) + return v.id; + } + + return -1; +} +int CDlgLang::find_list_item_by_ID(int id) +{ + for (int i = 0; i < list_.GetItemCount(); ++i) + { + TCHAR val[40] = { 0 }; + list_.GetItemText(i, 1, val, _countof(val) - 1); + if (_ttoi(val) == id) + return i; + } + + return -1; +} +void CDlgLang::on_hz_pak_initialized(bool success) +{ + lang_.EnableWindow(success); + list_.EnableWindow(success); + GetDlgItem(IDC_BUTTON_SAVE)->EnableWindow(success); + GetDlgItem(IDC_BUTTON_SAVE_EXPORT)->EnableWindow(success); + GetDlgItem(IDC_BUTTON_ADD)->EnableWindow(cur_cp_ == 936); + GetDlgItem(IDC_BUTTON_ADD_FILE)->EnableWindow(cur_cp_ == 936); +} +bool CDlgLang::find_repeat_in_vector(uint32_t val, void* param) +{ + std::vector* vec = (std::vector*)param; + + return std::find(vec->begin(), vec->end(), val) != vec->end(); +} +bool CDlgLang::find_repeat_in_list(uint32_t val, void* param) +{ + CListCtrl* lst = (CListCtrl*)param; + wchar_t buf[40] = { 0 }; + + for (int i = 0; i < lst->GetItemCount(); ++i) + { + lst->GetItemText(i, 1, buf, _countof(buf) - 1); + if (_wtoi(buf) == val) + return true; + } + + return false; +} + +BEGIN_MESSAGE_MAP(CDlgLang, CDialogEx) + ON_BN_CLICKED(IDC_BUTTON_INIT_ID, &CDlgLang::OnBnClickedButtonInitId) + ON_CBN_SELCHANGE(IDC_COMBO1, &CDlgLang::OnCbnSelchangeLanguage) + ON_NOTIFY(NM_DBLCLK, IDC_LIST1, &CDlgLang::OnNMDblclkList1) + ON_BN_CLICKED(IDC_BUTTON_SAVE, &CDlgLang::OnBnClickedButtonSave) + ON_BN_CLICKED(IDC_BUTTON_ADD, &CDlgLang::OnBnClickedButtonAdd) + ON_BN_CLICKED(IDC_BUTTON_ADD_FILE, &CDlgLang::OnBnClickedButtonAddFile) + ON_BN_CLICKED(IDC_BUTTON_SAVE_EXPORT, &CDlgLang::OnBnClickedButtonSaveExport) +END_MESSAGE_MAP() + + +// CDlgLang 消息处理程序 + + +void CDlgLang::OnBnClickedButtonInitId() +{ + // TODO: 在此添加控件通知处理程序代码 + file_util::PATHFILE file = { 0 }; + std::vector items; + + if (file_util::browser_file(m_hWnd, &file, L"Language Pack (*.pak)\0All Files (*.*)\0\0")) + { + hz_.clear(); + { + file_util::PATHFILE ext = { 0 }; + file_util::file_extension(file.path, &ext); + if (wcsicmp(ext.path, L"pak") == 0) + { + std::vector lans; + int id = 0; + + sdk_util::load_lang_pak(file.path, lans, &id); + if (id != 936) + { + ::MessageBoxW(m_hWnd, L"\u8BF7\u9009\u62E9\u201C\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09\u201D\u7684\u8BED\u8A00\u5305\u4F5C\u4E3A\u521D\u59CB\u5316\u8BED\u8A00\u5305\uFF01", L"\u91CD\u65B0\u9009\u62E9", MB_OK | MB_ICONINFORMATION); + return; + } + cur_cp_ = id; + for (auto& v : lans) + { + HZMAP hm; + hm.id = v.id; + hm.hz = v.unic; + hz_.push_back(hm); + } + list_.DeleteAllItems(); + add_2_list(&lans, cur_cp_, true); + select_code_page(cur_cp_); + on_hz_pak_initialized(true); + return; + } + } + + std::string bom(""), utf8(""); + std::wstring cont(L""), line(L""), save(L""); + size_t pos = -1; + int cur = 0, next = 0; + std::vector ids; + + file_util::load_file(file.path, sdk_util::got_str, &bom); + coding_util::bom::to_unicode(bom.c_str(), bom.length(), sdk_util::got_wstr, &cont); + bom.clear(); + coding_util::pick_line(cont.c_str(), sdk_util::got_wstr, &line, &next); + while (next || !line.empty()) + { + std::wstring cpy(line + L"\r\n"); + + if (!line.empty()) + { + sdk_util::trim_left(line); + pos = line.find(L"//"); + if (pos) + { + pos = line.find(L"#define"); + if (pos == 0) + { + line.erase(0, 7); + sdk_util::trim_left(line); + pos = line.find(L" "); + if(pos == std::wstring::npos) + pos = line.find(L"\t"); + if (pos != std::wstring::npos) + { + std::wstring name = line.substr(0, pos); + line.erase(0, pos + 1); + sdk_util::trim_left(line); + if (line[0] == L'\"') + { + int bgn = 0, end = 0; + if (coding_util::pick_value(line.c_str(), L"\"", L"\"", &bgn, &end)) + { + line.erase(end + 1); + line.erase(0, bgn); + cpy.insert(0, L"// "); + sdk_util::convert_unicode(line); + bgn = sdk_util::make_string_id(line.c_str(), &CDlgLang::find_repeat_in_vector, &ids); + ids.push_back(bgn); + cpy += L"#define ID_" + name + L" " + std::to_wstring(bgn) + L"\r\n\r\n"; + + sdk_util::LANGID li; + li.id = bgn; + coding_util::unicode_2_utf8(line.c_str(), sdk_util::got_str, &li.utf8); + items.push_back(li); + + HZMAP hm; + hm.id = li.id; + hm.hz = line; + hz_.push_back(hm); + } + } + } + } + } + } + save += cpy; + cur += next; + line.clear(); + coding_util::pick_line(cont.c_str() + cur, sdk_util::got_wstr, &line, &next); + } + + coding_util::unicode_2_utf8(save.c_str(), sdk_util::got_str, &utf8); + save.clear(); + coding_util::bom::from_utf8(utf8.c_str(), utf8.length(), sdk_util::got_str, &bom); + utf8.clear(); + file_util::save_2_file(bom.c_str(), bom.length(), file.path); + + std::sort(items.begin(), items.end()); + list_.DeleteAllItems(); + cur_cp_ = 936; + add_2_list(&items, cur_cp_, false); + select_code_page(cur_cp_); + on_hz_pak_initialized(true); + //sdk_util::save_2_lang_pak(m_hWnd, items); + } +} +void CDlgLang::OnCbnSelchangeLanguage() +{ + file_util::PATHFILE file = { 0 }; + int lang_cp = (int)lang_.GetItemData(lang_.GetCurSel()); + + if (file_util::browser_file(m_hWnd, &file)) + { + { + file_util::PATHFILE ext = { 0 }; + file_util::file_extension(file.path, &ext); + if (wcsicmp(ext.path, L"pak") == 0) + { + std::vector lans; + int cp = 0; + + sdk_util::load_lang_pak(file.path, lans, &cp); + if (cp != lang_cp) + { + sdk_util::LANGID* inf = sdk_util::lang_info_from_cp(lang_cp); + std::wstring unic(L""); + + coding_util::utf8_2_unicode(inf->utf8.c_str(), sdk_util::got_wstr, &unic); + unic.insert(0, L"\u8BF7\u9009\u62E9\u201C"); + unic += L"\u201D\u8BED\u8A00\u5305\uFF01"; + ::MessageBoxW(m_hWnd, unic.c_str(), L"Error", MB_OK | MB_ICONSTOP); + select_code_page(cur_cp_); + GetDlgItem(IDC_BUTTON_ADD)->EnableWindow(cur_cp_ == 936); + GetDlgItem(IDC_BUTTON_ADD_FILE)->EnableWindow(cur_cp_ == 936); + return; + } + // list_.DeleteAllItems(); + cur_cp_ = cp; + add_2_list(&lans, cur_cp_, true); + select_code_page(cur_cp_); + GetDlgItem(IDC_BUTTON_ADD)->EnableWindow(cur_cp_ == 936); + GetDlgItem(IDC_BUTTON_ADD_FILE)->EnableWindow(cur_cp_ == 936); + return; + } + } + + ::MessageBoxW(m_hWnd, L"\u7EAF\u6587\u672C\u7FFB\u8BD1\u5BF9\u7167\uFF0C\u8BF7\u4EE5\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09\u8BED\u8A00\u5728\u7B2C\u4E00\u5217\uFF08\u5982\u6709\u7A7A\u683C\u8BF7\u52A0\u82F1\u6587\u53CC\u5F15\u53F7\uFF09\uFF0C\u5176\u5B83\u8BED\u8A00\u4E3A\u7A7A\u683C\u4EE5\u540E\u7684\u7B2C\u4E8C\u5217\u3002", L"\u63D0\u793A", MB_OK | MB_ICONINFORMATION); + + std::string bom(""); + std::wstring cont(L""), line(L""), hz(L""), lan(L""); + size_t pos = -1; + int cur = 1, next = -1; + std::vector ids; + std::map lost; + + cur_cp_ = lang_cp; + file_util::load_file(file.path, sdk_util::got_str, &bom); + coding_util::bom::to_unicode(bom.c_str(), bom.length(), sdk_util::got_wstr, &cont); + bom.clear(); + while (next || !line.empty()) + { + cur += next; + line.clear(); + coding_util::pick_line(cont.c_str() + cur, sdk_util::got_wstr, &line, &next); + if (line.empty()) + continue; + + sdk_util::trim_left(line); + if (line.empty()) + continue; + + if (line[0] == L'\"') + { + int bgn = 0, end = 0; + coding_util::pick_value(line.c_str(), L"\"", L"\"", &bgn, &end); + if (end <= bgn) + continue; + + hz = line.substr(bgn, end - bgn + 1); + line.erase(0, end + 2); + } + else + { + pos = line.find(L" "); + if (pos > line.find(L"\t")) + pos = line.find(L"\t"); + if (pos == std::wstring::npos) + continue; + hz = line.substr(0, pos); + line.erase(0, pos + 1); + } + sdk_util::trim_left(line); + if (line.empty()) + continue; + + lan = line; + + int id = find_hz_ID(hz.c_str()), + item = id == -1 ? -1 : find_list_item_by_ID(id); + if (item == -1) + lost[hz] = lan; + else + list_.SetItemText(item, 2, lan.c_str()); + } + + cont.clear(); + if (lost.size()) + { + for (auto& v : lost) + cont += L" " + v.first + L" <---> " + v.second + L"\r\n"; + file_util::set_clipboard(cont.c_str(), cont.length() * 2, CF_UNICODETEXT); + cont.insert(0, L"下列语言条目,没有找到中文原版,请在中文(简体)语言包中补充完整(内容已经拷贝到剪贴板):\r\n"); + ::MessageBoxW(m_hWnd, cont.c_str(), L"Lost", MB_OK | MB_ICONERROR); + } + } + else if (lang_cp == 936) + { + cur_cp_ = lang_cp; + list_.DeleteAllItems(); + lang_cp = 1; + for (const auto& v : hz_) + { + int item = list_.InsertItem(list_.GetItemCount(), std::to_wstring(lang_cp++).c_str()); + list_.SetItemText(item, 1, std::to_wstring(v.id).c_str()); + list_.SetItemText(item, 2, v.hz.c_str()); + } + } + else + { + select_code_page(cur_cp_); + } + GetDlgItem(IDC_BUTTON_ADD)->EnableWindow(cur_cp_ == 936); + GetDlgItem(IDC_BUTTON_ADD_FILE)->EnableWindow(cur_cp_ == 936); +} +void CDlgLang::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) +{ + LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); + *pResult = 0; + + // TODO: 在此添加控件通知处理程序代码 + POINT pos = { 0 }; + int item = -1; + + GetCursorPos(&pos); + list_.ScreenToClient(&pos); + item = list_.HitTest(pos); + if (item != -1) + { + int size = 4 * 1024; + wchar_t* buf = new wchar_t[size]; + CDlgInput dlg; + + memset(buf, 0, size * sizeof(buf[0])); + list_.GetItemText(item, 2, buf, size - 1); + dlg.value_ = buf; + dlg.type_ = CDlgInput::INPUT_FOR_STRING; + delete[] buf; + if (dlg.DoModal() == IDOK) + { + list_.SetItemText(item, 2, dlg.value_); + } + } +} + + +void CDlgLang::OnBnClickedButtonSave() +{ + // TODO: 在此添加控件通知处理程序代码 + std::vector items; + int cp = (int)lang_.GetItemData(lang_.GetCurSel()), size = 1024; + wchar_t* buf = new wchar_t[size]; + + memset(buf, 0, size * sizeof(buf[0])); + for (int i = 0; i < list_.GetItemCount(); ++i) + { + sdk_util::LANGID lan; + + list_.GetItemText(i, 1, buf, size - 1); + lan.id = _wtoi(buf); + list_.GetItemText(i, 2, buf, size - 1); + coding_util::unicode_2_utf8(buf, sdk_util::got_str, &lan.utf8); + lan.cp = cp; + items.push_back(std::move(lan)); + } + delete[] buf; + + if (items.empty()) + { + MessageBox(TEXT("No items need save")); + return; + } + + sdk_util::save_2_lang_pak(m_hWnd, items, cp); +} + + +void CDlgLang::OnBnClickedButtonAdd() +{ + // TODO: 在此添加控件通知处理程序代码 + CDlgInput dlg; + + dlg.type_ = CDlgInput::INPUT_FOR_STRING; + if (dlg.DoModal() == IDOK) + { + HZMAP h; + + h.hz = dlg.value_.GetBuffer(); + dlg.value_.ReleaseBuffer(); + + h.id = find_hz_ID(h.hz.c_str()); + if (h.id == -1) + { + h.id = sdk_util::make_string_id(h.hz.c_str(), &CDlgLang::find_repeat_in_list, &list_); + + insert_item_2_list(h.hz.c_str(), h.id); + hz_.push_back(h); + } + else + { + MessageBox(TEXT("Existing already.")); + h.id = find_list_item_by_ID(h.id); + list_.EnsureVisible(h.id, FALSE); + list_.SetItemState(h.id, LVNI_FOCUSED | LVIS_SELECTED, LVNI_FOCUSED | LVIS_SELECTED); + GotoDlgCtrl(&list_); + } + } +} + + +void CDlgLang::OnBnClickedButtonAddFile() +{ + // TODO: 在此添加控件通知处理程序代码 + file_util::PATHFILE file = { 0 }; + + if (file_util::browser_file(m_hWnd, &file, L"Text File(*.txt)\0\0")) + { + std::string bom(""); + std::wstring unic(L""), line(L""); + int id = 0, next = 0, same = 0, added = 0, off = 0; + + file_util::load_file(file.path, sdk_util::got_str, &bom); + coding_util::bom::to_unicode(bom.c_str(), bom.length(), sdk_util::got_wstr, &unic); + bom.clear(); + + coding_util::pick_line(unic.c_str(), sdk_util::got_wstr, &line, &next); + while (next) + { + if (!line.empty()) + { + id = find_hz_ID(line.c_str()); + if (id == -1) + { + HZMAP h; + + h.hz = std::move(line); + h.id = sdk_util::make_string_id(h.hz.c_str(), &CDlgLang::find_repeat_in_list, &list_); + insert_item_2_list(h.hz.c_str(), h.id); + hz_.push_back(h); + added++; + } + else + { + same++; + } + } + off += next; + line = L""; + coding_util::pick_line(unic.c_str() + off, sdk_util::got_wstr, &line, &next); + } + + ::MessageBoxW(m_hWnd, (std::wstring(L"新增加 ") + std::to_wstring(added) + L" 个词条,有" + std::to_wstring(same) + L" 个词条重复。").c_str(), L"OK", MB_OK); + } +} + + +void CDlgLang::OnBnClickedButtonSaveExport() +{ + // TODO: 在此添加控件通知处理程序代码 + if (list_.GetItemCount()) + { + std::wstring text(L""); + + for (int i = 0; i < list_.GetItemCount(); ++i) + { + TCHAR buf[512] = { 0 }; + std::wstring l(L""); + + list_.GetItemText(i, 1, buf, _countof(buf) - 1); + l = buf; + if (l.length() < 5) + l.insert(0, 5 - l.length(), L' '); + l += L"\t\t"; + text += l; + + list_.GetItemText(i, 2, buf, _countof(buf) - 1); + text += buf; + text += L"\r\n"; + } + + file_util::set_clipboard(text.c_str(), text.length() * 2, CF_UNICODETEXT); + ::MessageBoxW(m_hWnd, L"文本内容已经拷贝到剪贴板", L"Ok", MB_OK); + } +} diff --git a/tools/apps/hgjson/CDlgLang.h b/tools/apps/hgjson/CDlgLang.h new file mode 100644 index 0000000..b4d7798 --- /dev/null +++ b/tools/apps/hgjson/CDlgLang.h @@ -0,0 +1,61 @@ +#pragma once +#include "afxdialogex.h" +#include +#include + +// CDlgLang 对话框 + +class CDlgLang : public CDialogEx +{ + DECLARE_DYNAMIC(CDlgLang) + +public: + CDlgLang(CWnd* pParent = nullptr); // 标准构造函数 + virtual ~CDlgLang(); + +// 对话框数据 + enum { IDD = IDD_LANGUAGE }; + +protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 + virtual BOOL OnInitDialog(); + + bool select_code_page(int cp); + void add_2_list(void* lang_list, int id, bool unic); + int insert_item_2_list(const wchar_t* str, uint32_t id); + int find_hz_ID(const wchar_t* hz); + int find_list_item_by_ID(int id); + void on_hz_pak_initialized(bool success); + + static bool find_repeat_in_vector(uint32_t val, void* param); + static bool find_repeat_in_list(uint32_t val, void* param); + + DECLARE_MESSAGE_MAP() +public: + afx_msg void OnBnClickedButtonInitId(); + afx_msg void OnCbnSelchangeLanguage(); + afx_msg void OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult); + CComboBox lang_; + CListCtrl list_; + int cur_cp_; + + typedef struct _base_map + { + int id; + std::wstring hz; + + bool operator==(int i) + { + return id == i; + } + bool operator==(const wchar_t* t) + { + return hz == t; + } + }HZMAP; + std::vector hz_; + afx_msg void OnBnClickedButtonSave(); + afx_msg void OnBnClickedButtonAdd(); + afx_msg void OnBnClickedButtonAddFile(); + afx_msg void OnBnClickedButtonSaveExport(); +}; diff --git a/tools/apps/hgjson/CDlgMain.cpp b/tools/apps/hgjson/CDlgMain.cpp new file mode 100644 index 0000000..a147d48 --- /dev/null +++ b/tools/apps/hgjson/CDlgMain.cpp @@ -0,0 +1,104 @@ +// CDlgMain.cpp: 实现文件 +// + +#include "stdafx.h" +#include "hgjson.h" +#include "afxdialogex.h" +#include "CDlgMain.h" +#include "resource.h" + +#include "hgjsonDlg.h" +#include "CDlgLang.h" + +// CDlgMain 对话框 + +IMPLEMENT_DYNAMIC(CDlgMain, CDialogEx) + +CDlgMain::CDlgMain(CWnd* pParent /*=nullptr*/) + : CDialogEx(IDD_MAIN, pParent) +{ +#ifndef _WIN32_WCE + EnableActiveAccessibility(); +#endif + m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); + +} + +CDlgMain::~CDlgMain() +{ +} + +void CDlgMain::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); + DDX_Control(pDX, IDC_TAB1, tab_); +} +BOOL CDlgMain::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + + // Set the icon for this dialog. The framework does this automatically + // when the application's main window is not a dialog + SetIcon(m_hIcon, TRUE); // Set big icon + SetIcon(m_hIcon, FALSE); // Set small icon + + LRESULT lret = 0; + CDialogEx* page = new ChgjsonDlg(this); + page->Create(ChgjsonDlg::IDD, this); + insert_page(page, L"\u626B\u63CF\u4EEA\u914D\u7F6E"); + + page = new CDlgLang(this); + page->Create(CDlgLang::IDD, this); + insert_page(page, L"\u8BED\u8A00\u5305\u5236\u4F5C"); + + tab_.SetCurSel(0); + OnTcnSelchangeTab1(NULL, &lret); + + return TRUE; // return TRUE unless you set the focus to a control +} +void CDlgMain::insert_page(CDialogEx* page, const wchar_t* title) +{ + RECT r = { 0 }; + int ind = 0; + TCITEM item = { 0 }; + + GetDlgItem(IDC_STATIC_CHILD)->GetWindowRect(&r); + ScreenToClient(&r); + page->MoveWindow(&r); + page->ShowWindow(SW_HIDE); + + ind = tab_.InsertItem(tab_.GetItemCount(), title); + item.lParam = (LPARAM)page; + item.mask = TCIF_PARAM; + tab_.SetItem(ind, &item); +} + +BEGIN_MESSAGE_MAP(CDlgMain, CDialogEx) + ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &CDlgMain::OnTcnSelchangeTab1) + ON_NOTIFY(TCN_SELCHANGING, IDC_TAB1, &CDlgMain::OnTcnSelchangingTab1) +END_MESSAGE_MAP() + + +// CDlgMain 消息处理程序 +void CDlgMain::OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) +{ + // TODO: 在此添加控件通知处理程序代码 + *pResult = 0; + TCITEM item = { 0 }; + + item.mask = TCIF_PARAM; + tab_.GetItem(tab_.GetCurSel(), &item); + ((CWnd*)item.lParam)->ShowWindow(SW_SHOW); +} + +void CDlgMain::OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult) +{ + // TODO: 在此添加控件通知处理程序代码 + *pResult = 0; + + TCITEM item = { 0 }; + + item.mask = TCIF_PARAM; + tab_.GetItem(tab_.GetCurSel(), &item); + ((CWnd*)item.lParam)->ShowWindow(SW_HIDE); +} diff --git a/tools/apps/hgjson/CDlgMain.h b/tools/apps/hgjson/CDlgMain.h new file mode 100644 index 0000000..861290e --- /dev/null +++ b/tools/apps/hgjson/CDlgMain.h @@ -0,0 +1,30 @@ +#pragma once +#include "afxdialogex.h" + + +// CDlgMain 对话框 + +class CDlgMain : public CDialogEx +{ + DECLARE_DYNAMIC(CDlgMain) + +public: + CDlgMain(CWnd* pParent = nullptr); // 标准构造函数 + virtual ~CDlgMain(); + +// 对话框数据 + enum { IDD = IDD_MAIN }; + +protected: + HICON m_hIcon; + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 + virtual BOOL OnInitDialog(); + + void insert_page(CDialogEx* page, const wchar_t* title); + + DECLARE_MESSAGE_MAP() +public: + CTabCtrl tab_; + afx_msg void OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult); +}; diff --git a/tools/apps/hgjson/DlgInput.cpp b/tools/apps/hgjson/DlgInput.cpp index 587f5ac..0a9c387 100644 --- a/tools/apps/hgjson/DlgInput.cpp +++ b/tools/apps/hgjson/DlgInput.cpp @@ -13,7 +13,7 @@ IMPLEMENT_DYNAMIC(CDlgInput, CDialogEx) CDlgInput::CDlgInput(CWnd* pParent /*=NULL*/) : CDialogEx(CDlgInput::IDD, pParent) - , value_(_T("")) + , value_(_T("")), type_(INPUT_FOR_NAME) { } @@ -27,6 +27,15 @@ void CDlgInput::DoDataExchange(CDataExchange* pDX) CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, value_); } +BOOL CDlgInput::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + + // Set the icon for this dialog. The framework does this automatically + // when the application's main window is not a dialog + + return TRUE; // return TRUE unless you set the focus to a control +} BEGIN_MESSAGE_MAP(CDlgInput, CDialogEx) @@ -41,16 +50,27 @@ END_MESSAGE_MAP() void CDlgInput::OnBnClickedOk() { // TODO: Add your control notification handler code here - wchar_t text[128] = { 0 }; - - ::GetDlgItemTextW(m_hWnd, IDC_EDIT1, text, _countof(text) - 1); - for (size_t i = 0; i < used_names_.size(); ++i) + UpdateData(); + if (value_.IsEmpty()) { - if (used_names_[i] == text) + ::MessageBoxW(m_hWnd, L"", L"Error", MB_OK | MB_ICONSTOP); + GotoDlgCtrl(GetDlgItem(IDC_EDIT1)); + return; + } + + if (type_ == INPUT_FOR_NAME) + { + wchar_t text[128] = { 0 }; + + ::GetDlgItemTextW(m_hWnd, IDC_EDIT1, text, _countof(text) - 1); + for (size_t i = 0; i < used_names_.size(); ++i) { - std::wstring t(used_names_[i] + L" is already used, choose another name, plz."); - ::MessageBoxW(m_hWnd, t.c_str(), L"Sorry", MB_OK); - return; + if (used_names_[i] == text) + { + std::wstring t(used_names_[i] + L" is already used, choose another name, plz."); + ::MessageBoxW(m_hWnd, t.c_str(), L"Sorry", MB_OK); + return; + } } } diff --git a/tools/apps/hgjson/DlgInput.h b/tools/apps/hgjson/DlgInput.h index c3d4f1b..7277479 100644 --- a/tools/apps/hgjson/DlgInput.h +++ b/tools/apps/hgjson/DlgInput.h @@ -20,9 +20,12 @@ public: protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() public: CString value_; + enum { INPUT_FOR_NAME, INPUT_FOR_STRING, }; + int type_; afx_msg void OnBnClickedOk(); }; diff --git a/tools/apps/hgjson/hgjson.cpp b/tools/apps/hgjson/hgjson.cpp index b4c313c..3c60e09 100644 --- a/tools/apps/hgjson/hgjson.cpp +++ b/tools/apps/hgjson/hgjson.cpp @@ -4,7 +4,7 @@ #include "stdafx.h" #include "hgjson.h" -#include "hgjsonDlg.h" +#include "CDlgMain.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -39,6 +39,7 @@ ChgjsonApp theApp; BOOL ChgjsonApp::InitInstance() { + AfxOleInit(); // InitCommonControlsEx() is required on Windows XP if an application // manifest specifies use of ComCtl32.dll version 6 or later to enable // visual styles. Otherwise, any window creation will fail. @@ -70,7 +71,7 @@ BOOL ChgjsonApp::InitInstance() // such as the name of your company or organization SetRegistryKey(_T("Local AppWizard-Generated Applications")); - ChgjsonDlg dlg; + CDlgMain dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) diff --git a/tools/apps/hgjson/hgjson.rc b/tools/apps/hgjson/hgjson.rc index 2c6e170..bdc917d 100644 Binary files a/tools/apps/hgjson/hgjson.rc and b/tools/apps/hgjson/hgjson.rc differ diff --git a/tools/apps/hgjson/hgjson.vcxproj b/tools/apps/hgjson/hgjson.vcxproj index 040a144..bc1aa69 100644 --- a/tools/apps/hgjson/hgjson.vcxproj +++ b/tools/apps/hgjson/hgjson.vcxproj @@ -20,14 +20,14 @@ Application true - v120 + v142 Unicode Dynamic Application false - v120 + v142 true Unicode Dynamic @@ -44,15 +44,17 @@ true - $(SolutionDir)..\sdk\Include\;$(IncludePath) - $(SolutionDir)..\sdk\lib\;$(LibraryPath) + $(ProjectDir)..\..\sdk\Include\;$(ProjectDir)..\..\..\..\sdk\Include\;$(IncludePath) + $(ProjectDir)..\..\sdk\lib\;$(LibraryPath) $(OutDir)$(ProjectName)\ + $(ProjectDir)..\..\solution\$(Configuration)\ false - $(SolutionDir)..\sdk\Include\;$(IncludePath) - $(SolutionDir)..\sdk\lib\;$(LibraryPath) + $(ProjectDir)..\..\sdk\Include\;$(ProjectDir)..\..\..\..\sdk\Include\;$(IncludePath) + $(ProjectDir)..\..\sdk\lib\;$(LibraryPath) $(OutDir)$(ProjectName)\ + $(ProjectDir)..\..\solution\$(Configuration)\ @@ -61,6 +63,7 @@ Disabled WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions) true + 4996 Windows @@ -86,6 +89,7 @@ true WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) true + 4996 Windows @@ -108,6 +112,9 @@ + + + @@ -116,6 +123,12 @@ + + NotUsing + NotUsing + + + diff --git a/tools/apps/hgjson/hgjson.vcxproj.filters b/tools/apps/hgjson/hgjson.vcxproj.filters index 04e1f9d..68c66f1 100644 --- a/tools/apps/hgjson/hgjson.vcxproj.filters +++ b/tools/apps/hgjson/hgjson.vcxproj.filters @@ -36,6 +36,15 @@ Header Files + + Header Files + + + Header Files + + + Header Files + @@ -50,6 +59,15 @@ Source Files + + Source Files + + + Source Files + + + Source Files + diff --git a/tools/apps/hgjson/hgjsonDlg.cpp b/tools/apps/hgjson/hgjsonDlg.cpp index 89484f8..44d3c88 100644 --- a/tools/apps/hgjson/hgjsonDlg.cpp +++ b/tools/apps/hgjson/hgjsonDlg.cpp @@ -17,23 +17,19 @@ #include #include #include +#include +#include +#include "../../../../code_device/hgdriver/hgdev/scanner_setting.h" #define TREE_ITEM_PRODUCT MAKELONG(MAKEWORD('P', 'R'), MAKEWORD('D', 'T')) #define TREE_ITEM_GROUP MAKELONG(MAKEWORD('G', 'R'), MAKEWORD('U', 'P')) #define TREE_ITEM_CONFIG MAKELONG(MAKEWORD('I', 'T'), MAKEWORD('E', 'M')) +#define OPT_TITLE_PREFIX L"OPTION_TITLE_" // + py +#define OPT_VALUE_PREFIX L"OPTION_VALUE_" // + title_py + py ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // sane data types: -typedef unsigned char SANE_Byte; -typedef int SANE_Word; -typedef SANE_Word SANE_Bool; -typedef SANE_Word SANE_Int; -typedef char SANE_Char; -typedef SANE_Char *SANE_String; -typedef const SANE_Char *SANE_String_Const; -typedef void *SANE_Handle; -typedef SANE_Word SANE_Fixed; namespace coding @@ -50,29 +46,5859 @@ namespace coding return inter_module_data::SET_RESULT_CONTINUE; } + typedef struct _clp_d + { + bool file; + std::wstring cont; + }CLPD, *LPCLPD; + INTER_MODULE_CALLBACK(get_clipboard_content) + { + LPCLPD pclpd = (LPCLPD)param; + + if (total == CF_TEXT) + { + coding_util::ansi_2_unicode(data, get_wstring, &pclpd->cont); + pclpd->file = false; + } + else if (total == CF_UNICODETEXT) + { + pclpd->cont = std::wstring((const wchar_t*)data, len / 2); + pclpd->file = false; + } + else if (total == CF_HDROP) + { + pclpd->cont = std::wstring((const wchar_t*)data, len / 2); + pclpd->file = true; + } + + return inter_module_data::SET_RESULT_STOP; + } int string_need_bytes(const wchar_t* str) { int len = lstrlenW(str) * 3; - len += 7; - len /= 4; - len *= 4; + len += 15; + len /= 8; + len *= 8; return len; } + + std::string u2a(const wchar_t* u) + { + std::string a(""); + + coding_util::unicode_2_ansi(u, get_string, &a); + + return a; + } + std::string u2utf8(const wchar_t* u) + { + std::string a(""); + + coding_util::unicode_2_utf8(u, get_string, &a); + + return a; + } + std::wstring a2u(const char* a) + { + std::wstring u(L""); + + coding_util::ansi_2_unicode(a, get_wstring, &u); + + return u; + } + std::wstring utf82u(const char* utf8) + { + std::wstring u(L""); + + coding_util::utf8_2_unicode(utf8, get_wstring, &u); + + return u; + } } + +namespace hz_2_py +{ + std::string findLetter(int nCode) + { + std::string strValue; + switch (nCode) + { + case 6325: + case 6436: + case 7571: + case 7925: + strValue = "A"; + break; + case 6263: + case 6440: + case 7040: + case 7208: + case 7451: + case 7733: + case 7945: + case 8616: + strValue = "AI"; + break; + case 5847: + case 5991: + case 6278: + case 6577: + case 6654: + case 7281: + case 7907: + case 8038: + case 8786: + strValue = "AN"; + break; + strValue = "ANG"; + break; + case 5974: + case 6254: + case 6427: + case 6514: + case 6658: + case 6959: + case 7033: + case 7081: + case 7365: + case 8190: + case 8292: + case 8643: + case 8701: + case 8773: + strValue = "AO"; + break; + case 6056: + case 6135: + case 6517: + case 7857: + case 8446: + case 8649: + case 8741: + strValue = "BA"; + break; + case 6267: + case 6334: + case 7494: + strValue = "BAI"; + break; + case 5870: + case 5964: + case 7851: + case 8103: + case 8113: + case 8418: + strValue = "BAN"; + break; + case 6182: + case 6826: + strValue = "BANG"; + break; + case 6165: + case 7063: + case 7650: + case 8017: + case 8157: + case 8532: + case 8621: + strValue = "BAO"; + break; + case 5635: + case 5873: + case 5893: + case 5993: + case 6141: + case 6703: + case 7753: + case 8039: + case 8156: + case 8645: + case 8725: + strValue = "BEI"; + break; + case 5946: + case 5948: + case 7458: + case 7928: + strValue = "BEN"; + break; + case 6452: + case 7420: + strValue = "BENG"; + break; + case 5616: + case 5734: + case 6074: + case 6109: + case 6221: + case 6333: + case 6357: + case 6589: + case 6656: + case 6725: + case 6868: + case 6908: + case 6986: + case 6994: + case 7030: + case 7052: + case 7221: + case 7815: + case 7873: + case 7985: + case 8152: + case 8357: + case 8375: + case 8387: + case 8416: + case 8437: + case 8547: + case 8734: + strValue = "BI"; + break; + case 5650: + case 5945: + case 6048: + case 6677: + case 6774: + case 7134: + case 7614: + case 7652: + case 7730: + case 7760: + case 8125: + case 8159: + case 8289: + case 8354: + case 8693: + strValue = "BIAN"; + break; + case 7027: + case 7084: + case 7609: + case 7613: + case 7958: + case 7980: + case 8106: + case 8149: + case 8707: + case 8752: + strValue = "BIAO"; + break; + case 8531: + strValue = "BIE"; + break; + case 5747: + case 6557: + case 7145: + case 7167: + case 7336: + case 7375: + case 7587: + case 7957: + case 8738: + case 8762: + strValue = "BIN"; + break; + case 5787: + case 5891: + case 6280: + strValue = "BING"; + break; + case 5781: + case 6403: + case 6636: + case 7362: + case 7502: + case 7771: + case 7864: + case 8030: + case 8404: + case 8543: + case 8559: + strValue = "BO"; + break; + case 6318: + case 6945: + case 7419: + case 7446: + case 7848: + case 7863: + case 8519: + strValue = "BU"; + break; + case 6474: + case 7769: + strValue = "CA"; + break; + strValue = "CAI"; + break; + case 6978: + case 7078: + case 7218: + case 8451: + case 8785: + strValue = "CAN"; + break; + case 5687: + strValue = "CANG"; + break; + case 6448: + case 6878: + case 8309: + case 8429: + strValue = "CAO"; + break; + case 6692: + strValue = "CE"; + break; + case 6515: + case 6825: + strValue = "CEN"; + break; + case 6465: + strValue = "CENG"; + break; + case 6639: + case 6766: + case 7017: + case 7230: + case 7311: + case 7322: + case 7363: + case 7942: + case 7979: + case 8135: + strValue = "CHA"; + break; + case 5713: + case 7846: + case 8091: + case 8218: + strValue = "CHAI"; + break; + case 5770: + case 5838: + case 6159: + case 6667: + case 6893: + case 6904: + case 6981: + case 7031: + case 7086: + case 7472: + case 7688: + case 7966: + case 8324: + case 8580: + strValue = "CHAN"; + break; + case 5686: + case 5943: + case 6041: + case 6137: + case 6660: + case 6568: + case 6749: + case 7029: + case 7047: + case 7438: + case 7509: + case 8680: + strValue = "CHANG"; + break; + case 6687: + case 7443: + case 8173: + strValue = "CHAO"; + break; + case 5969: + case 7726: + strValue = "CHE"; + break; + case 5840: + case 5863: + case 6251: + case 6433: + case 6923: + case 7201: + case 7320: + case 7755: + case 8619: + strValue = "CHEN"; + break; + case 5609: + case 5984: + case 7239: + case 7263: + case 7583: + case 7810: + case 7881: + case 7905: + case 8146: + case 8241: + case 8508: + strValue = "CHENG"; + break; + case 5749: + case 6015: + case 6061: + case 6319: + case 6374: + case 6420: + case 6445: + case 6633: + case 7042: + case 7523: + case 7787: + case 8023: + case 8101: + case 8161: + case 8231: + case 8304: + case 8355: + case 8388: + case 8489: + case 8556: + case 8746: + strValue = "CHI"; + break; + case 6091: + case 6671: + case 6731: + case 8409: + case 8430: + strValue = "CHONG"; + break; + case 5717: + case 6492: + case 6716: + case 8112: + case 8637: + strValue = "CHOU"; + break; + case 5601: + case 5927: + case 6680: + case 6732: + case 7109: + case 7238: + case 7290: + case 7343: + case 8150: + case 8260: + case 8573: + case 8777: + strValue = "CHU"; + break; + case 6285: + case 6408: + case 7590: + case 8563: + strValue = "CHUAI"; + break; + case 6622: + case 6955: + case 7516: + case 7843: + case 8413: + strValue = "CHUAN"; + break; + case 6675: + strValue = "CHUANG"; + break; + case 5879: + case 7302: + case 7319: + strValue = "CHUI"; + break; + case 6127: + case 8040: + case 8277: + strValue = "CHUN"; + break; + case 7401: + case 8554: + case 8626: + strValue = "CHUO"; + break; + strValue = "CI"; + break; + case 6075: + case 6358: + case 7684: + case 8043: + case 8457: + strValue = "4337 "; + break; + case 6042: + case 6840: + case 7085: + case 7193: + case 7214: + case 7240: + strValue = "CONG"; + break; + case 7308: + case 7403: + case 7577: + strValue = "COU"; + break; + case 6180: + case 6562: + case 6607: + case 7367: + case 8501: + case 8530: + case 8577: + strValue = "CU"; + break; + case 5764: + case 6305: + case 7664: + case 7973: + strValue = "CUAN"; + break; + case 6718: + case 6145: + case 6393: + case 7213: + case 7333: + case 7505: + case 8631: + strValue = "CUI"; + break; + case 6666: + case 8169: + strValue = "CUN"; + break; + case 5640: + case 6547: + case 7566: + case 7917: + case 7983: + case 8078: + case 8526: + case 8567: + strValue = "CUO"; + break; + case 6239: + case 6353: + case 6410: + case 6682: + case 7007: + case 8155: + case 8346: + case 8716: + case 8718: + strValue = "DA"; + break; + case 6004: + case 6316: + case 6523: + case 6942: + case 7110: + case 7173: + case 8776: + strValue = "DAI"; + break; + case 5757: + case 6144: + case 6402: + case 7373: + case 7470: + case 7781: + case 8067: + case 8087: + case 8185: + case 8376: + strValue = "DAN"; + break; + case 5852: + case 5942: + case 6148: + case 6920: + case 7724: + case 7885: + case 8141: + strValue = "DANG"; + break; + case 6322: + case 6665: + case 7514: + case 8478: + strValue = "DAO"; + break; + case 7929: + strValue = "DE"; + break; + case 6466: + case 6556: + case 7413: + case 7767: + case 7975: + case 8403: + strValue = "DENG"; + break; + case 5621: + case 5765: + case 5814: + case 5848: + case 5901: + case 5970: + case 6122: + case 6454: + case 7023: + case 7116: + case 7260: + case 7306: + case 7475: + case 7738: + case 7758: + case 7791: + case 7965: + case 8438: + case 8730: + strValue = "DI"; + break; + case 6439: + strValue = "DIA"; + break; + case 5871: + case 5967: + case 6559: + case 7172: + case 7868: + case 8116: + case 8118: + case 8401: + case 8558: + strValue = "DIAN"; + break; + case 7886: + case 8585: + case 8684: + strValue = "DIAO"; + break; + case 5976: + case 6006: + case 6273: + case 6409: + case 7526: + case 8012: + case 8183: + case 8562: + case 8688: + strValue = "DIE"; + break; + case 5674: + case 6404: + case 7164: + case 7575: + case 7754: + case 7814: + case 8059: + case 8184: + case 8490: + strValue = "DING"; + break; + case 7891: + strValue = "DIU"; + break; + case 5977: + case 6343: + case 6520: + case 6528: + case 7517: + case 7543: + case 7556: + case 7747: + case 8020: + strValue = "DONG"; + break; + case 6190: + case 8128: + case 8229: + case 8391: + strValue = "DOU"; + break; + case 6022: + case 6429: + case 6834: + case 7292: + case 7525: + case 8328: + case 8338: + case 8739: + case 8782: + strValue = "DU"; + break; + case 7318: + case 7649: + case 8393: + strValue = "DUAN"; + break; + case 7701: + case 7713: + case 7752: + strValue = "DUI"; + break; + case 6771: + case 7632: + case 7727: + case 7766: + case 7779: + case 7970: + case 8527: + strValue = "DUN"; + break; + case 6345: + case 6365: + case 6785: + case 7122: + case 7876: + case 8154: + case 8566: + strValue = "DUO"; + break; + case 5612: + case 5832: + case 5844: + case 5949: + case 6035: + case 6113: + case 6164: + case 6332: + case 6721: + case 6977: + case 7025: + case 7378: + case 7581: + case 7916: + case 7941: + case 8042: + case 8206: + case 8689: + strValue = "E"; + break; + case 6176: + case 6284: + strValue = "EN"; + break; + case 5706: + case 6939: + case 7177: + case 7879: + case 8025: + case 8660: + strValue = "ER"; + break; + case 5950: + case 7732: + strValue = "FA"; + break; + case 6212: + case 6232: + case 6506: + case 7283: + case 7660: + case 7818: + case 8576: + strValue = "FAN"; + break; + case 5890: + case 7242: + case 7853: + case 8419: + case 8648: + strValue = "FANG"; + break; + case 6032: + case 6584: + case 6713: + case 6839: + case 6990: + case 7119: + case 7328: + case 7572: + case 7619: + case 7673: + case 7948: + case 8082: + case 8267: + case 8385: + case 8468: + case 8613: + case 8678: + strValue = "FEI"; + break; + case 5739: + case 6915: + case 7291: + case 8687: + case 8787: + strValue = "FEN"; + break; + case 5726: + case 5926: + case 6155: + case 6384: + case 6767: + case 7731: + strValue = "FENG"; + break; + strValue = "FO"; + break; + case 8330: + strValue = "FOU"; + break; + case 5775: + case 5776: + case 5914: + case 6029: + case 6062: + case 6119: + case 6142: + case 6252: + case 6327: + case 6505: + case 6686: + case 6870: + case 6985: + case 7058: + case 7066: + case 7106: + case 7108: + case 7285: + case 7471: + case 7680: + case 7741: + case 7774: + case 7775: + case 7823: + case 7991: + case 8005: + case 8222: + case 8261: + case 8280: + case 8283: + case 8479: + case 8535: + case 8538: + case 8654: + case 8691: + strValue = "FU"; + break; + case 6246: + case 7056: + case 7057: + case 7424: + case 7837: + strValue = " GA"; + break; + case 5604: + case 5875: + case 5982: + case 7414: + case 7464: + strValue = "GAI"; + break; + case 5965: + case 6053: + case 6247: + case 6306: + case 6779: + case 6838: + case 6887: + case 7104: + case 7347: + case 7426: + case 7723: + case 8065: + case 8491: + strValue = "GAN"; + break; + case 7716: + case 7824: + case 8364: + strValue = "GANG"; + break; + case 5626: + case 5830: + case 5912: + case 6227: + case 7141: + case 7332: + case 7334: + case 7429: + case 7915: + strValue = "GAO"; + break; + case 5610: + case 5678: + case 5933: + case 5957: + case 6010: + case 6435: + case 7092: + case 7501: + case 7585: + case 7749: + case 7951: + case 8143: + case 8220: + case 8420: + case 8732: + strValue = "GE"; + break; + strValue = "GEI"; + break; + case 5608: + case 6102: + case 6371: + case 8462: + strValue = "GEN"; + break; + case 6376: + case 6657: + case 7114: + case 8665: + strValue = "GENG"; + break; + case 7178: + case 7537: + case 8228: + case 8601: + strValue = "GONG"; + break; + case 5694: + case 5824: + case 6524: + case 6960: + case 7037: + case 7135: + case 7259: + case 7477: + case 7616: + case 8349: + case 8384: + case 8724: + strValue = "GOU"; + break; + case 5637: + case 5812: + case 6152: + case 6536: + case 6773: + case 7284: + case 7379: + case 7484: + case 7486: + case 7591: + case 7617: + case 7813: + case 7825: + case 7860: + case 7932: + case 8019: + case 8083: + case 8233: + case 8494: + case 8593: + case 8681: + case 8729: + strValue = "GU"; + break; + case 5652: + case 5820: + case 6341: + case 7273: + case 7550: + case 8027: + strValue = "GUA"; + break; + strValue = "GUAI"; + break; + case 5736: + case 6124: + case 6272: + case 6842: + case 7834: + case 8057: + case 8170: + case 8704: + strValue = "GUAN"; + break; + case 6359: + case 6578: + case 7270: + case 7555: + strValue = "GUANG"; + break; + case 5648: + case 5659: + case 6649: + case 7003: + case 7277: + case 7433: + case 7448: + case 8007: + case 8394: + case 8657: + case 8712: + strValue = "GUI"; + break; + case 5782: + case 7121: + case 7762: + case 8671: + strValue = "GUN"; + break; + case 5769: + case 6266: + case 6335: + case 6494: + case 6538: + case 6603: + case 7304: + case 7529: + case 8188: + case 8268: + case 8269: + strValue = "GUO"; + break; + case 7894: + strValue = "HA"; + break; + case 6443: + case 7560: + case 8516: + strValue = "HAI"; + break; + case 5885: + case 6153: + case 6294: + case 6759: + case 6911: + case 7447: + case 7642: + case 8192: + case 8205: + case 8232: + case 8793: + strValue = "HAN"; + break; + case 6776: + case 7112: + case 8194: + strValue = "HANG"; + break; + case 6179: + case 6222: + case 6438: + case 6467: + case 6909: + case 6916: + case 7427: + case 8009: + case 8211: + case 8226: + strValue = "HAO"; + break; + case 5813: + case 5932: + case 5954: + case 6432: + case 6756: + case 7434: + case 7833: + case 8202: + case 8234: + case 8471: + strValue = "HE"; + break; + strValue = "HEI"; + break; + strValue = "HEN"; + break; + case 6231: + case 7181: + case 7276: + strValue = "HENG"; + break; + case 5768: + case 5774: + case 5807: + case 6106: + case 6214: + case 6216: + case 6740: + case 6792: + strValue = "HONG"; + break; + case 6009: + case 6565: + case 6943: + case 8090: + case 8383: + case 8455: + case 8655: + case 8731: + strValue = "HOU"; + break; + case 5792: + case 6392: + case 6481: + case 6518: + case 6609: + case 6679: + case 6717: + case 6816: + case 6879: + case 7190: + case 7346: + case 7385: + case 7618: + case 7635: + case 7646: + case 7670: + case 7672: + case 7679: + case 8013: + case 8032: + case 8041: + case 8055: + case 8343: + case 8513: + case 8590: + strValue = "HU"; + break; + case 7072: + case 7275: + case 7725: + case 7892: + strValue = "HUA"; + break; + case 8555: + strValue = "HUAI"; + break; + case 5928: + case 6140: + case 6307: + case 6487: + case 6621: + case 6801: + case 6829: + case 6881: + case 6930: + case 6953: + case 7157: + case 7944: + case 8673: + case 8763: + strValue = "HUAN"; + break; + case 5882: + case 6569: + case 6850: + case 6874: + case 6956: + case 7211: + case 7533: + case 8105: + case 8308: + case 8382: + case 8692: + strValue = "HUANG"; + break; + case 5822: + case 6078: + case 6086: + case 6205: + case 6352: + case 6360: + case 6425: + case 6736: + case 6807: + case 6811: + case 6971: + case 7132: + case 7185: + case 7445: + case 7703: + case 8219: + case 8319: + case 8766: + strValue = "HUI"; + break; + case 5827: + case 6638: + case 6752: + case 6867: + strValue = "HUN"; + break; + case 5669: + case 6229: + case 6311: + case 6475: + case 6623: + case 7856: + case 7933: + case 7976: + case 8175: + case 8322: + strValue = "HUO"; + break; + case 5629: + case 5632: + case 5662: + case 5705: + case 5742: + case 5952: + case 6024: + case 6033: + case 6193: + case 6210: + case 6265: + case 6320: + case 6350: + case 6383: + case 6507: + case 6553: + case 6809: + case 6976: + case 7087: + case 7160: + case 7165: + case 7314: + case 7374: + case 7410: + case 7411: + case 7469: + case 7473: + case 7487: + case 7620: + case 7722: + case 7831: + case 7990: + case 8002: + case 8104: + case 8217: + case 8337: + case 8339: + case 8463: + case 8550: + case 8611: + case 8661: + case 8674: + case 8757: + case 8768: + strValue = "JI"; + break; + case 5704: + case 5903: + case 6171: + case 6521: + case 6804: + case 6940: + case 7176: + case 7409: + case 7546: + case 7702: + case 7882: + case 7956: + case 8072: + case 8142: + case 8244: + case 8353: + case 8434: + case 8542: + strValue = "JIA"; + break; + case 5752: + case 5841: + case 5857: + case 6149: + case 6183: + case 6286: + case 6853: + case 6931: + case 6932: + case 7144: + case 7237: + case 7305: + case 7407: + case 7415: + case 7480: + case 7489: + case 7506: + case 7576: + case 7790: + case 7921: + case 8047: + case 8148: + case 8340: + case 8469: + case 8534: + case 8561: + case 8668: + case 8721: + strValue = "JIAN"; + break; + case 6092: + case 6814: + case 7113: + case 7154: + case 7481: + case 7768: + case 8180: + case 8461: + case 8488: + strValue = "JIANG"; + break; + case 5714: + case 5753: + case 6020: + case 6090: + case 6256: + case 6461: + case 6572: + case 7015: + case 7524: + case 8008: + case 8052: + case 8252: + case 8520: + case 8551: + case 8662: + strValue = "JIAO"; + break; + case 5806: + case 5821: + case 6255: + case 6414: + case 7028: + case 7061: + case 7278: + case 7757: + case 8060: + case 8201: + case 8227: + case 8441: + case 8658: + case 8726: + strValue = "JIE"; + break; + case 5865: + case 6103: + case 6132: + case 6468: + case 6643: + case 6659: + case 7138: + case 7210: + case 7340: + case 7465: + case 7478: + case 8138: + strValue = "JIN"; + break; + case 5751: + case 5869: + case 6128: + case 6616: + case 6729: + case 6794: + case 6941: + case 6982: + case 7026: + case 7534: + case 7554: + case 7570: + case 7626: + strValue = "JIANG"; + break; + case 6936: + case 7671: + strValue = "JIONG"; + break; + case 5754: + case 6417: + case 6746: + case 7249: + case 7274: + case 8015: + case 8053: + case 8481: + case 8761: + strValue = "JIU"; + break; + case 5738: + case 5810: + case 6036: + case 6058: + case 6076: + case 6268: + case 6965: + case 6980: + case 7202: + case 7307: + case 7316: + case 7323: + case 7357: + case 7381: + case 7488: + case 7611: + case 7850: + case 7924: + case 8022: + case 8132: + case 8153: + case 8482: + case 8522: + case 8565: + case 8620: + case 8634: + case 8722: + strValue = "JU"; + break; + case 5918: + case 6590: + case 6824: + case 7280: + case 7835: + case 7935: + case 7952: + case 8633: + strValue = "JUAN"; + break; + case 5642: + case 5667: + case 5860: + case 5939: + case 6207: + case 6421: + case 6457: + case 6469: + case 6540: + case 6617: + case 7062: + case 7169: + case 7286: + case 7351: + case 7663: + case 7967: + case 8574: + case 8591: + strValue = "JUE"; + break; + case 6260: + case 8168: + case 8362: + case 8769: + strValue = "JUN"; + break; + case 5671: + case 6339: + case 7544: + strValue = "KA"; + break; + case 5660: + case 5978: + case 6160: + case 6673: + case 6693: + case 7888: + case 7920: + case 7939: + strValue = "KAI"; + break; + case 5709: + case 6108: + case 7412: + case 7772: + case 7811: + strValue = "KAN"; + break; + case 5688: + case 6742: + case 7854: + strValue = "KANG"; + break; + case 6974: + case 7264: + case 7491: + case 7877: + strValue = "KAO"; + break; + case 6430: + case 6519: + case 6701: + case 6859: + case 7076: + case 7128: + case 7170: + case 7380: + case 7520: + case 7807: + case 7861: + case 7930: + case 7993: + case 8066: + case 8129: + case 8204: + case 8282: + case 8733: + strValue = "KE"; + break; + case 8144: + strValue = "KEN"; + break; + case 7912: + strValue = "KENG"; + break; + case 5737: + case 6539: + case 8377: + strValue = "KONG"; + break; + case 6050: + case 6202: + case 6321: + case 7778: + case 8356: + strValue = "KOU"; + break; + case 5658: + case 6005: + case 6423: + case 7111: + case 8728: + strValue = "KU"; + break; + case 5708: + strValue = "KUA"; + break; + case 5665: + case 5906: + case 6364: + case 6586: + case 7558: + strValue = "KUAI"; + break; + case 8737: + strValue = "KUAN"; + break; + case 5818: + case 5831: + case 5887: + case 5959: + case 6237: + case 6349: + case 7094: + case 7460: + strValue = "KUANG"; + break; + case 5624: + case 5649: + case 5771: + case 6162: + case 6281: + case 6413: + case 6416: + case 6720: + case 6951: + case 7450: + case 7805: + case 8606: + case 8743: + strValue = "KUI"; + break; + case 6204: + case 6245: + case 6458: + case 6618: + case 6928: + case 7152: + case 7841: + case 8051: + strValue = "LIAO"; + break; + case 5793: + case 5988: + case 6270: + case 6354: + case 6803: + case 8483: + case 8581: + case 8764: + strValue = "LIE"; + break; + case 6194: + case 6388: + case 6555: + case 6662: + case 6733: + case 6964: + case 7361: + case 7405: + case 7602: + case 7812: + case 8452: + case 8579: + case 8775: + strValue = "LIN"; + break; + case 5925: + case 6063: + case 6342: + case 6482: + case 6786: + case 7117: + case 7258: + case 7289: + case 7418: + case 8186: + case 8240: + case 8465: + case 8676: + strValue = "LING"; + break; + case 6815: + case 6962: + case 7082: + case 7124: + case 7628: + case 7654: + case 7919: + case 7954: + case 8050: + case 8644: + strValue = "LIU"; + break; + case 5966: + case 6055: + case 6781: + case 7171: + case 7248: + case 7542: + case 7735: + case 8110: + strValue = "LONG"; + break; + case 5745: + case 6168: + case 6422: + case 6548: + case 7946: + case 8092: + case 8179: + case 8287: + case 8735: + strValue = "LOU"; + break; + case 6744: + case 7321: + case 7586: + case 7918: + case 7989: + case 8158: + strValue = "L"; + break; + case 5968: + case 6303: + case 6464: + case 6782: + case 6843: + case 6885: + case 6954: + case 7220: + case 7251: + case 7354: + case 7391: + case 7404: + case 7510: + case 7545: + case 7969: + case 8021: + case 8056: + case 8392: + case 8421: + case 8652: + strValue = "LU"; + break; + case 5785: + case 7014: + case 7279: + case 8029: + case 8639: + strValue = "LUAN"; + break; + strValue = "LE"; + break; + strValue = "LUN"; + break; + case 5732: + case 5789: + case 6093: + case 6259: + case 6291: + case 6604: + case 6788: + case 6880: + case 7183: + case 7301: + case 7565: + case 7961: + case 8107: + case 8635: + strValue = "LUO"; + break; + case 6328: + strValue = "M"; + break; + case 6373: + case 6579: + case 7054: + case 7231: + case 8301: + strValue = "MA"; + break; + case 5929: + case 6104: + case 8618: + strValue = "MAI"; + break; + case 6012: + case 6503: + case 7147: + case 7655: + case 7960: + case 8209: + case 8293: + case 8709: + case 8720: + strValue = "MAN"; + break; + case 5888: + case 6861: + case 7743: + case 8294: + strValue = "MANG"; + break; + case 5783: + case 6066: + case 6525: + case 6787: + case 7203: + case 7436: + case 7483: + case 7503: + case 7624: + case 7714: + case 7806: + case 8317: + case 8754: + strValue = "MAO"; + break; + case 6114: + case 6550: + case 6613: + case 6828: + case 6856: + case 7325: + case 7949: + case 8044: + case 8139: + case 8740: + strValue = "MEI"; + break; + case 6249: + case 7643: + case 7715: + case 7845: + strValue = "MEN"; + break; + case 5934: + case 6189: + case 6211: + case 6734: + case 7592: + case 7770: + case 8221: + case 8276: + case 8323: + case 8427: + case 8431: + strValue = "MENG"; + break; + case 5634: + case 5855: + case 6234: + case 6368: + case 6455: + case 6608: + case 6772: + case 6921: + case 6984: + case 7563: + case 7682: + case 8445: + case 8767: + case 8771: + strValue = "MI"; + break; + case 6770: + case 6837: + case 6847: + case 7579: + case 7777: + strValue = "MIAN"; + break; + case 6387: + case 6967: + case 7131: + case 7149: + case 7234: + case 7721: + case 7780: + case 8037: + strValue = "MIAO"; + break; + case 5631: + case 6367: + case 8326: + case 8390: + strValue = "MIE"; + break; + case 6069: + case 6526: + case 6741: + case 6793: + case 7137: + case 7168: + case 7175: + case 7710: + case 8710: + case 8628: + strValue = "MIN"; + break; + case 5804: + case 6088: + case 6873: + case 7452: + case 7808: + case 8504: + strValue = "MING"; + break; + strValue = "MIU"; + break; + case 5851: + case 6052: + case 6175: + case 6641: + case 7038: + case 7366: + case 7950: + case 7987: + case 8102: + case 8182: + case 8586: + case 8588: + case 8765: + strValue = "MO"; + break; + case 5716: + case 6372: + case 7788: + case 8254: + case 8290: + case 8642: + strValue = "MOU"; + break; + case 5679: + case 5973: + case 6057: + case 6769: + case 7504: + case 7866: + strValue = "MU"; + break; + case 6437: + strValue = "N"; + break; + case 6264: + case 7539: + case 7953: + case 8136: + strValue = "NA"; + break; + case 5630: + case 6021: + case 6133: + case 7245: + strValue = "NAI"; + break; + case 6411: + case 6478: + case 6479: + case 7310: + case 7578: + case 8279: + case 8486: + strValue = "NAN"; + break; + case 6313: + case 6476: + case 6646: + case 7457: + strValue = "NANG"; + break; + case 5611: + case 5981: + case 6346: + case 6614: + case 7207: + case 7748: + case 7883: + case 8245: + strValue = "NAO"; + break; + case 5811: + strValue = "NE"; + break; + strValue = "NEI"; + break; + case 7705: + strValue = "NEN"; + break; + strValue = "NENG"; + break; + case 5703: + case 5972: + case 6605: + case 6685: + case 7439: + case 7627: + case 7711: + case 7794: + case 7874: + case 8682: + strValue = "NI"; + break; + case 5605: + case 5994: + case 7393: + case 8004: + case 8651: + case 8683: + strValue = "NIAN"; + break; + strValue = "NIANG"; + break; + case 6064: + case 7053: + case 7569: + case 8433: + strValue = "NIAO"; + break; + case 5877: + case 6233: + case 6431: + case 8208: + case 8411: + case 8570: + strValue = "NIE"; + break; + strValue = "NIN"; + break; + case 5690: + case 6344: + case 6924: + case 8187: + strValue = "NING"; + break; + case 6580: + case 6678: + case 7004: + strValue = "NIU"; + break; + case 5715: + case 6370: + strValue = "NONG"; + break; + case 8181: + strValue = "NOU"; + break; + case 6983: + case 7032: + case 7059: + case 7069: + strValue = "NU"; + break; + case 7704: + case 7847: + case 8412: + strValue = "N"; + break; + strValue = "NUAN"; + break; + strValue = "NUE"; + break; + case 5748: + case 6289: + case 6386: + case 7927: + strValue = "NUO"; + break; + case 6424: + case 6462: + strValue = "O"; + break; + case 5809: + case 6670: + case 7417: + case 8178: + strValue = "OU"; + break; + case 6166: + case 7243: + case 8365: + strValue = "PA"; + break; + case 5729: + case 6169: + case 6363: + strValue = "PAI"; + break; + case 6761: + case 6790: + case 8140: + case 8165: + case 8320: + case 8571: + strValue = "PAN"; + break; + case 6561: + case 6872: + case 6944: + case 8306: + strValue = "PANG"; + break; + case 6243: + case 6583: + case 6650: + case 7567: + case 8069: + strValue = "PAO"; + break; + case 6446: + case 6490: + case 7623: + case 7934: + case 8512: + case 8612: + strValue = "PEI"; + break; + case 6852: + strValue = "PEN"; + break; + case 6001: + case 6456: + case 6681: + case 8318: + strValue = "PENG"; + break; + case 5607: + case 5682: + case 5880: + case 5892: + case 5915: + case 5960: + case 6017: + case 6037: + case 6308: + case 6472: + case 6647: + case 6836: + case 7039: + case 7102: + case 7233: + case 7422: + case 7802: + case 7828: + case 7875: + case 8117: + case 8166: + case 8223: + case 8271: + case 8589: + strValue = "PI"; + break; + case 5850: + case 7073: + case 7490: + case 7561: + case 8470: + case 8568: + strValue = "PIAN"; + break; + case 5666: + case 6449: + case 7046: + case 7146: + case 7372: + case 7809: + case 8310: + strValue = "PIAO"; + break; + case 6054: + case 7513: + strValue = "PIE"; + break; + case 7041: + case 6253: + case 7016: + case 7315: + case 7482: + case 8213: + strValue = "PIN"; + break; + case 5723: + case 7019: + case 7250: + case 8650: + strValue = "PING"; + break; + case 5647: + case 5922: + case 7174: + case 7839: + case 7862: + case 8011: + case 8345: + strValue = "PO"; + break; + case 5786: + case 6269: + strValue = "POU"; + break; + case 5773: + case 6459: + case 6863: + case 6907: + case 7217: + case 7511: + case 7968: + case 7972: + case 8575: + strValue = "PU"; + break; + case 5633: + case 5725: + case 5963: + case 6027: + case 6046: + case 6089: + case 6129: + case 6134: + case 6161: + case 6213: + case 6366: + case 6450: + case 6508: + case 6510: + case 6764: + case 6831: + case 7075: + case 7118: + case 7187: + case 7189: + case 7229: + case 7271: + case 7342: + case 7440: + case 7605: + case 7687: + case 7712: + case 7751: + case 8193: + case 8251: + case 8264: + case 8475: + case 8476: + case 8572: + case 8702: + case 8772: + strValue = "QI"; + break; + case 6154: + case 8736: + strValue = "QIA"; + break; + case 5727: + case 5761: + case 5868: + case 6023: + case 6045: + case 6071: + case 6271: + case 6509: + case 6705: + case 6727: + case 6925: + case 6926: + case 6929: + case 7155: + case 7293: + case 7541: + case 7709: + case 7852: + case 8215: + case 8373: + strValue = "QIAN"; + break; + case 6762: + case 7045: + case 7341: + case 7408: + case 7633: + case 7926: + case 7947: + case 7974: + case 8163: + case 8262: + case 8439: + case 8536: + strValue = "QIANG"; + break; + case 5668: + case 5829: + case 5859: + case 6081: + case 6529: + case 6724: + case 6730: + case 7352: + case 7745: + case 8546: + case 8719: + strValue = "QIAO"; + break; + case 5907: + case 6711: + case 7010: + case 7492: + case 7938: + case 8370: + strValue = "QIE"; + break; + case 6043: + case 6276: + case 6336: + case 6426: + case 6463: + case 6858: + case 7353: + case 7923: + case 8291: + case 8432: + strValue = "QIN"; + break; + case 6060: + case 6485: + case 7349: + case 7764: + case 8263: + case 8332: + case 8368: + case 8605: + case 8675: + case 8784: + strValue = "QING"; + break; + case 5886: + case 6068: + case 8123: + case 8243: + case 8344: + case 8528: + case 8638: + strValue = "QIONG"; + break; + case 5720: + case 5947: + case 6576: + case 6848: + case 6947: + case 6957: + case 7317: + case 7468: + case 8216: + case 8239: + case 8288: + case 8435: + case 8460: + case 8690: + case 8792: + strValue = "QIU"; + break; + case 5816: + case 5930: + case 6201: + case 6230: + case 6511: + case 6573: + case 6754: + case 7219: + case 7479: + case 7512: + case 7552: + case 7678: + case 7765: + case 8119: + case 8248: + case 8329: + case 8480: + case 8636: + case 8781: + strValue = "QU"; + break; + case 5825: + case 6085: + case 6710: + case 7125: + case 7390: + case 7816: + case 7893: + case 8273: + case 8360: + case 8760: + strValue = "QUAN"; + break; + case 6755: + case 6758: + case 7708: + strValue = "QUE"; + break; + case 6950: + strValue = "QUN"; + break; + case 6059: + case 8237: + case 8755: + strValue = "RAN"; + break; + case 7692: + case 8006: + strValue = "RANG"; + break; + case 6073: + case 7012: + case 7267: + strValue = "RAO"; + break; + strValue = "RE"; + break; + case 5680: + case 6083: + case 6156: + case 6631: + case 7377: + case 7994: + case 8137: + strValue = "REN"; + break; + strValue = "RENG"; + break; + strValue = "RI"; + break; + case 6541: + case 6585: + case 7337: + case 7532: + case 8278: + strValue = "RONG"; + break; + case 8459: + case 8569: + case 8723: + strValue = "ROU"; + break; + case 6174: + case 6224: + case 6473: + case 6818: + case 6865: + case 6906: + case 7140: + case 7908: + case 8164: + case 8212: + strValue = "RU"; + break; + case 7535: + strValue = "RUAN"; + break; + case 6039: + case 6208: + case 7236: + case 7803: + case 8224: + strValue = "RUI"; + break; + strValue = "RUN"; + break; + case 5728: + case 8372: + strValue = "RUO"; + break; + case 5606: + case 5677: + case 7493: + case 7559: + case 7610: + strValue = "SA"; + break; + case 6471: + strValue = "SAI"; + break; + case 6644: + case 7507: + case 8454: + strValue = "SAN"; + break; + case 6290: + case 7763: + case 8210: + strValue = "SANG"; + break; + case 6003: + case 7150: + case 7156: + case 7593: + case 8094: + case 8694: + strValue = "SAO"; + break; + strValue = "SE"; + break; + strValue = "SEN"; + break; + strValue = "SENG"; + break; + case 6394: + case 7606: + case 7901: + case 8080: + case 8436: + case 8614: + case 8672: + strValue = "SHA"; + break; + case 8507: + strValue = "SHAI"; + break; + case 5663: + case 5808: + case 5923: + case 5979: + case 6047: + case 6890: + case 7009: + case 7051: + case 7083: + case 7594: + case 7844: + case 8062: + case 8321: + case 8414: + case 8539: + case 8713: + strValue = "SHAN"; + break; + case 5980: + case 7120: + case 7368: + case 7656: + case 8592: + strValue = "SHANG"; + break; + case 5931: + case 6070: + case 6891: + case 7228: + case 8366: + case 8425: + strValue = "SHAO"; + break; + case 5639: + case 5760: + case 6606: + case 6860: + case 7608: + case 7820: + case 8774: + strValue = "SHE"; + break; + case 5837: + case 6123: + case 6351: + case 6841: + case 7309: + case 7547: + case 7982: + case 8255: + strValue = "SHEN"; + break; + case 6551: + case 7441: + case 7782: + case 8347: + strValue = "SHENG"; + break; + case 5854: + case 5985: + case 6110: + case 6173: + case 6317: + case 7388: + case 7459: + case 7634: + case 7870: + case 8307: + case 8334: + case 8363: + case 8525: + case 8669: + case 8685: + strValue = "SHI"; + break; + case 6587: + case 7123: + case 8428: + strValue = "SHOU"; + break; + case 5731: + case 5951: + case 6136: + case 6283: + case 6780: + case 6888: + case 7013: + case 7508: + case 7582: + case 7988: + strValue = "SHU"; + break; + case 6407: + strValue = "SHUA"; + break; + case 8316: + strValue = "SHUAI"; + break; + case 6737: + case 6844: + strValue = "SHUAN"; + break; + case 7055: + strValue = "SHUANG"; + break; + strValue = "SHUI"; + break; + strValue = "SHUN"; + break; + case 6184: + case 6287: + case 6989: + case 7335: + case 7869: + strValue = "SHUO"; + break; + case 5643: + case 5778: + case 5944: + case 6348: + case 6765: + case 6784: + case 6889: + case 7006: + case 7065: + case 7133: + case 7675: + case 7940: + case 8024: + case 8174: + case 8247: + case 8351: + strValue = "SI"; + break; + case 5801: + case 6131: + case 6534: + case 6552: + case 6676: + case 6704: + case 6833: + case 8121: + strValue = "SONG"; + break; + case 5937: + case 6220: + case 6418: + case 6453: + case 6640: + case 6849: + case 7612: + case 7804: + case 7943: + case 8284: + strValue = "SOU"; + break; + case 5777: + case 5853: + case 6188: + case 6428: + case 6726: + case 6819: + case 8389: + case 8602: + case 8653: + strValue = "SU"; + break; + case 6601: + strValue = "SUAN"; + break; + case 5839: + case 6120: + case 6901: + case 6968: + case 7661: + case 7785: + case 7801: + strValue = "SUI"; + break; + case 6105: + case 6588: + case 6624: + case 7330: + case 8632: + strValue = "SUN"; + break; + case 6379: + case 6434: + case 6442: + case 7022: + case 7288: + case 7792: + case 8440: + strValue = "SUO"; + break; + case 6743: + case 6866: + case 6961: + case 7329: + case 7719: + case 7872: + case 8533: + case 8703: + strValue = "TA"; + break; + case 5902: + case 6223: + case 6330: + case 7070: + case 7536: + case 7638: + case 7849: + case 8544: + case 8656: + strValue = "TAI"; + break; + case 5916: + case 6903: + case 7428: + case 7694: + case 7867: + case 7936: + case 8191: + strValue = "TAN"; + break; + case 5746: + case 6491: + case 6871: + case 7209: + case 7344: + case 7906: + case 7959: + case 8177: + case 8305: + case 8311: + case 8442: + case 8517: + strValue = "TANG"; + break; + case 5627: + case 6391: + case 6812: + case 7226: + case 7666: + strValue = "TAO"; + break; + strValue = "1845 "; + break; + case 6315: + case 7693: + case 7911: + strValue = "TE"; + break; + case 7588: + strValue = "TENG"; + break; + case 5735: + case 6709: + case 6949: + case 7130: + case 8035: + case 8151: + case 8514: + strValue = "TI"; + break; + case 6261: + case 6735: + case 6757: + case 7369: + case 7817: + strValue = "TIAN"; + break; + case 5712: + case 7686: + case 8127: + case 8272: + case 8352: + case 8448: + case 8622: + case 8670: + case 8756: + strValue = "TIAO"; + break; + case 6138: + case 8749: + strValue = "TIE"; + break; + case 6080: + case 6167: + case 7035: + case 7272: + case 7890: + case 8249: + case 8610: + strValue = "TING"; + break; + case 5701: + case 5758: + case 6077: + case 6444: + case 6690: + case 6892: + case 7737: + strValue = "TONG"; + break; + case 7855: + case 7822: + case 8727: + strValue = "TOU"; + break; + case 6002: + case 6117: + case 6143: + case 7842: + case 8509: + strValue = "TU"; + break; + case 6250: + case 6972: + strValue = "TUAN"; + break; + case 7653: + strValue = "TUI"; + break; + case 5759: + case 6629: + case 7453: + case 7564: + strValue = "TUN"; + break; + case 5617: + case 5702: + case 5971: + case 6653: + case 6791: + case 7256: + case 7262: + case 7350: + case 7740: + case 8374: + case 8502: + case 8541: + case 8630: + strValue = "TUO"; + break; + case 5684: + case 7020: + case 7580: + strValue = "WA"; + break; + strValue = "WAI"; + break; + case 5664: + case 6025: + case 6150: + case 7093: + case 7126: + case 7194: + case 7568: + case 7821: + case 8274: + strValue = "WAN"; + break; + case 5672: + case 6244: + case 6715: + case 7394: + case 8745: + strValue = "WANG"; + break; + case 5743: + case 5835: + case 5881: + case 5883: + case 6158: + case 6217: + case 6488: + case 6501: + case 6543: + case 6545: + case 6611: + case 6612: + case 6739: + case 6777: + case 6802: + case 6822: + case 6952: + case 7024: + case 7166: + case 7224: + case 7406: + case 7631: + case 7648: + case 8084: + case 8426: + case 8659: + strValue = "WEI"; + break; + case 5656: + case 6751: + case 6775: + case 7223: + case 8609: + strValue = "WEN"; + break; + case 6178: + case 6219: + strValue = "WENG"; + break; + case 5733: + case 6111: + case 6502: + case 6855: + case 7531: + case 7750: + case 8627: + strValue = "WO"; + break; + case 5603: + case 5685: + case 5867: + case 5889: + case 5956: + case 6044: + case 6377: + case 6648: + case 6668: + case 6672: + case 6820: + case 6927: + case 6935: + case 6992: + case 7036: + case 7080: + case 7227: + case 7485: + case 7641: + case 8036: + case 8045: + case 8077: + case 8258: + case 8640: + case 8789: + strValue = "WU"; + break; + case 5750: + case 5766: + case 5884: + case 5913: + case 6130: + case 6163: + case 6191: + case 6241: + case 6381: + case 6567: + case 6630: + case 6750: + case 6827: + case 6832: + case 6979: + case 7050: + case 7184: + case 7356: + case 7456: + case 7474: + case 7604: + case 7668: + case 7689: + case 7691: + case 8010: + case 8122: + case 8265: + case 8303: + case 8312: + case 8410: + case 8424: + case 8443: + case 8449: + case 8466: + case 8521: + case 8791: + strValue = "XI"; + break; + case 6340: + case 6582: + case 6958: + case 7206: + case 7252: + case 7744: + case 8093: + case 8333: + case 8779: + strValue = "XIA"; + break; + case 5794: + case 5823: + case 6040: + case 6118: + case 6226: + case 6513: + case 6593: + case 6963: + case 7021: + case 7515: + case 7662: + case 7676: + case 8034: + case 8079: + case 8225: + case 8358: + case 8444: + case 8503: + case 8548: + case 8549: + case 8617: + strValue = "XIAN"; + break; + case 6028: + case 6157: + case 6635: + case 6652: + case 7088: + case 7129: + case 8313: + case 8663: + case 8747: + strValue = "XIANG"; + break; + case 6356: + case 6537: + case 6876: + case 6948: + case 7071: + case 7115: + case 7241: + case 7253: + case 8257: + case 8367: + case 8379: + case 8744: + strValue = "XIAO"; + break; + case 5741: + case 5784: + case 5936: + case 5938: + case 6215: + case 6302: + case 6619: + case 6661: + case 6845: + case 6912: + case 6966: + case 7105: + case 7151: + case 7331: + case 7339: + case 8583: + strValue = "XIE"; + break; + case 5622: + case 6016: + case 7431: + case 7607: + case 8646: + strValue = "XIN"; + break; + case 5874: + case 6084: + case 6309: + case 6712: + case 7742: + strValue = "XING"; + break; + case 6026: + strValue = "XIONG"; + break; + case 6361: + case 6522: + case 6642: + case 6651: + case 6869: + case 8028: + case 8587: + case 8759: + strValue = "XIU"; + break; + case 5828: + case 5935: + case 5955: + case 6203: + case 6810: + case 6851: + case 7179: + case 7282: + case 7667: + case 7776: + case 8167: + case 8458: + case 8515: + strValue = "XU"; + break; + case 5756: + case 5846: + case 6170: + case 6279: + case 6789: + case 6854: + case 6886: + case 7215: + case 7324: + case 7449: + case 7637: + case 7651: + case 7759: + case 7871: + case 7964: + case 8071: + strValue = "XUAN"; + break; + case 5842: + case 7720: + case 8529: + case 8708: + strValue = "XUE"; + break; + case 5767: + case 5908: + case 5987: + case 6087: + case 6101: + case 6206: + case 6225: + case 6530: + case 6563: + case 6620: + case 6694: + case 6813: + case 6817: + case 7454: + case 8131: + case 8524: + case 8664: + strValue = "XUN"; + break; + case 5683: + case 5975: + case 6275: + case 6512: + case 6934: + case 7011: + case 7180: + case 7266: + case 7518: + case 7728: + case 7793: + case 8073: + strValue = "YA"; + break; + case 5641: + case 5645: + case 5718: + case 5740: + case 5780: + case 5861: + case 5917: + case 5919: + case 6030: + case 6146: + case 6535: + case 6691: + case 6738: + case 6753: + case 6846: + case 6857: + case 6991: + case 7044: + case 7192: + case 7360: + case 7444: + case 7557: + case 7645: + case 7827: + case 8359: + case 8506: + case 8742: + case 8748: + case 8790: + strValue = "YAN"; + break; + case 6564: + case 6683: + case 7630: + case 7640: + case 7706: + case 8253: + case 8717: + strValue = "YANG"; + break; + case 5618: + case 5619: + case 6326: + case 6542: + case 6570: + case 7159: + case 7182: + case 7235: + case 7387: + case 7455: + case 7540: + case 7902: + case 8046: + case 8126: + case 8477: + case 8705: + strValue = "YAO"; + break; + case 5644: + case 5843: + case 5894: + case 6262: + case 7442: + case 7639: + case 7884: + strValue = "YE"; + break; + case 5655: + case 5657: + case 5670: + case 5693: + case 5711: + case 5817: + case 5961: + case 5992: + case 6018: + case 6051: + case 6072: + case 6218: + case 6236: + case 6240: + case 6258: + case 6314: + case 6329: + case 6355: + case 6362: + case 6441: + case 6470: + case 6527: + case 6558: + case 6602: + case 6634: + case 6688: + case 6689: + case 6708: + case 6884: + case 6938: + case 7068: + case 7143: + case 7376: + case 7383: + case 7461: + case 7629: + case 7658: + case 7784: + case 7838: + case 7955: + case 7978: + case 8074: + case 8089: + case 8115: + case 8120: + case 8270: + case 8415: + case 8464: + case 8472: + case 8493: + case 8780: + strValue = "YI"; + break; + case 5623: + case 5920: + case 5983: + case 6007: + case 6065: + case 6337: + case 6419: + case 6594: + case 6625: + case 6806: + case 7519: + case 7887: + case 8111: + case 8230: + case 8615: + case 8624: + strValue = "YIN"; + break; + case 5788: + case 5911: + case 6067: + case 6094: + case 6126: + case 6151: + case 6186: + case 6292: + case 6451: + case 6663: + case 6862: + case 6875: + case 6913: + case 7188: + case 7212: + case 7326: + case 7584: + case 8048: + case 8108: + case 8203: + case 8331: + strValue = "YING"; + break; + case 6401: + strValue = "YO"; + break; + case 5724: + case 5953: + case 6013: + case 6415: + case 6728: + case 7163: + case 7962: + case 8014: + case 8711: + case 8751: + strValue = "YONG"; + break; + case 5653: + case 5692: + case 5707: + case 6112: + case 6115: + case 6121: + case 6347: + case 6483: + case 6922: + case 7254: + case 7364: + case 7527: + case 7880: + case 8064: + case 8236: + case 8242: + case 8286: + case 8647: + case 8778: + case 8788: + strValue = "YOU"; + break; + case 5614: + case 5625: + case 5681: + case 5722: + case 5836: + case 5845: + case 6139: + case 6187: + case 6277: + case 6484: + case 6486: + case 6546: + case 6592: + case 6632: + case 6637: + case 6655: + case 6748: + case 6987: + case 6993: + case 7005: + case 7090: + case 7204: + case 7437: + case 7476: + case 7573: + case 7603: + case 7622: + case 7647: + case 7659: + case 7718: + case 7858: + case 8033: + case 8054: + case 8085: + case 8086: + case 8130: + case 8133: + case 8266: + case 8285: + case 8336: + case 8407: + case 8408: + case 8607: + case 8625: + strValue = "YU"; + break; + case 5989: + case 6011: + case 6282: + case 6768: + case 7034: + case 7205: + case 7358: + case 7528: + case 7783: + case 8016: + case 8302: + case 8378: + case 8629: + strValue = "YUAN"; + break; + case 5763: + case 6914: + case 7348: + case 7530: + case 7865: + strValue = "YUE"; + break; + case 5909: + case 6031: + case 6581: + case 6702: + case 6719: + case 7101: + case 7225: + case 7370: + case 7432: + case 7521: + case 7657: + strValue = "YUN"; + break; + case 6257: + case 6338: + strValue = "ZA"; + break; + case 6544: + case 7162: + strValue = "ZAI"; + break; + case 7222: + case 7435: + case 8402: + case 8456: + case 8485: + case 8641: + strValue = "ZAN"; + break; + case 6242: + case 7064: + case 7416: + strValue = "ZANG"; + break; + case 6380: + strValue = "ZAO"; + break; + case 5638: + case 8369: + case 5651: + case 6385: + case 6493: + case 6937: + case 7430: + case 8348: + case 8423: + strValue = "ZE"; + break; + strValue = "ZEI"; + break; + case 5858: + strValue = "ZEN"; + break; + case 7153: + case 7421: + case 7832: + case 7913: + strValue = "ZENG"; + break; + case 6610: + case 6274: + case 6324: + case 6369: + case 6378: + case 7736: + case 8068: + case 8238: + case 8794: + strValue = "ZHA"; + break; + case 7746: + case 8109: + strValue = "ZHAI"; + break; + case 5862: + case 6288: + case 7625: + strValue = "ZHAN"; + break; + case 5675: + case 5921: + case 6504: + case 6554: + case 6615: + case 7049: + case 7216: + case 8315: + strValue = "ZHANG"; + break; + case 5815: + case 7294: + case 7840: + case 8341: + strValue = "ZHAO"; + break; + case 5856: + case 6301: + case 7247: + case 7392: + case 7761: + case 8049: + case 8162: + case 8256: + case 8487: + strValue = "ZHE"; + break; + case 5958: + case 6172: + case 6805: + case 7139: + case 7269: + case 7327: + case 7384: + case 7466: + case 7551: + case 7562: + case 7685: + case 7819: + case 8001: + case 8018: + case 8380: + strValue = "ZHEN"; + break; + case 5826: + case 6531: + case 6571: + case 7859: + case 7903: + case 8361: + strValue = "ZHENG"; + break; + case 5620: + case 5876: + case 5904: + case 5990: + case 6038: + case 6293: + case 6489: + case 6669: + case 6973: + case 6975: + case 7079: + case 7246: + case 7255: + case 7257: + case 7268: + case 7382: + case 7389: + case 7462: + case 7553: + case 7589: + case 7677: + case 7683: + case 7773: + case 7984: + case 8026: + case 8075: + case 8246: + case 8474: + case 8505: + case 8537: + case 8557: + case 8560: + case 8584: + case 8603: + strValue = "ZHI"; + break; + case 5803: + case 7981: + case 8314: + case 8417: + case 8564: + strValue = "ZHONG"; + break; + case 6107: + case 6390: + case 7008: + case 7091: + case 7107: + case 7548: + case 7756: + case 8406: + case 8492: + strValue = "ZHOU"; + break; + case 5689: + case 5710: + case 5905: + case 6049: + case 6079: + case 6808: + case 6830: + case 6883: + case 7244: + case 7338: + case 7345: + case 7636: + case 7889: + case 8070: + case 8081: + case 8335: + case 8371: + case 8422: + case 8467: + case 8578: + case 8770: + strValue = "ZHU"; + break; + strValue = "ZHUA"; + break; + strValue = "ZHUAI"; + break; + case 6389: + case 6645: + case 8207: + strValue = "ZHUAN"; + break; + case 5755: + strValue = "ZHUANG"; + break; + case 6723: + case 7077: + case 7136: + strValue = "ZHUI"; + break; + case 7538: + case 8124: + strValue = "ZHUN"; + break; + case 5730: + case 5834: + case 6310: + case 6823: + case 6835: + case 6910: + case 7644: + case 7690: + case 7729: + case 7977: + strValue = "ZHUO"; + break; + case 5849: + case 6549: + case 7002: + case 7060: + case 7127: + case 7287: + case 7402: + case 7463: + case 7707: + case 7786: + case 7937: + case 7986: + case 8172: + case 8342: + case 8450: + case 8484: + case 8594: + case 8604: + case 8623: + case 8686: + case 8758: + strValue = "ZI"; + break; + case 5744: + case 7574: + case 8453: + strValue = "ZONG"; + break; + case 5833: + case 5878: + case 5924: + case 7067: + case 8677: + strValue = "ZOU"; + break; + case 5762: + case 6147: + case 7963: + strValue = "ZU"; + break; + case 6312: + case 7158: + case 8582: + strValue = "ZUAN"; + break; + case 6209: + strValue = "ZUI"; + break; + case 6304: + case 7355: + case 8714: + strValue = "ZUN"; + break; + case 5872: + case 6382: + case 6460: + case 6684: + case 7549: + case 7681: + strValue = "ZUO"; + break; + default: + if (nCode >= 1601 && nCode <= 1602) + { + strValue = "A"; + break; + } + if (nCode >= 1603 && nCode <= 1615) + { + strValue = "AI"; + break; + } + if (nCode >= 1616 && nCode <= 1624) + { + strValue = "AN"; + break; + } + if (nCode >= 1625 && nCode <= 1627) + { + strValue = "ANG"; + break; + } + if (nCode >= 1628 && nCode <= 1636) + { + strValue = "AO"; + break; + } + if (nCode >= 1637 && nCode <= 1654) + { + strValue = "BA"; + break; + } + if (nCode >= 1655 && nCode <= 1662) + { + strValue = "BAI"; + break; + } + if (nCode >= 1663 && nCode <= 1677) + { + strValue = "BAN"; + break; + } + if (nCode >= 1678 && nCode <= 1689) + { + strValue = "BANG"; + break; + } + if (nCode >= 1690 && nCode <= 1712) + { + strValue = "BAO"; + break; + } + if (nCode >= 1713 && nCode <= 1727) + { + strValue = "BEI"; + break; + } + if (nCode >= 1728 && nCode <= 1731) + { + strValue = "BEN"; + break; + } + if (nCode >= 1732 && nCode <= 1737) + { + strValue = "BENG"; + break; + } + if (nCode > 1738 && nCode <= 1761) + { + strValue = "BI"; + break; + } + if (nCode >= 1762 && nCode <= 1773) + { + strValue = "BIAN"; + break; + } + if (nCode >= 1774 && nCode <= 1777) + { + strValue = "BIAO"; + break; + } + if (nCode >= 1778 && nCode <= 1781) + { + strValue = "BIE"; + break; + } + if (nCode >= 1782 && nCode <= 1787) + { + strValue = "BIN"; + break; + } + if (nCode >= 1788 && nCode <= 1794) + { + strValue = "BING"; + break; + } + if (nCode >= 1801 && nCode <= 1802) + { + strValue = "BING"; + break; + } + if (nCode >= 1803 && nCode <= 1821) + { + strValue = "BO"; + break; + } + if (nCode >= 1822 && nCode <= 1832) + { + strValue = "BU"; + break; + } + if (nCode == 1833) + { + strValue = "CA"; + break; + } + if (nCode >= 1834 && nCode <= 1844) + { + strValue = "CAI"; + break; + } + if (nCode >= 1845 && nCode <= 1851) + { + strValue = "CAN"; + break; + } + if (nCode >= 1852 && nCode <= 1856) + { + strValue = "CANG"; + break; + } + if (nCode >= 1857 && nCode <= 1861) + { + strValue = "CAO"; + break; + } + if (nCode >= 1862 && nCode <= 1866) + { + strValue = "CE"; + break; + } + if (nCode >= 1867 && nCode <= 1868) + { + strValue = "CENG"; + break; + } + if (nCode >= 1869 && nCode <= 1879) + { + strValue = "CHA"; + break; + } + if (nCode >= 1880 && nCode <= 1882) + { + strValue = "CHAI"; + break; + } + if (nCode >= 1883 && nCode <= 1892) + { + strValue = "CHAN"; + break; + } + if (nCode >= 1893 && nCode <= 1911) + { + strValue = "CHANG"; + break; + } + if (nCode >= 1912 && nCode <= 1920) + { + strValue = "CHAO"; + break; + } + if (nCode >= 1921 && nCode <= 1926) + { + strValue = "CHE"; + break; + } + if (nCode >= 1927 && nCode <= 1936) + { + strValue = "CHEN"; + break; + } + if (nCode >= 1937 && nCode <= 1951) + { + strValue = "CHENG"; + break; + } + if (nCode >= 1952 && nCode <= 1967) + { + strValue = "CHI"; + break; + } + if (nCode >= 1968 && nCode <= 1972) + { + strValue = "CHONG"; + break; + } + if (nCode >= 1973 && nCode <= 1984) + { + strValue = "CHOU"; + break; + } + if (nCode >= 1985 && nCode <= 2006) + { + strValue = "CHU"; + break; + } + if (nCode == 2007) + { + strValue = "CHUAI"; + break; + } + if (nCode >= 2008 && nCode <= 2014) + { + strValue = "CHUAN"; + break; + } + if (nCode >= 2015 && nCode <= 2020) + { + strValue = "CHUANG"; + break; + } + if (nCode >= 2021 && nCode <= 2025) + { + strValue = "CHUI"; + break; + } + if (nCode >= 2026 && nCode <= 2032) + { + strValue = "CHUN"; + break; + } + if (nCode >= 2033 && nCode <= 2034) + { + strValue = "CHUO"; + break; + } + if (nCode >= 2035 && nCode <= 2046) + { + strValue = "CI"; + break; + } + if (nCode >= 2047 && nCode <= 2052) + { + strValue = "CONG"; + break; + } + if (nCode >= 2054 && nCode <= 2057) + { + strValue = "CU"; + break; + } + if (nCode >= 2058 && nCode <= 2060) + { + strValue = "CUAN"; + break; + } + if (nCode >= 2061 && nCode <= 2068) + { + strValue = "CUI"; + break; + } + if (nCode >= 2069 && nCode <= 2071) + { + strValue = "CUN"; + break; + } + if (nCode >= 2072 && nCode <= 2077) + { + strValue = "CUO"; + break; + } + if (nCode >= 2078 && nCode <= 2083) + { + strValue = "DA"; + break; + } + if (nCode >= 2084 && nCode <= 2094) + { + strValue = "DAI"; + break; + } + if (nCode >= 2102 && nCode <= 2116) + { + strValue = "DAN"; + break; + } + if (nCode >= 2117 && nCode <= 2121) + { + strValue = "DANG"; + break; + } + if (nCode >= 2122 && nCode <= 2133) + { + strValue = "DAO"; + break; + } + if (nCode >= 2134 && nCode <= 2136) + { + strValue = "DE"; + break; + } + if (nCode >= 2137 && nCode <= 2143) + { + strValue = "DENG"; + break; + } + if (nCode >= 2144 && nCode <= 2162) + { + strValue = "DI"; + break; + } + if (nCode >= 2163 && nCode <= 2178) + { + strValue = "DIAN"; + break; + } + if (nCode >= 2179 && nCode <= 2187) + { + strValue = "DIAO"; + break; + } + if (nCode >= 2188 && nCode <= 2194) + { + strValue = "DIE"; + break; + } + if (nCode >= 2201 && nCode <= 2209) + { + strValue = "DING"; + break; + } + if (nCode == 2210) + { + strValue = "DIU"; + break; + } + if (nCode >= 2211 && nCode <= 2220) + { + strValue = "DONG"; + break; + } + if (nCode >= 2221 && nCode <= 2227) + { + strValue = "DOU"; + break; + } + if (nCode >= 2228 && nCode <= 2242) + { + strValue = "DU"; + break; + } + if (nCode >= 2243 && nCode <= 2248) + { + strValue = "DUAN"; + break; + } + if (nCode >= 2249 && nCode <= 2252) + { + strValue = "DUI"; + break; + } + if (nCode >= 2253 && nCode <= 2261) + { + strValue = "DUN"; + break; + } + if (nCode >= 2262 && nCode <= 2273) + { + strValue = "DUO"; + break; + } + if (nCode >= 2274 && nCode <= 2286) + { + strValue = "E"; + break; + } + if (nCode == 2287) + { + strValue = "EN"; + break; + } + if (nCode >= 2288 && nCode <= 2231) + { + strValue = "ER"; + break; + } + if (nCode >= 2302 && nCode <= 2309) + { + strValue = "FA"; + break; + } + if (nCode >= 2310 && nCode <= 2326) + { + strValue = "FAN"; + break; + } + if (nCode >= 2327 && nCode <= 2337) + { + strValue = "FANG"; + break; + } + if (nCode >= 2338 && nCode <= 2349) + { + strValue = "FEI"; + break; + } + if (nCode >= 2350 && nCode <= 2364) + { + strValue = "FEN"; + break; + } + if (nCode >= 2365 && nCode <= 2379) + { + strValue = "FENG"; + break; + } + if (nCode == 2380) + { + strValue = "FO"; + break; + } + if (nCode == 2381) + { + strValue = "FOU"; + break; + } + if (nCode >= 2382 && nCode <= 2432) + { + strValue = "FU"; + break; + } + if (nCode >= 2435 && nCode <= 2440) + { + strValue = "GAI"; + break; + } + if (nCode >= 2441 && nCode <= 2451) + { + strValue = "GAN"; + break; + } + if (nCode >= 2452 && nCode <= 2460) + { + strValue = "GANG"; + break; + } + if (nCode >= 2461 && nCode <= 2470) + { + strValue = "GAO"; + break; + } + if (nCode >= 2471 && nCode <= 2487) + { + strValue = "GE"; + break; + } + if (nCode == 2488) + { + strValue = "GEI"; + break; + } + if (nCode >= 2489 && nCode <= 2490) + { + strValue = "GEN"; + break; + } + if (nCode >= 2491 && nCode <= 2503) + { + strValue = "GENG"; + break; + } + if (nCode >= 2504 && nCode <= 2518) + { + strValue = "GONG"; + break; + } + if (nCode >= 2519 && nCode <= 2527) + { + strValue = "GOU"; + break; + } + if (nCode >= 2528 && nCode <= 2545) + { + strValue = "GU"; + break; + } + if (nCode >= 2546 && nCode <= 2551) + { + strValue = "GUA"; + break; + } + if (nCode >= 2552 && nCode <= 2554) + { + strValue = "GUAI"; + break; + } + if (nCode >= 2555 && nCode <= 2565) + { + strValue = "GUAN"; + break; + } + if (nCode >= 2566 && nCode <= 2568) + { + strValue = "GUANG"; + break; + } + if (nCode >= 2569 && nCode <= 2584) + { + strValue = "GUI"; + break; + } + if (nCode >= 2585 && nCode <= 2587) + { + strValue = "GUN"; + break; + } + if (nCode >= 2588 && nCode <= 2593) + { + strValue = "GUO"; + break; + } + if (nCode == 2594) + { + strValue = "HA"; + break; + } + if (nCode >= 2601 && nCode <= 2607) + { + strValue = "HAI"; + break; + } + if (nCode >= 2608 && nCode <= 2626) + { + strValue = "HAN"; + break; + } + if (nCode >= 2627 && nCode <= 2629) + { + strValue = "HANG"; + break; + } + if (nCode >= 2630 && nCode <= 2638) + { + strValue = "HAO"; + break; + } + if (nCode >= 2639 && nCode <= 2656) + { + strValue = "HE"; + break; + } + if (nCode >= 2657 && nCode <= 2658) + { + strValue = "HEI"; + break; + } + if (nCode >= 2659 && nCode <= 2662) + { + strValue = "HEN"; + break; + } + if (nCode >= 2663 && nCode <= 2667) + { + strValue = "HENG"; + break; + } + if (nCode >= 2668 && nCode <= 2676) + { + strValue = "HONG"; + break; + } + if (nCode >= 2677 && nCode <= 2683) + { + strValue = "HOU"; + break; + } + if (nCode >= 2684 && nCode <= 2707) + { + strValue = "HU"; + break; + } + if (nCode >= 2708 && nCode <= 2716) + { + strValue = "HUA"; + break; + } + if (nCode >= 2717 && nCode <= 2721) + { + strValue = "HUAI"; + break; + } + if (nCode >= 2722 && nCode <= 2735) + { + strValue = "HUAN"; + break; + } + if (nCode >= 2736 && nCode <= 2749) + { + strValue = "HUANG"; + break; + } + if (nCode >= 2750 && nCode <= 2770) + { + strValue = "HUI"; + break; + } + if (nCode >= 2771 && nCode <= 2776) + { + strValue = "HUN"; + break; + } + if (nCode >= 2777 && nCode <= 2786) + { + strValue = "HUO"; + break; + } + if (nCode >= 2787 && nCode <= 2845) + { + strValue = "JI"; + break; + } + if (nCode >= 2846 && nCode <= 2862) + { + strValue = "JIA"; + break; + } + if (nCode >= 2863 && nCode <= 2908) + { + strValue = "JIAN"; + break; + } + if (nCode >= 2909 && nCode <= 2921) + { + strValue = "JIANG"; + break; + } + if (nCode >= 2922 && nCode <= 2949) + { + strValue = "JIAO"; + break; + } + if (nCode >= 2950 && nCode <= 2976) + { + strValue = "JIE"; + break; + } + if (nCode >= 2977 && nCode <= 3002) + { + strValue = "JIN"; + break; + } + if (nCode >= 3003 && nCode <= 3027) + { + strValue = "JING"; + break; + } + if (nCode >= 3028 && nCode <= 3029) + { + strValue = "JIONG"; + break; + } + if (nCode >= 3030 && nCode <= 3046) + { + strValue = "JIU"; + break; + } + if (nCode >= 3047 && nCode <= 3071) + { + strValue = "JU"; + break; + } + if (nCode >= 3072 && nCode <= 3078) + { + strValue = "JUAN"; + break; + } + if (nCode >= 3079 && nCode <= 3088) + { + strValue = "JUE"; + break; + } + if (nCode >= 3089 && nCode <= 3105) + { + strValue = "JUN"; + break; + } + if (nCode >= 3106 && nCode <= 3109) + { + strValue = "KA"; + break; + } + if (nCode >= 3110 && nCode <= 3114) + { + strValue = "KAI"; + break; + } + if (nCode >= 3115 && nCode <= 3120) + { + strValue = "KAN"; + break; + } + if (nCode >= 3121 && nCode <= 3127) + { + strValue = "KANG"; + break; + } + if (nCode >= 3128 && nCode <= 3131) + { + strValue = "KAO"; + break; + } + if (nCode >= 3132 && nCode <= 3146) + { + strValue = "KE"; + break; + } + if (nCode >= 3147 && nCode <= 3150) + { + strValue = "KEN"; + break; + } + if (nCode >= 3151 && nCode <= 3152) + { + strValue = "KENG"; + break; + } + if (nCode >= 3153 && nCode <= 3156) + { + strValue = "KONG"; + break; + } + if (nCode >= 3157 && nCode <= 3160) + { + strValue = "KOU"; + break; + } + if (nCode >= 3161 && nCode <= 3167) + { + strValue = "KU"; + break; + } + if (nCode >= 3168 && nCode <= 3172) + { + strValue = "KUA"; + break; + } + if (nCode >= 3173 && nCode <= 3176) + { + strValue = "KUAI"; + break; + } + if (nCode >= 3177 && nCode <= 3178) + { + strValue = "KUAN"; + break; + } + if (nCode >= 3179 && nCode <= 3186) + { + strValue = "KUANG"; + break; + } + if (nCode >= 3187 && nCode <= 3203) + { + strValue = "KUI"; + break; + } + if (nCode >= 3204 && nCode <= 3207) + { + strValue = "KUN"; + break; + } + if (nCode >= 3208 && nCode <= 3211) + { + strValue = "KUO"; + break; + } + if (nCode >= 3212 && nCode <= 3218) + { + strValue = "LA"; + break; + } + if (nCode >= 3219 && nCode <= 3221) + { + strValue = "LAI"; + break; + } + if (nCode >= 3222 && nCode <= 3236) + { + strValue = "LAN"; + break; + } + if (nCode >= 3237 && nCode <= 3243) + { + strValue = "LANG"; + break; + } + if (nCode >= 3244 && nCode <= 3252) + { + strValue = "LAO"; + break; + } + if (nCode >= 3253 && nCode <= 3254) + { + strValue = "LE"; + break; + } + if (nCode >= 3255 && nCode <= 3265) + { + strValue = "LEI"; + break; + } + if (nCode >= 3266 && nCode <= 3268) + { + strValue = "LENG"; + break; + } + if (nCode >= 3269 && nCode <= 3308) + { + strValue = "LI"; + } + if (nCode == 3309) + { + strValue = "LIA"; + break; + } + if (nCode >= 3310 && nCode <= 3323) + { + strValue = "LIAN"; + break; + } + if (nCode >= 3324 && nCode <= 3334) + { + strValue = "LIANG"; + break; + } + if (nCode >= 3335 && nCode <= 3347) + { + strValue = "LIAO"; + break; + } + if (nCode >= 3348 && nCode <= 3352) + { + strValue = "LIE"; + break; + } + if (nCode >= 3353 && nCode <= 3363) + { + strValue = "LIN"; + break; + } + if (nCode >= 3364 && nCode <= 3378) + { + strValue = "LING"; + break; + } + if (nCode >= 3379 && nCode <= 3389) + { + strValue = "LIU"; + break; + } + if (nCode >= 3390 && nCode <= 3404) + { + strValue = "LONG"; + break; + } + if (nCode >= 3405 && nCode <= 3410) + { + strValue = "LOU"; + break; + } + if (nCode >= 3411 && nCode <= 3444) + { + strValue = "LU"; + break; + } + if (nCode >= 3445 && nCode <= 3450) + { + strValue = "LUAN"; + break; + } + if (nCode >= 3451 && nCode <= 3452) + { + strValue = "LUE"; + break; + } + if (nCode >= 3453 && nCode <= 3459) + { + strValue = "LUN"; + break; + } + if (nCode >= 3460 && nCode <= 3471) + { + strValue = "LUO"; + break; + } + if (nCode >= 3472 && nCode <= 3480) + { + strValue = "MA"; + break; + } + if (nCode >= 3481 && nCode <= 3486) + { + strValue = "MAI"; + break; + } + if (nCode >= 3487 && nCode <= 3501) + { + strValue = "MAN"; + break; + } + if (nCode >= 3502 && nCode <= 3507) + { + strValue = "MANG"; + break; + } + if (nCode >= 3508 && nCode <= 3519) + { + strValue = "MAO"; + break; + } + if (nCode == 3520) + { + strValue = "ME"; + break; + } + if (nCode >= 3521 && nCode <= 3536) + { + strValue = "MEI"; + break; + } + if (nCode >= 3537 && nCode <= 3539) + { + strValue = "MEN"; + break; + } + if (nCode >= 3540 && nCode <= 3547) + { + strValue = "MENG"; + break; + } + if (nCode >= 3548 && nCode <= 3561) + { + strValue = "MI"; + } + if (nCode >= 3562 && nCode <= 3570) + { + strValue = "MIAN"; + break; + } + if (nCode >= 3571 && nCode <= 3578) + { + strValue = "MIAO"; + break; + } + if (nCode >= 3579 && nCode <= 3580) + { + strValue = "MIE"; + break; + } + if (nCode >= 3581 && nCode <= 3586) + { + strValue = "MIN"; + break; + } + if (nCode >= 3587 && nCode <= 3592) + { + strValue = "MING"; + break; + } + if (nCode == 3593) + { + strValue == "MIU"; + break; + } + if (nCode >= 3594 && nCode <= 3616) + { + strValue = "MO"; + break; + } + if (nCode >= 3617 && nCode <= 3619) + { + strValue = "MOU"; + break; + } + if (nCode >= 3620 && nCode <= 3634) + { + strValue = "MU"; + break; + } + if (nCode >= 3635 && nCode <= 3641) + { + strValue = "NA"; + break; + } + if (nCode >= 3642 && nCode <= 3646) + { + strValue = "NAI"; + break; + } + if (nCode >= 3647 && nCode <= 3649) + { + strValue = "NAN"; + break; + } + if (nCode == 3650) + { + strValue = "NANG"; + break; + } + if (nCode >= 3651 && nCode <= 3655) + { + strValue = "NAO"; + break; + } + if (nCode == 3656) + { + strValue = "NE"; + break; + } + if (nCode >= 3657 && nCode <= 3658) + { + strValue = "NEI"; + break; + } + if (nCode == 3659) + { + strValue = "NEN"; + break; + } + if (nCode == 3660) + { + strValue = "NENG"; + break; + } + if (nCode >= 3661 && nCode <= 3671) + { + strValue = "NI"; + break; + } + if (nCode >= 3672 && nCode <= 3678) + { + strValue = "NIAN"; + break; + } + if (nCode >= 3679 && nCode <= 3680) + { + strValue = "NIANG"; + break; + } + if (nCode >= 3681 && nCode <= 3682) + { + strValue = "NIAO"; + break; + } + if (nCode >= 3683 && nCode <= 3689) + { + strValue = "NIE"; + break; + } + if (nCode == 3690) + { + strValue = "NIN"; + break; + } + if (nCode >= 3691 && nCode <= 3702) + { + strValue = "NING"; + break; + } + if (nCode >= 3703 && nCode <= 3706) + { + strValue = "NIU"; + break; + } + if (nCode >= 3707 && nCode <= 3710) + { + strValue = "NONG"; + break; + } + if (nCode >= 3711 && nCode <= 3714) + { + strValue = "NU"; + break; + } + if (nCode == 3715) + { + strValue = "NUAN"; + break; + } + if (nCode >= 3716 && nCode <= 3717) + { + strValue = "NUE"; + break; + } + if (nCode >= 3718 && nCode <= 3721) + { + strValue = "NUO"; + break; + } + if (nCode == 3722) + { + strValue = "O"; + break; + } + if (nCode >= 3723 && nCode <= 3729) + { + strValue = "OU"; + break; + } + if (nCode >= 3730 && nCode <= 3735) + { + strValue = "PA"; + break; + } + if (nCode >= 3736 && nCode <= 3741) + { + strValue = "PAI"; + break; + } + if (nCode >= 3742 && nCode <= 3749) + { + strValue = "PAN"; + break; + } + if (nCode >= 3750 && nCode <= 3754) + { + strValue = "PANG"; + break; + } + if (nCode >= 3755 && nCode <= 3761) + { + strValue = "PAO"; + break; + } + if (nCode >= 3762 && nCode <= 3770) + { + strValue = "PEI"; + break; + } + if (nCode >= 3771 && nCode <= 3772) + { + strValue = "PEN"; + break; + } + if (nCode >= 3773 && nCode <= 3786) + { + strValue = "PENG"; + break; + } + if (nCode >= 3787 && nCode <= 3809) + { + strValue = "PI"; + break; + } + if (nCode >= 3810 && nCode <= 3813) + { + strValue = "PIAN"; + break; + } + if (nCode >= 3814 && nCode <= 3817) + { + strValue = "PIAO"; + break; + } + if (nCode >= 3818 && nCode <= 3819) + { + strValue = "PIE"; + break; + } + if (nCode >= 3820 && nCode <= 3824) + { + strValue = "PIN"; + break; + } + if (nCode >= 3825 && nCode <= 3833) + { + strValue = "PING"; + break; + } + if (nCode >= 3834 && nCode <= 3841) + { + strValue = "PO"; + break; + } + if (nCode == 3842) + { + strValue = "POU"; + break; + } + if (nCode >= 3843 && nCode <= 3857) + { + strValue = "PU"; + break; + } + if (nCode >= 3858 && nCode <= 3893) + { + strValue = "QI"; + break; + } + if (nCode == 3894 || nCode >= 3901 && nCode <= 3902) + { + strValue = "QIA"; + break; + } + if (nCode >= 3903 && nCode <= 3924) + { + strValue = "QIAN"; + break; + } + if (nCode >= 3925 && nCode <= 3932) + { + strValue = "QIANG"; + break; + } + if (nCode >= 3933 && nCode <= 3947) + { + strValue = "QIAO"; + break; + } + if (nCode >= 3948 && nCode <= 3952) + { + strValue = "QIE"; + break; + } + if (nCode >= 3953 && nCode <= 3963) + { + strValue = "QIN"; + break; + } + if (nCode >= 3964 && nCode <= 3976) + { + strValue = "QING"; + break; + } + if (nCode >= 3977 && nCode <= 3978) + { + strValue = "QIONG"; + break; + } + if (nCode >= 3979 && nCode <= 3986) + { + strValue = "QIU"; + break; + } + if (nCode >= 3987 && nCode <= 4005) + { + strValue = "QU"; + break; + } + if (nCode >= 4006 && nCode <= 4016) + { + strValue = "QUAN"; + break; + } + if (nCode >= 4017 && nCode <= 4024) + { + strValue = "QUE"; + break; + } + if (nCode >= 4025 && nCode <= 4026) + { + strValue = "QUN"; + break; + } + if (nCode >= 4027 && nCode <= 4030) + { + strValue = "RAN"; + break; + } + if (nCode >= 4031 && nCode <= 4035) + { + strValue = "RANG"; + } + if (nCode >= 4036 && nCode <= 4038) + { + strValue = "RAO"; + break; + } + if (nCode >= 4039 && nCode <= 4040) + { + strValue = "RE"; + break; + } + if (nCode >= 4041 && nCode <= 4050) + { + strValue = "REN"; + break; + } + if (nCode >= 4051 && nCode <= 4052) + { + strValue = "RENG"; + break; + } + if (nCode == 4053) + { + strValue = "RI"; + break; + } + if (nCode >= 4054 && nCode <= 4063) + { + strValue = "RONG"; + break; + } + if (nCode >= 4064 && nCode <= 4066) + { + strValue = "ROU"; + break; + } + if (nCode >= 4067 && nCode <= 4076) + { + strValue = "RU"; + break; + } + if (nCode >= 4077 && nCode <= 4078) + { + strValue = "RUAN"; + break; + } + if (nCode >= 4079 && nCode <= 4081) + { + strValue = "RUI"; + break; + } + if (nCode >= 4082 && nCode <= 4083) + { + strValue = "RUN"; + break; + } + if (nCode >= 4084 && nCode <= 4085) + { + strValue = "RUO"; + break; + } + if (nCode >= 4086 && nCode <= 4088) + { + strValue = "SA"; + break; + } + if (nCode >= 4089 && nCode <= 4092) + { + strValue = "SAI"; + break; + } + if (nCode >= 4093 && nCode <= 4094) + { + strValue = "SAN"; + break; + } + if (nCode >= 4101 && nCode <= 4102) + { + strValue = "SAN"; + break; + } + if (nCode >= 4103 && nCode <= 4105) + { + strValue = "SANG"; + break; + } + if (nCode >= 4106 && nCode <= 4109) + { + strValue = "SAO"; + break; + } + if (nCode >= 4110 && nCode <= 4112) + { + strValue = "SE"; + break; + } + if (nCode == 4113) + { + strValue = "SEN"; + } + if (nCode == 4114) + { + strValue = "SENG"; + break; + } + if (nCode >= 4115 && nCode <= 4123) + { + strValue = "SHA"; + break; + } + if (nCode >= 4124 && nCode <= 4125) + { + strValue = "SHAI"; + break; + } + if (nCode >= 4126 && nCode <= 4141) + { + strValue = "SHAN"; + break; + } + if (nCode >= 4142 && nCode <= 4149) + { + strValue = "SHANG"; + break; + } + if (nCode >= 4150 && nCode <= 4160) + { + strValue = "SHAO"; + break; + } + if (nCode >= 4161 && nCode <= 4172) + { + strValue = "SHE"; + break; + } + if (nCode >= 4173 && nCode <= 4188) + { + strValue = "SHEN"; + break; + } + if (nCode >= 4189 && nCode <= 4205) + { + strValue = "SHENG"; + break; + } + if (nCode >= 4206 && nCode <= 4252) + { + strValue = "SHI"; + break; + } + if (nCode >= 4253 && nCode <= 4262) + { + strValue = "SHOU"; + break; + } + if (nCode >= 4263 && nCode <= 4301) + { + strValue = "SHU"; + break; + } + if (nCode >= 4302 && nCode <= 4303) + { + strValue = "SHUA"; + break; + } + if (nCode >= 4304 && nCode <= 4307) + { + strValue = "SHUAI"; + break; + } + if (nCode >= 4308 && nCode <= 4309) + { + strValue = "SHUAN"; + break; + } + if (nCode >= 4310 && nCode <= 4312) + { + strValue = "SHUANG"; + break; + } + if (nCode >= 4313 && nCode <= 4316) + { + strValue = "SHUI"; + break; + } + if (nCode >= 4317 && nCode <= 4320) + { + strValue = "SHUN"; + break; + } + if (nCode >= 4321 && nCode <= 4324) + { + strValue = "SHUO"; + break; + } + if (nCode >= 4325 && nCode <= 4340) + { + strValue = "SI"; + break; + } + if (nCode >= 4341 && nCode <= 4348) + { + strValue = "SONG"; + break; + } + if (nCode >= 4349 && nCode <= 4352) + { + strValue = "SOU"; + break; + } + if (nCode >= 4353 && nCode <= 4364) + { + strValue = "SU"; + break; + } + if (nCode >= 4365 && nCode <= 4367) + { + strValue = "SUAN"; + break; + } + if (nCode >= 4368 && nCode <= 4378) + { + strValue = "SUI"; + break; + } + if (nCode >= 4379 && nCode <= 4381) + { + strValue = "SUN"; + break; + } + if (nCode >= 4382 && nCode <= 4389) + { + strValue = "SUO"; + break; + } + if (nCode >= 4390 && nCode <= 4404) + { + strValue = "TA"; + break; + } + if (nCode >= 4405 && nCode <= 4413) + { + strValue = "TAI"; + break; + } + if (nCode >= 4414 && nCode <= 4431) + { + strValue = "TAN"; + break; + } + if (nCode >= 4432 && nCode <= 4444) + { + strValue = "TANG"; + break; + } + if (nCode >= 4445 && nCode <= 4455) + { + strValue = "TAO"; + break; + } + if (nCode == 4456) + { + strValue = "TE"; + break; + } + if (nCode >= 4457 && nCode <= 4460) + { + strValue = "TENG"; + break; + } + if (nCode >= 4461 && nCode <= 4475) + { + strValue = "TI"; + break; + } + if (nCode >= 4476 && nCode <= 4483) + { + strValue = "TIAN"; + break; + } + if (nCode >= 4484 && nCode <= 4488) + { + strValue = "TIAO"; + break; + } + if (nCode >= 4489 && nCode <= 4491) + { + strValue = "TIE"; + break; + } + if (nCode >= 4492 && nCode <= 4507) + { + strValue = "TING"; + break; + } + if (nCode >= 4508 && nCode <= 4520) + { + strValue = "TONG"; + break; + } + if (nCode >= 4521 && nCode <= 4524) + { + strValue = "TOU"; + break; + } + if (nCode >= 4525 && nCode <= 4535) + { + strValue = "TU"; + break; + } + if (nCode >= 4536 && nCode <= 4537) + { + strValue = "TUAN"; + break; + } + if (nCode >= 4538 && nCode <= 4543) + { + strValue = "TUI"; + break; + } + if (nCode >= 4544 && nCode <= 4546) + { + strValue = "TUN"; + break; + } + if (nCode >= 4547 && nCode <= 4557) + { + strValue = "TUO"; + break; + } + if (nCode >= 4558 && nCode <= 4564) + { + strValue = "WA"; + break; + } + if (nCode >= 4565 && nCode <= 4566) + { + strValue = "WAI"; + break; + } + if (nCode >= 4567 && nCode <= 4583) + { + strValue = "WAN"; + break; + } + if (nCode >= 4584 && nCode <= 4593) + { + strValue = "WANG"; + break; + } + if (nCode >= 4594 && nCode <= 4632) + { + strValue = "WEI"; + break; + } + if (nCode >= 4633 && nCode <= 4642) + { + strValue = "WEN"; + break; + } + if (nCode >= 4643 && nCode <= 4645) + { + strValue = "WENG"; + break; + } + if (nCode >= 4646 && nCode <= 4654) + { + strValue = "WO"; + break; + } + if (nCode >= 4655 && nCode <= 4683) + { + strValue = "WU"; + break; + } + if (nCode >= 4684 && nCode <= 4724) + { + strValue = "XI"; + break; + } + if (nCode >= 4725 && nCode <= 4737) + { + strValue = "XIA"; + break; + } + if (nCode >= 4738 && nCode <= 4763) + { + strValue = "XIAN"; + break; + } + if (nCode >= 4764 && nCode <= 4783) + { + strValue = "XIANG"; + break; + } + if (nCode >= 4784 && nCode <= 4807) + { + strValue = "XIAO"; + break; + } + if (nCode >= 4809 && nCode <= 4828) + { + strValue = "XIE"; + break; + } + if (nCode >= 4829 && nCode <= 4838) + { + strValue = "XIN"; + break; + } + if (nCode >= 4839 && nCode <= 4853) + { + strValue = "XING"; + break; + } + if (nCode >= 4854 && nCode <= 4860) + { + strValue = "XIONG"; + break; + } + if (nCode >= 4861 && nCode <= 4869) + { + strValue = "XIU"; + break; + } + if (nCode >= 4870 && nCode <= 4888) + { + strValue = "XU"; + break; + } + if (nCode >= 4889 && nCode <= 4904) + { + strValue = "XUAN"; + break; + } + if (nCode >= 4905 && nCode <= 4910) + { + strValue = "XUE"; + break; + } + if (nCode >= 4911 && nCode <= 4924) + { + strValue = "XUN"; + break; + } + if (nCode >= 4925 && nCode <= 4940) + { + strValue = "YA"; + break; + } + if (nCode >= 4941 && nCode <= 4973) + { + strValue = "YAN"; + break; + } + if (nCode >= 4974 && nCode <= 4990) + { + strValue = "YANG"; + break; + } + if (nCode >= 4991 && nCode <= 5011) + { + strValue = "YAO"; + break; + } + if (nCode >= 5012 && nCode <= 5026) + { + strValue = "YE"; + break; + } + if (nCode >= 5027 && nCode <= 5079) + { + strValue = "YI"; + break; + } + if (nCode >= 5080 && nCode <= 5101) + { + strValue = "YIN"; + break; + } + if (nCode >= 5102 && nCode <= 5119) + { + strValue = "YING"; + break; + } + if (nCode == 5120) + { + strValue = "YO"; + break; + } + if (nCode >= 5121 && nCode <= 5135) + { + strValue = "YONG"; + break; + } + if (nCode >= 5136 && nCode <= 5155) + { + strValue = "YOU"; + break; + } + if (nCode >= 5156 && nCode <= 5206) + { + strValue = "YU"; + break; + } + if (nCode >= 5207 && nCode <= 5226) + { + strValue = "YUAN"; + break; + } + if (nCode >= 5227 && nCode <= 5236) + { + strValue = "YUE"; + break; + } + if (nCode >= 5237 && nCode <= 5248) + { + strValue = "YUN"; + break; + } + if (nCode >= 5249 && nCode <= 5251) + { + strValue = "ZA"; + break; + } + if (nCode >= 5252 && nCode <= 5258) + { + strValue = "ZAI"; + break; + } + if (nCode >= 5259 && nCode <= 5262) + { + strValue = "ZAN"; + break; + } + if (nCode >= 5263 && nCode <= 5265) + { + strValue = "ZANG"; + break; + } + if (nCode >= 5266 && nCode <= 5279) + { + strValue = "ZAO"; + break; + } + if (nCode >= 5280 && nCode <= 5283) + { + strValue = "ZE"; + break; + } + if (nCode == 5284) + { + strValue = "ZEI"; + break; + } + if (nCode == 5285) + { + strValue = "ZEN"; + break; + } + if (nCode >= 5286 && nCode <= 5289) + { + strValue = "ZENG"; + break; + } + if (nCode >= 5290 && nCode <= 5309) + { + strValue = "ZHA"; + break; + } + if (nCode >= 5310 && nCode <= 5315) + { + strValue = "ZHAI"; + break; + } + if (nCode >= 5316 && nCode <= 5332) + { + strValue = "ZHAN"; + break; + } + if (nCode >= 5333 && nCode <= 5347) + { + strValue = "ZHANG"; + break; + } + if (nCode >= 5348 && nCode <= 5357) + { + strValue = "ZHAO"; + break; + } + if (nCode >= 5358 && nCode <= 5367) + { + strValue = "ZHE"; + break; + } + if (nCode >= 5368 && nCode <= 5383) + { + strValue = "ZHEN"; + break; + } + if (nCode >= 5384 && nCode <= 5404) + { + strValue = "ZHENG"; + break; + } + if (nCode >= 5405 && nCode <= 5447) + { + strValue = "ZHI"; + break; + } + if (nCode >= 5448 && nCode <= 5458) + { + strValue = "ZHONG"; + break; + } + if (nCode >= 5459 && nCode <= 5472) + { + strValue = "ZHOU"; + break; + } + if (nCode >= 5473 && nCode <= 5504) + { + strValue = "ZHU"; + break; + } + if (nCode >= 5505 && nCode <= 5506) + { + strValue = "ZHUA"; + break; + } + if (nCode == 5507) + { + strValue = "ZHUAI"; + break; + } + if (nCode >= 5508 && nCode <= 5513) + { + strValue = "ZHUAN"; + break; + } + if (nCode >= 5514 && nCode <= 5520) + { + strValue = "ZHUANG"; + break; + } + if (nCode >= 5521 && nCode <= 5526) + { + strValue = "ZHUI"; + break; + } + if (nCode >= 5527 && nCode <= 5528) + { + strValue = "ZHUN"; + break; + } + if (nCode >= 5529 && nCode <= 5539) + { + strValue = "ZHUO"; + break; + } + if (nCode >= 5540 && nCode <= 5554) + { + strValue = "ZI"; + break; + } + if (nCode >= 5555 && nCode <= 5561) + { + strValue = "ZONG"; + break; + } + if (nCode >= 5562 && nCode <= 5565) + { + strValue = "ZOU"; + break; + } + if (nCode >= 5566 && nCode <= 5573) + { + strValue = "ZU"; + break; + } + if (nCode >= 5574 && nCode <= 5575) + { + strValue = "ZUAN"; + break; + } + if (nCode >= 5576 && nCode <= 5579) + { + strValue = "ZUI"; + break; + } + if (nCode >= 5580 && nCode <= 5581) + { + strValue = "ZUN"; + break; + } + if (nCode >= 5582 && nCode <= 5589) + { + strValue = "ZUO"; + break; + } + } + if (strValue == "") strValue = "?"; + return strValue; + } + std::string getLetter(std::string strText, bool head_only = false) + { + bool m_blnSimaple = head_only; + bool m_blnFirstBig = true; + bool m_blnAllBiG = true; + bool m_LetterEnd = false; + + unsigned char ucHigh, ucLow; + int nCode, j; + std::string strValue = ""; + for (int i = 0; i < strText.length(); i++) + { + if ((unsigned char)strText[i] < 0x80) + { + strValue = strValue + strText[i]; + if (m_LetterEnd) strValue = strValue + '/'; + continue; + } + ucHigh = (unsigned char)strText[i]; + ucLow = (unsigned char)strText[i + 1]; + if (ucHigh < 0xa1 || ucLow < 0xa1) + continue; + else + nCode = (ucHigh - 0xa0) * 100 + ucLow - 0xa0; + std::string strRes = findLetter(nCode); + if (m_blnSimaple && strRes.length() > 0) + { + strRes = strRes.substr(0, 1); + + } + if (!m_blnFirstBig) + { + //strRes.SetAt(0,strRes.GetAt(0)+32); + strRes[0] = strRes[0] + 32; + } + if (!m_blnAllBiG) + { + for (j = 1; j < strRes.length(); j++) + { + //strRes.SetAt(j,(strRes.GetAt(j)+32)); + strRes[j] = strRes[j] + 32; + } + } + strValue = strValue + strRes; + i++; + if (m_LetterEnd) strValue = strValue + '/'; + } + return strValue; + } + + void erase_ill_def(std::wstring& str) + { + for (int i = 0; i < str.length(); ++i) + { + if (str[i] == L' ' || str[i] == L'?') + { + str.erase(i, 1); + i--; + } + else if (str[i] == L'-' || str[i] == L'+') + { + str.replace(i, 1, L"_"); + } + } + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// name & title map ... +struct +{ + const char* name; + const char* title; +}g_opts[] = { {SANE_STD_OPT_NAME_RESTORE , OPTION_TITLE_HFMRSZ} + , {SANE_STD_OPT_NAME_HELP , OPTION_TITLE_BZ} + , {SANE_STD_OPT_NAME_IS_MULTI_OUT , OPTION_TITLE_DLSC} + , {SANE_STD_OPT_NAME_MULTI_OUT_TYPE , OPTION_TITLE_DLSCLX} + , {SANE_STD_OPT_NAME_COLOR_MODE , OPTION_TITLE_YSMS} + , {SANE_STD_OPT_NAME_BINARY_THRESHOLD , OPTION_TITLE_HBTXYZ} + , {SANE_STD_OPT_NAME_REVERSE_01 , OPTION_TITLE_HBTXFSSC} + , {SANE_STD_OPT_NAME_FILTER , OPTION_TITLE_HDHHBTX_CSYZQ} + , {SANE_STD_OPT_NAME_RID_MULTIOUT_RED , OPTION_TITLE_24WCSTX_DLSCCH} + , {SANE_STD_OPT_NAME_RID_ANSWER_SHEET_RED , OPTION_TITLE_24WCSTX_DTKCH} + , {SANE_STD_OPT_NAME_ERASE_BACKGROUND , OPTION_TITLE_BJYC} + , {SANE_STD_OPT_NAME_BKG_COLOR_RANGE , OPTION_TITLE_BJSCFDFW} + , {SANE_STD_OPT_NAME_SHARPEN , OPTION_TITLE_RHYMH} + , {SANE_STD_OPT_NAME_RID_MORR , OPTION_TITLE_QCMW} + , {SANE_STD_OPT_NAME_RID_GRID , OPTION_TITLE_CWW} + , {SANE_STD_OPT_NAME_ERROR_EXTENSION , OPTION_TITLE_CWKS} + , {SANE_STD_OPT_NAME_NOISE_OPTIMIZE , OPTION_TITLE_HBTXZDYH} + , {SANE_STD_OPT_NAME_NOISE_SIZE , OPTION_TITLE_ZDYHCC} + , {SANE_STD_OPT_NAME_PAPER , OPTION_TITLE_ZZCC} + , {SANE_STD_OPT_NAME_CUSTOM_AREA , OPTION_TITLE_ZDYSMQY} + , {SANE_STD_OPT_NAME_CUSTOM_AREA_LEFT , OPTION_TITLE_SMQYZCmm} + , {SANE_STD_OPT_NAME_CUSTOM_AREA_RIGHT , OPTION_TITLE_SMQYYCmm} + , {SANE_STD_OPT_NAME_CUSTOM_AREA_TOP , OPTION_TITLE_SMQYSCmm} + , {SANE_STD_OPT_NAME_CUSTOM_AREA_BOTTOM , OPTION_TITLE_SMQYXCmm} + , {SANE_STD_OPT_NAME_SIZE_CHECK , OPTION_TITLE_CCJC} + , {SANE_STD_OPT_NAME_PAGE , OPTION_TITLE_SMYM} + , {SANE_STD_OPT_NAME_DISCARD_BLANK_SENS , OPTION_TITLE_TGKBYLMD} + , {SANE_STD_OPT_NAME_RESOLUTION , OPTION_TITLE_FBL} + , {SANE_STD_OPT_NAME_TIME_TO_SLEEP , OPTION_TITLE_XMSJ} + , {SANE_STD_OPT_NAME_IMAGE_QUALITY , OPTION_TITLE_HZ} + , {SANE_STD_OPT_NAME_EXCHANGE ,OPTION_TITLE_JHZFM} + , {SANE_STD_OPT_NAME_SPLIT ,OPTION_TITLE_TXCF } + , {SANE_STD_OPT_NAME_ANTI_SKEW , OPTION_TITLE_ZDJP} + , {SANE_STD_OPT_NAME_IS_CUSTOM_GAMMA , OPTION_TITLE_QYSDQX} + , {SANE_STD_OPT_NAME_GAMMA , OPTION_TITLE_JMZ} + , {SANE_STD_OPT_NAME_BRIGHTNESS , OPTION_TITLE_LDZ} + , {SANE_STD_OPT_NAME_CONTRAST , OPTION_TITLE_DBD} + , {SANE_STD_OPT_NAME_IS_PHOTO_MODE , OPTION_TITLE_ZPMS} + , {SANE_STD_OPT_NAME_ERASE_BLACK_FRAME , OPTION_TITLE_XCHK} + , {SANE_STD_OPT_NAME_DARK_SAMPLE , OPTION_TITLE_SSYZ} + , {SANE_STD_OPT_NAME_THRESHOLD , OPTION_TITLE_YZ} + , {SANE_STD_OPT_NAME_ANTI_NOISE_LEVEL , OPTION_TITLE_BJKZDJ} + , {SANE_STD_OPT_NAME_MARGIN , OPTION_TITLE_BYSJ} + , {SANE_STD_OPT_NAME_FILL_BKG_MODE , OPTION_TITLE_BJTCFS} + , {SANE_STD_OPT_NAME_IS_ANTI_PERMEATE , OPTION_TITLE_FZST} + , {SANE_STD_OPT_NAME_ANTI_PERMEATE_LEVEL , OPTION_TITLE_FZSTDJ} + , {SANE_STD_OPT_NAME_RID_HOLE_L , OPTION_TITLE_CKYCZC} + , {SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_L , OPTION_TITLE_ZCCKSSFWZFMBL} + , {SANE_STD_OPT_NAME_RID_HOLE_R , OPTION_TITLE_CKYCYC} + , {SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_R , OPTION_TITLE_YCCKSSFWZFMBL} + , {SANE_STD_OPT_NAME_RID_HOLE_T , OPTION_TITLE_CKYCSC} + , {SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_T , OPTION_TITLE_SCCKSSFWZFMBL} + , {SANE_STD_OPT_NAME_RID_HOLE_B , OPTION_TITLE_CKYCXC} + , {SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_B , OPTION_TITLE_XCCKSSFWZFMBL} + , {SANE_STD_OPT_NAME_IS_FILL_COLOR , OPTION_TITLE_SCTC} + , {SANE_STD_OPT_NAME_IS_ULTROSONIC_CHECK , OPTION_TITLE_CSBJC} + , {SANE_STD_OPT_NAME_DOUBLE_FEED_HANDLE , OPTION_TITLE_SZTPCL} + , {SANE_STD_OPT_NAME_IS_CHECK_STAPLE , OPTION_TITLE_ZDJC} + , {SANE_STD_OPT_NAME_SCAN_MODE , OPTION_TITLE_SMZS} + , {SANE_STD_OPT_NAME_SCAN_COUNT , OPTION_TITLE_SMSL} + , {SANE_STD_OPT_NAME_TEXT_DIRECTION , OPTION_TITLE_WGFX} + , {SANE_STD_OPT_NAME_IS_ROTATE_BKG_180 , OPTION_TITLE_BMXZ180} + , {SANE_STD_OPT_NAME_IS_CHECK_DOG_EAR , OPTION_TITLE_ZJJC} + , {SANE_STD_OPT_NAME_DOG_EAR_SIZE , OPTION_TITLE_ZJDX} + , {SANE_STD_OPT_NAME_IS_CHECK_ASKEW , OPTION_TITLE_WXJC} + , {SANE_STD_OPT_NAME_ASKEW_RANGE , OPTION_TITLE_WXRRD} + , {SANE_STD_OPT_NAME_FEED_STRENGTH , OPTION_TITLE_FZQD} + , {SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH , OPTION_TITLE_ZDFZQD} + , {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , OPTION_TITLE_JZSBL} + , {SANE_STD_OPT_NAME_WAIT_TO_SCAN , OPTION_TITLE_DZSM} + , {SANE_STD_OPT_NAME_FOLD_TYPE , OPTION_TITLE_DZMS} +}, +g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // ڰͼɫɫΪ0-ɫ1-ɫ + , {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // ҶȻڰͼ - ɫ + , {SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH , "\350\207\252\345\212\250\346\220\223\347\272\270\345\274\272\345\272\246"} // Զֽǿ + , {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " ֵֽ" +}; + +static IMPLEMENT_OPTION_STRING_COMPARE(compare_title); +static const char* title_to_name(std::wstring& title) +{ + std::string utf8(coding::u2utf8(title.c_str())); + + for (size_t i = 0; i < _countof(g_discard); ++i) + { + if (compare_title(g_discard[i].title, utf8.c_str())) + { + for (size_t j = 0; j < _countof(g_opts); ++j) + { + if (strcmp(g_opts[j].name, g_discard[i].name) == 0) + { + title = coding::utf82u(g_opts[j].title); + break; + } + } + + return g_discard[i].name; + } + } + + for (size_t i = 0; i < _countof(g_opts); ++i) + { + if (compare_title(g_opts[i].title, utf8.c_str())) + return g_opts[i].name; + } + + return NULL; +} + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ChgjsonDlg dialog - - ChgjsonDlg::ChgjsonDlg(CWnd* pParent /*=NULL*/) : CDialogEx(ChgjsonDlg::IDD, pParent) , show_tree_tooltips_(true) , show_list_tooltips_(true) { - m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); + std::string py(hz_2_py::getLetter("ɫģʽ", true)); } void ChgjsonDlg::DoDataExchange(CDataExchange* pDX) @@ -91,6 +5917,7 @@ void ChgjsonDlg::DoDataExchange(CDataExchange* pDX) BEGIN_MESSAGE_MAP(ChgjsonDlg, CDialogEx) ON_WM_PAINT() ON_WM_QUERYDRAGICON() +// ON_WM_PASTE() ON_COMMAND(ID_TREE_ADDGROUP, &ChgjsonDlg::OnTreeAddGroup) ON_COMMAND(ID_TREE_ADDITEM, &ChgjsonDlg::OnTreeAddItem) ON_COMMAND(ID_TREE_DELITEM, &ChgjsonDlg::OnTreeDelItem) @@ -120,6 +5947,10 @@ BEGIN_MESSAGE_MAP(ChgjsonDlg, CDialogEx) ON_NOTIFY(LVN_GETINFOTIP, IDC_LIST_VALUES, &ChgjsonDlg::OnLvnGetInfoTipListValues) ON_COMMAND(ID_TREE_TOOLTIPS, &ChgjsonDlg::OnTreeTooltips) ON_COMMAND(ID_LISTMENU_TOOLTIPS, &ChgjsonDlg::OnListmenuTooltips) + ON_COMMAND(ID_TREE_EXPORTCHAR, &ChgjsonDlg::OnTreeExportCharConstants) + ON_BN_CLICKED(IDC_TO_FILE, &ChgjsonDlg::OnBnClickedToFile) + ON_COMMAND(ID_TREE_LOADCLIPBOARD, &ChgjsonDlg::OnTreeLoadClipboard) + ON_COMMAND(ID_TREE_UNIFYSEQUENCE, &ChgjsonDlg::OnTreeUnifySequence) END_MESSAGE_MAP() @@ -131,12 +5962,14 @@ int get_cur_sel(CListCtrl* lc) return sel; } -std::wstring get_tree_selected_item_text(CTreeCtrl* tree, HTREEITEM root) +std::wstring get_tree_item_text(CTreeCtrl* tree, HTREEITEM root, DWORD_PTR* data = NULL) { CString t(tree->GetItemText(root)); std::wstring ret(t.GetBuffer()); t.ReleaseBuffer(); + if (data) + *data = tree->GetItemData(root); return ret; } @@ -148,12 +5981,7 @@ std::wstring get_tree_selected_item_text(CTreeCtrl* tree, DWORD_PTR* data) *data = 0; if (sel) - { - if (data) - *data = tree->GetItemData(sel); - - return get_tree_selected_item_text(tree, sel); - } + return get_tree_item_text(tree, sel, data); else return L""; } @@ -189,8 +6017,6 @@ BOOL ChgjsonDlg::OnInitDialog() // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog - SetIcon(m_hIcon, TRUE); // Set big icon - SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here ChangeWindowMessageFilter(WM_DROPFILES, MSGFLT_ADD); @@ -198,7 +6024,7 @@ BOOL ChgjsonDlg::OnInitDialog() constraint_list_.InsertColumn(1, TEXT("Default"), 0, 48); type_.SetCurSel(0); constraint_.SetCurSel(0); -// constraint_list_.ModifyStyleEx(0, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP); + // constraint_list_.ModifyStyleEx(0, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP); constraint_list_.SetExtendedStyle(constraint_list_.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP); constraint_list_.SetItemData(constraint_list_.InsertItem(constraint_list_.GetItemCount(), TEXT("click me to add value ...")), 1); tree_menu_.LoadMenu(IDR_MENU1); @@ -213,6 +6039,134 @@ BOOL ChgjsonDlg::OnInitDialog() return TRUE; // return TRUE unless you set the focus to a control } +void ChgjsonDlg::to_define_header(std::vector& defs, const wchar_t* str, const wchar_t* parent) +{ + while (*str == L' ') + str++; + + ChgjsonDlg::DEFH h; + std::string ansi(coding::u2a(str)); + std::wstring py(coding::a2u(hz_2_py::getLetter(ansi, true).c_str())); + + if (parent) + { + ansi = coding::u2a(parent); + h.name = OPT_VALUE_PREFIX; + h.name += coding::a2u(hz_2_py::getLetter(ansi, true).c_str()) + L"_"; + } + else + h.name = OPT_TITLE_PREFIX; + h.name += py; + hz_2_py::erase_ill_def(h.name); + if (std::find(defs.begin(), defs.end(), h.name) != defs.end()) + { + ansi = coding::u2a(str); + py = coding::a2u(hz_2_py::getLetter(ansi, false).c_str()); + if (parent) + { + ansi = coding::u2a(parent); + h.name = OPT_VALUE_PREFIX; + h.name += coding::a2u(hz_2_py::getLetter(ansi, true).c_str()) + L"_"; + } + else + h.name = OPT_TITLE_PREFIX; + h.name += py; + hz_2_py::erase_ill_def(h.name); + } + + h.value = str; + + ansi = coding::u2utf8(str); + for (size_t i = 0; i < ansi.length(); ++i) + { + wchar_t buf[8] = { 0 }; + + if ((unsigned char)ansi[i] <= 0x7f) + buf[0] = ansi[i]; + else + swprintf_s(buf, _countof(buf) - 1, L"\\%03o", (unsigned char)ansi[i]); + h.utf8_in_oct += buf; + } + + defs.push_back(h); +} +std::string ChgjsonDlg::save_define_header_2_file(std::vector& defs, const wchar_t* file) +{ + int max_l = 0; + std::wstring space(L""), + cont(L"//\r\n// definitions for option titles and values\r\n//\r\n// all multi-bytes letter are in UTF-8 format\r\n//\r\n"), + prev(L"none"); + wchar_t buf[128] = { 0 }; + time_t t = time(NULL); + struct tm* now = localtime(&t); + + swprintf(buf, L"// Date: %04d-%02d-%02d %02d:%02d:%02d\r\n//\r\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday + , now->tm_hour, now->tm_min, now->tm_sec); + cont += buf; + cont += L"\r\n#pragma once\r\n\r\n\r\n"; + + for (size_t i = 0; i < defs.size(); ++i) + { + if (max_l < defs[i].name.length()) + max_l = defs[i].name.length(); + } + + max_l += 15; + max_l /= 8; + max_l *= 8; + space.resize(max_l, L' '); + + for (size_t i = 0; i < defs.size(); ++i) + { + if (defs[i].name.find(prev) == std::wstring::npos) + { + cont += L"\r\n"; + prev = defs[i].name; + size_t pos = prev.rfind(L'_'); + if (pos != std::wstring::npos) + prev = prev.substr(pos); + } + cont += L"// #define " + defs[i].name; + cont += space.substr(0, max_l - defs[i].name.length() - 3); + cont += L"\"" + defs[i].value + L"\"\r\n"; + + cont += L"#define " + defs[i].name; + cont += space.substr(0, max_l - defs[i].name.length()); + cont += L"\"" + defs[i].utf8_in_oct + L"\"\r\n"; + } + + // reserve ... + std::wstring reserve(L"#define OPTION_TITLE_GMZ"); + max_l += 8; + reserve += space.substr(0, max_l - reserve.length()); + reserve += L"OPTION_TITLE_JMZ\r\n"; + + space.clear(); + space.resize(max_l, L'/'); + cont += L"\r\n\r\n" + space + L"\r\n// reserved ...\r\n" + space + L"\r\n" + reserve; + + // compare ... + cont += L"\r\n\r\n" + space + L"\r\n// string compare ...\r\n" + space + L"\r\n"; + cont += L"#define IMPLEMENT_OPTION_STRING_COMPARE(func_name) \\\r\n"; + cont += L" bool func_name(const char* opt_define, const char* value) \\\r\n"; + cont += L" { \\\r\n"; + cont += L" while(*value++ == L' '); \\\r\n"; + cont += L" value--; \\\r\n"; + cont += L" return strcmp(opt_define, value) == 0; \\\r\n"; + cont += L" }\r\n\r\n\r\n"; + std::string bom(""), utf8(coding::u2utf8(cont.c_str())); + + coding_util::bom::from_utf8(utf8.c_str(), utf8.length(), coding::get_string, &bom); + if (file) + file_util::save_2_file(bom.c_str(), bom.length(), file); + else + { + file_util::set_clipboard(cont.c_str(), cont.length() * 2, CF_UNICODETEXT); + } + + return bom; +} + void ChgjsonDlg::init_control_statu(void) { HTREEITEM root = tree_.GetSelectedItem(); @@ -238,7 +6192,7 @@ void ChgjsonDlg::init_control_statu(void) } } } - + GetDlgItem(IDC_EDIT_DESC)->EnableWindow(valid); GetDlgItem(IDC_CHECK_ADVANCED)->EnableWindow(valid); constraint_.EnableWindow(valid); @@ -265,7 +6219,7 @@ void ChgjsonDlg::delete_tree_item(HTREEITEM root) child = tree_.GetChildItem(root); } - std::wstring name(get_tree_selected_item_text(&tree_, root)); + std::wstring name(get_tree_item_text(&tree_, root)); std::vector::iterator it = std::find(hg_items_.begin(), hg_items_.end(), name.c_str()); tree_.DeleteItem(root); @@ -296,7 +6250,7 @@ int ChgjsonDlg::find_config_item(const wchar_t* item_name) else return it - hg_items_.begin(); } -int ChgjsonDlg::check_depend(const wchar_t* l, const wchar_t* r) +int ChgjsonDlg::check_depend(const wchar_t* l, const wchar_t* r) { // -1: l depends on r; 0: no depend; 1: r depends on l int depend = 0; @@ -321,7 +6275,7 @@ int ChgjsonDlg::check_depend(const wchar_t* l, const wchar_t* r) void ChgjsonDlg::set_control_status(const HGITEM& item) { ::SetDlgItemTextW(m_hWnd, IDC_EDIT_DESC, item.desc.c_str()); - + if (item.type == L"bool") type_.SetCurSel(0); else if (item.type == L"int") @@ -344,6 +6298,8 @@ void ChgjsonDlg::set_control_status(const HGITEM& item) GetDlgItem(IDC_STATIC_DEFAULT)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_DEFAULT)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COMBO_DEFAULT)->ShowWindow(SW_HIDE); + GetDlgItem(IDC_EDIT_STEP)->ShowWindow(SW_HIDE); + GetDlgItem(IDC_STATIC_STEP)->ShowWindow(SW_HIDE); constraint_.SetCurSel(item.range.type); if (item.range.type == RANGE_TYPE_NONE) { @@ -369,11 +6325,14 @@ void ChgjsonDlg::set_control_status(const HGITEM& item) GetDlgItem(IDC_STATIC_TO)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_FROM)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_TO)->ShowWindow(SW_SHOW); - + GetDlgItem(IDC_EDIT_STEP)->ShowWindow(SW_SHOW); + GetDlgItem(IDC_STATIC_STEP)->ShowWindow(SW_SHOW); + if (item.type == L"int") { SetDlgItemInt(IDC_EDIT_FROM, item.range.lower); SetDlgItemInt(IDC_EDIT_TO, item.range.upper); + SetDlgItemInt(IDC_EDIT_STEP, item.range.step); } else { @@ -384,6 +6343,9 @@ void ChgjsonDlg::set_control_status(const HGITEM& item) swprintf_s(buf, _countof(buf) - 1, L"%f", item.range.upper); ::SetDlgItemTextW(m_hWnd, IDC_EDIT_TO, buf); + + swprintf_s(buf, _countof(buf) - 1, L"%f", item.range.step); + ::SetDlgItemTextW(m_hWnd, IDC_EDIT_STEP, buf); } } else // list @@ -435,15 +6397,32 @@ void ChgjsonDlg::set_control_status(const HGITEM& item) } } -void* ChgjsonDlg::create_json(int item) +void* ChgjsonDlg::create_json(int item, std::vector* def_h, std::wstring* name) { known_file_util::IJsonW* jsn = known_file_util::create_jsonW(); - wchar_t buf[128] = { 0 }; + wchar_t buf[128] = { 0 }; + int prefer_size = 0; + const char* opt_name = title_to_name(hg_items_[item].title); jsn->set_value(L"category", hg_items_[item].advanced ? L"advanced" : L"base"); - swprintf_s(buf, _countof(buf) - 1, L"cfg-%d", hg_items_[item].index); - jsn->set_value(L"name", buf); + if (name) + { + if (opt_name) + { + // jsn->set_value(L"name", coding::utf82u(opt_name).c_str()); + *name = coding::utf82u(opt_name); + } + else + { + swprintf_s(buf, _countof(buf) - 1, L"cfg-%d", hg_items_[item].index); + // jsn->set_value(L"name", buf); + *name = buf; + } + } + jsn->set_value(L"title", hg_items_[item].title.c_str()); + if (def_h) + ChgjsonDlg::to_define_header(*def_h, hg_items_[item].title.c_str()); jsn->set_value(L"desc", hg_items_[item].desc.c_str()); jsn->set_value(L"type", hg_items_[item].type.c_str()); if (hg_items_[item].type == L"bool") @@ -470,23 +6449,25 @@ void* ChgjsonDlg::create_json(int item) if (hg_items_[item].range.type == RANGE_TYPE_RANGE) { - known_file_util::IJsonW *r = known_file_util::create_jsonW(); + known_file_util::IJsonW* r = known_file_util::create_jsonW(); if (hg_items_[item].type == L"int") { r->set_value(L"min", (int)hg_items_[item].range.lower); r->set_value(L"max", (int)hg_items_[item].range.upper); + r->set_value(L"step", (int)hg_items_[item].range.step); } else { r->set_value(L"min", hg_items_[item].range.lower); r->set_value(L"max", hg_items_[item].range.upper); + r->set_value(L"step", hg_items_[item].range.step); } jsn->set_value(L"range", r); r->release(); } else if (hg_items_[item].range.type == RANGE_TYPE_LIST) { - known_file_util::IJsonW *r = known_file_util::create_jsonW(); + known_file_util::IJsonW* r = known_file_util::create_jsonW(); r->set_as_array(true); if (hg_items_[item].type == L"int") { @@ -508,6 +6489,8 @@ void* ChgjsonDlg::create_json(int item) for (size_t i = 0; i < hg_items_[item].range.queue.size(); ++i) { *r += hg_items_[item].range.queue[i].c_str(); + if (def_h) + ChgjsonDlg::to_define_header(*def_h, hg_items_[item].range.queue[i].c_str(), hg_items_[item].title.c_str()); if (size < coding::string_need_bytes(hg_items_[item].range.queue[i].c_str())) size = coding::string_need_bytes(hg_items_[item].range.queue[i].c_str()); } @@ -520,16 +6503,24 @@ void* ChgjsonDlg::create_json(int item) if (hg_items_[item].depend.size()) { - known_file_util::IJsonW *d = known_file_util::create_jsonW(); + std::wstring prev(L""); + + std::sort(hg_items_[item].depend.begin(), hg_items_[item].depend.end()); + known_file_util::IJsonW* d = known_file_util::create_jsonW(); d->set_as_array(true); for (int i = 0; i < hg_items_[item].depend.size(); ++i) { int ind = find_config_item(hg_items_[item].depend[i].parent.c_str()); if (ind != -1) { - swprintf_s(buf, _countof(buf) - 1, L"%d", hg_items_[ind].index); - // d->set_value(i, (buf + hg_items_[item].depend[i].logic_values).c_str(), true); - *d += (buf + hg_items_[item].depend[i].logic_values).c_str(); + std::wstring n(coding::utf82u(title_to_name(hg_items_[ind].title))); + if (prev != n) + { + *d += (n + hg_items_[item].depend[i].logic_values).c_str(); + prev = n; + } + else + *d += hg_items_[item].depend[i].logic_values.c_str(); } } @@ -539,52 +6530,70 @@ void* ChgjsonDlg::create_json(int item) jsn->set_value(L"depend_and", d); d->release(); } + if (prefer_size) + jsn->set_value(L"size", prefer_size); return jsn; } -std::string ChgjsonDlg::to_json_text(void) +std::string ChgjsonDlg::to_json_text(bool for_const, std::wstring* dev) { - known_file_util::IJsonW *jsn = known_file_util::create_jsonW(), *item = NULL; + known_file_util::IJsonW* jsn = known_file_util::create_jsonW(), * item = NULL, *glb = known_file_util::create_jsonW(); HTREEITEM root = tree_.GetRootItem(), child = NULL; - std::wstring val(get_tree_selected_item_text(&tree_, root)); + std::wstring val(get_tree_item_text(&tree_, root)); int count = 1, group = 1, ind = 0; wchar_t buf[128] = { 0 }; - jsn->set_value(L"device_type", val.c_str()); - jsn->set_value(L"option_count", (int)hg_items_.size()); // occupy position + std::vector header; + std::wstring file(L""); + { + wchar_t path[MAX_PATH] = { 0 }, * name = NULL; + GetModuleFileNameW(NULL, path, _countof(path) - 1); + name = wcsrchr(path, L'\\'); + if (name++ == NULL) + name = path; + swprintf(name, L"%s_option_definitions.h", val.c_str()); + file = path; + } + + if (dev) + *dev = val; + glb->set_value(L"device_type", val.c_str()); + jsn->set_value(L"global", glb); root = tree_.GetChildItem(root); while (root) { if ((DWORD)tree_.GetItemData(root) == TREE_ITEM_CONFIG) { - val = get_tree_selected_item_text(&tree_, root); + val = get_tree_item_text(&tree_, root); ind = find_config_item(val.c_str()); if (ind != -1) { + std::wstring key(L""); hg_items_[ind].index = count++; - item = (known_file_util::IJsonW*)create_json(ind); - swprintf_s(buf, _countof(buf) - 1, L"%d", hg_items_[ind].index); - jsn->set_value(buf, item); + item = (known_file_util::IJsonW*)create_json(ind, &header, &key); + // swprintf_s(buf, _countof(buf) - 1, L"%d", hg_items_[ind].index); + jsn->set_value(key.c_str(), item); item->release(); item = NULL; } } else { - val = get_tree_selected_item_text(&tree_, root); + val = get_tree_item_text(&tree_, root); item = known_file_util::create_jsonW(); item->set_value(L"category", L"base"); swprintf_s(buf, _countof(buf) - 1, L"grp-%d", group++); - item->set_value(L"name", buf); + // item->set_value(L"name", buf); item->set_value(L"title", val.c_str()); item->set_value(L"type", L"group"); - swprintf_s(buf, _countof(buf) - 1, L"%d", count++); + // swprintf_s(buf, _countof(buf) - 1, L"%d", count++); + count++; jsn->set_value(buf, item); child = tree_.GetChildItem(root); while (child) { - val = get_tree_selected_item_text(&tree_, child); + val = get_tree_item_text(&tree_, child); ind = find_config_item(val.c_str()); if (ind != -1) { @@ -594,10 +6603,11 @@ std::string ChgjsonDlg::to_json_text(void) item->set_value(L"category", hg_items_[ind].advanced ? L"advanced" : L"base"); item->release(); } - item = (known_file_util::IJsonW*)create_json(ind); + std::wstring key(L""); + item = (known_file_util::IJsonW*)create_json(ind, &header, &key); - swprintf_s(buf, _countof(buf) - 1, L"%d", hg_items_[ind].index); - jsn->set_value(buf, item); + // swprintf_s(buf, _countof(buf) - 1, L"%d", hg_items_[ind].index); + jsn->set_value(key.c_str(), item); item->release(); item = NULL; } @@ -611,20 +6621,33 @@ std::string ChgjsonDlg::to_json_text(void) } val = L""; - jsn->set_value(L"option_count", count); + glb->set_value(L"option_count", count); + glb->release(); jsn->to_string(coding::get_wstring, &val); jsn->release(); std::string utf8(""); coding_util::unicode_2_utf8(val.c_str(), coding::get_string, &utf8); + if (header.size()) + { + if (for_const) + { + utf8 = ChgjsonDlg::save_define_header_2_file(header, NULL); + } + //else + //{ + // ChgjsonDlg::save_define_header_2_file(header, file.c_str()); + // file_util::display_file_in_explorer(file.c_str()); + //} + } return utf8; } -void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent) +void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent, bool old_ver) { - known_file_util::IJsonW *jsn = (known_file_util::IJsonW*)jsn_obj, *child = NULL, - *root = (known_file_util::IJsonW*)jsn_root; - const wchar_t *val = NULL; + known_file_util::IJsonW* jsn = (known_file_util::IJsonW*)jsn_obj, * child = NULL, + * root = (known_file_util::IJsonW*)jsn_root; + const wchar_t* val = NULL; HGITEM item; wchar_t buf[128] = { 0 }; @@ -694,28 +6717,18 @@ void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent) { known_file_util::JSONMEMW m = child->first_member(known_file_util::JV_STRING); DEPENDITEM di; + std::wstring parent_item(L""); + int num = 1; - if (split(m.str_val, &di)) + do { - known_file_util::IJsonW *d = NULL; - root->get_value(di.parent.c_str(), &d); - if (d) - { - d->get_value(L"title", &val); - if (val) - { - di.parent = val; - item.depend.push_back(di); - } - d->release(); - } - } - for (int i = 1; i < child->members(); ++i) - { - m = child->next_member(); if (split(m.str_val, &di)) { - known_file_util::IJsonW *d = NULL; + known_file_util::IJsonW* d = NULL; + if (di.parent.empty()) + di.parent = parent_item; + else + parent_item = di.parent; root->get_value(di.parent.c_str(), &d); if (d) { @@ -728,7 +6741,8 @@ void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent) d->release(); } } - } + m = child->next_member(); + } while (num++ < child->members()); } child->release(); } @@ -738,12 +6752,16 @@ void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent) { if (item.type == L"int") { - int l = 0, u = 0; + int l = 0, u = 0, s = 0; if (child->get_value(L"min", l)) { child->get_value(L"max", u); item.range.lower = l; item.range.upper = u; + if (child->get_value(L"step", s)) + item.range.step = s; + else + item.range.step = 1; item.range.type = RANGE_TYPE_RANGE; } else @@ -768,6 +6786,8 @@ void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent) if (child->get_value(L"min", item.range.lower)) { child->get_value(L"max", item.range.upper); + if (!child->get_value(L"step", item.range.step)) + item.range.step = (item.range.upper - item.range.lower) / 10.0f; item.range.type = RANGE_TYPE_RANGE; } else @@ -810,13 +6830,34 @@ void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent) hg_items_.push_back(item); } -bool ChgjsonDlg::load_from_json_text(const wchar_t* txt) +bool ChgjsonDlg::load_from_json_text(const wchar_t* txt, std::wstring* err_msg) { int pos = 0; - known_file_util::IJsonW *jsn = known_file_util::create_jsonW(txt, &pos), *child = NULL; + known_file_util::IJsonW* jsn = known_file_util::create_jsonW(txt, &pos), * child = NULL; if (!jsn) + { + int ep = 10, len = 10; + if (lstrlenW(txt + pos) < 10) + len = lstrlenW(txt + pos); + if (pos < 10) + { + ep = pos; + pos = 10; + } + pos -= 10; + + std::wstring info(txt + pos, len + ep + 1); + wchar_t msg[80] = { 0 }; + + swprintf_s(msg, L"Error at position %d of char '%c'!\r\n\r\n", ep, info[ep]); + if (err_msg) + *err_msg = msg + info; + else + ::MessageBoxW(m_hWnd, (msg + info).c_str(), L"Load Error", MB_OK); + return false; + } hg_items_.clear(); tree_.DeleteAllItems(); @@ -824,24 +6865,75 @@ bool ChgjsonDlg::load_from_json_text(const wchar_t* txt) const wchar_t* val = NULL; HTREEITEM root = NULL, son = NULL; int count = 0; + bool old_ver = false; jsn->get_value(L"device_type", &val); if (val) + { root = add_tree_item(val, TREE_ITEM_PRODUCT); + jsn->get_value(L"option_count", count); + old_ver = true; + } else - root = add_tree_item(L"Unkonwn Product", TREE_ITEM_PRODUCT); + { + known_file_util::IJsonW* all = nullptr; + jsn->get_value(L"global", &all); + if (all) + { + all->get_value(L"device_type", &val); + if(val) + root = add_tree_item(val, TREE_ITEM_PRODUCT); + all->release(); + } + if (!root) + { + jsn->release(); + return false; + } + } son = root; - jsn->get_value(L"option_count", count); GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE); GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE); - for (int i = 1; i < count; ++i) + if (old_ver) { - wchar_t key[20] = { 0 }; - - swprintf_s(key, _countof(key) - 1, L"%d", i); - jsn->get_value(key, &child); - if (child) + for (int i = 1; i < count; ++i) + { + wchar_t key[20] = { 0 }; + + swprintf_s(key, _countof(key) - 1, L"%d", i); + jsn->get_value(key, &child); + if (child) + { + child->get_value(L"type", &val); + if (val) + { + if (wcscmp(val, L"group") == 0) + { + child->get_value(L"title", &val); + if (!val) + { + swprintf_s(key, _countof(key) - 1, L"group-%d", i); + val = key; + } + son = add_tree_item(val, TREE_ITEM_GROUP, root); + } + else + { + add_item(jsn, child, son, old_ver); + } + } + child->release(); + } + } + } + else if (child = jsn->first_child()) + { + int sn = 0; + wchar_t key[20] = { 0 }; + + child->release(); + while ((child = jsn->next_child())) { child->get_value(L"type", &val); if (val) @@ -851,14 +6943,14 @@ bool ChgjsonDlg::load_from_json_text(const wchar_t* txt) child->get_value(L"title", &val); if (!val) { + swprintf_s(key, _countof(key) - 1, L"group-%d", ++sn); val = key; - swprintf_s(key, _countof(key) - 1, L"group-%d", i); } son = add_tree_item(val, TREE_ITEM_GROUP, root); } else { - add_item(jsn, child, son); + add_item(jsn, child, son, old_ver); } } child->release(); @@ -896,7 +6988,7 @@ bool ChgjsonDlg::load_from_file(const wchar_t* path_file) void ChgjsonDlg::get_all_names(HTREEITEM root, std::vector& names, DWORD mask) { if (((DWORD)tree_.GetItemData(root) & mask) == mask) - names.push_back(get_tree_selected_item_text(&tree_, root)); + names.push_back(get_tree_item_text(&tree_, root)); HTREEITEM child = tree_.GetChildItem(root); while (child) @@ -940,30 +7032,80 @@ HTREEITEM ChgjsonDlg::add_tree_item(const wchar_t* title, DWORD data, HTREEITEM return i; } +void ChgjsonDlg::filter_tree_item(HTREEITEM item, const std::vector& filter) +{ + DWORD_PTR data = NULL; + std::wstring title(get_tree_item_text(&tree_, item, &data)); + + if (data == (DWORD_PTR)TREE_ITEM_GROUP) + { + HTREEITEM child = tree_.GetChildItem(item), + next = NULL; + while (child) + { + next = tree_.GetNextSiblingItem(child); + filter_tree_item(child, filter); + child = next; + } + } + else if (data == (DWORD_PTR)TREE_ITEM_CONFIG) + { + const char* name = title_to_name(title), * filter_name = NULL; + int ind = find_config_item(title.c_str()), fi = -1; + + for (size_t i = 0; i < filter.size(); ++i) + { + std::wstring t(filter[i].title); + + filter_name = title_to_name(t); + if (filter_name == name) + { + fi = i; + break; + } + } + if (filter_name != name) + { + if (strstr(name, "is-rid-hole-") != name && + strstr(name, "search-hole-range-") != name) + delete_tree_item(item); + } + else + { + HGITEM hgi(hg_items_[ind]); + hg_items_[ind] = filter[fi]; + hg_items_[ind].title = hgi.title; + hg_items_[ind].desc = hgi.desc; + for (size_t i = 0; i < hg_items_[ind].depend.size(); ++i) + title_to_name(hg_items_[ind].depend[i].parent); + } + } +} + // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void ChgjsonDlg::OnPaint() { - if (IsIconic()) - { - CPaintDC dc(this); // device context for painting + //if (IsIconic()) + //{ + // CPaintDC dc(this); // device context for painting - SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0); + // SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0); - // Center icon in client rectangle - int cxIcon = GetSystemMetrics(SM_CXICON); - int cyIcon = GetSystemMetrics(SM_CYICON); - CRect rect; - GetClientRect(&rect); - int x = (rect.Width() - cxIcon + 1) / 2; - int y = (rect.Height() - cyIcon + 1) / 2; + // // Center icon in client rectangle + // int cxIcon = GetSystemMetrics(SM_CXICON); + // int cyIcon = GetSystemMetrics(SM_CYICON); + // CRect rect; + // GetClientRect(&rect); + // int x = (rect.Width() - cxIcon + 1) / 2; + // int y = (rect.Height() - cyIcon + 1) / 2; - // Draw the icon - dc.DrawIcon(x, y, m_hIcon); - } - else + // // Draw the icon + // dc.DrawIcon(x, y, m_hIcon); + //} + //else { CDialogEx::OnPaint(); } @@ -973,9 +7115,84 @@ void ChgjsonDlg::OnPaint() // the minimized window. HCURSOR ChgjsonDlg::OnQueryDragIcon() { - return static_cast(m_hIcon); + return NULL;// static_cast(m_hIcon); } +void ChgjsonDlg::OnPaste() +{ + coding::CLPD clpb; + + file_util::get_clipboard(coding::get_clipboard_content, &clpb); + if (clpb.cont.empty()) + { + MessageBox(TEXT("clipboard is empty.")); + return; + } + + if (clpb.file) + { + size_t pos = clpb.cont.find(L"\r\n"); + bool loaded = false; + + while (!loaded && pos != std::wstring::npos) + { + loaded = load_from_file(clpb.cont.substr(0, pos).c_str()); + clpb.cont.erase(0, pos + 2); + pos = clpb.cont.find(L"\r\n"); + } + if (!loaded && file_util::is_file_existing(clpb.cont.c_str())) + load_from_file(clpb.cont.c_str()); + } + else + { + std::wstring err(L""); + if (load_from_json_text(clpb.cont.c_str(), &err)) + return; + + // we assum the content from codes ... + std::wstring jsn(L""); + size_t pos = clpb.cont.find(L" std::string"); + + while (pos != std::wstring::npos) + { + clpb.cont.erase(0, pos); + pos = clpb.cont.find(L"\""); + if (pos == std::wstring::npos) + break; + clpb.cont.erase(0, pos + 1); + pos = clpb.cont.find(L"\");"); + if (pos == std::wstring::npos) + { + jsn += clpb.cont; + break; + } + else + jsn += clpb.cont.substr(0, pos); + clpb.cont.erase(0, pos); + pos = clpb.cont.find(L" std::string"); + } + + if (jsn.length()) + { + pos = jsn.find(L"\\\\"); + while (pos != std::wstring::npos) + { + jsn.erase(pos++, 1); + pos = jsn.find(L"\\\\", pos); + } + pos = jsn.find(L"\\\""); + while (pos != std::wstring::npos) + { + jsn.erase(pos++, 1); + pos = jsn.find(L"\\\"", pos); + } + + load_from_json_text(jsn.c_str()); + } + else + ::MessageBoxW(m_hWnd, err.c_str(), L"Load Error", MB_OK); + } +} void ChgjsonDlg::OnTreeAddProduct() @@ -1109,8 +7326,28 @@ void ChgjsonDlg::OnBnClickedButton2() pos = txt.find("\\u", pos + 3); } + // divide into multi-lines with 16KB per line ... + int lines = 1; + char var[80] = { 0 }; + + pos = txt.length(); + while (pos > 16 * 1024) + { + pos -= 12 * 1024; + while (txt[pos - 1] == '\\') + pos++; + lines++; + sprintf_s(var, _countof(var) - 1, "\");\r\nstatic std::string jsontext%d(\"", lines); + txt.insert(pos, var); + } + txt.insert(0, "static std::string jsontext1(\""); + txt += "\");\r\n"; + file_util::set_clipboard(txt.c_str(), txt.length()); - MessageBox(TEXT("JSON text has set to clipboard already")); + + TCHAR msg[128] = { 0 }; + _stprintf(msg, TEXT("%d lines"), lines); + MessageBox(TEXT("JSON text has set to clipboard already"), msg); } @@ -1161,6 +7398,8 @@ void ChgjsonDlg::OnCbnSelchangeConstraintType() GetDlgItem(IDC_STATIC_TO)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_FROM)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_TO)->ShowWindow(SW_HIDE); + GetDlgItem(IDC_EDIT_STEP)->ShowWindow(SW_HIDE); + GetDlgItem(IDC_STATIC_STEP)->ShowWindow(SW_HIDE); constraint_list_.ShowWindow(SW_HIDE); if (sel == 0) @@ -1182,6 +7421,8 @@ void ChgjsonDlg::OnCbnSelchangeConstraintType() GetDlgItem(IDC_EDIT_TO)->ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_DEFAULT)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_DEFAULT)->ShowWindow(SW_SHOW); + GetDlgItem(IDC_EDIT_STEP)->ShowWindow(SW_SHOW); + GetDlgItem(IDC_STATIC_STEP)->ShowWindow(SW_SHOW); } else // if( sel == 2) { @@ -1195,7 +7436,7 @@ void ChgjsonDlg::OnCbnSelchangeDependItem() // TODO: Add your control notification handler code here int sel = depend_item_.GetCurSel(), d_ind = -1; wchar_t name[128] = { 0 }, type[128] = { 0 }; - + ::GetWindowTextW(depend_item_.m_hWnd, name, _countof(name) - 1); ::GetWindowTextW(type_.m_hWnd, type, _countof(type) - 1); d_ind = find_config_item(name); @@ -1215,6 +7456,7 @@ void ChgjsonDlg::OnCbnSelchangeDependItem() logic_.ResetContent(); logic_.AddString(L"=="); logic_.AddString(L"!="); + GetDlgItem(IDC_COMBO_BOOL)->ShowWindow(SW_SHOW); if (hg_items_[d_ind].type == L"bool") { GetDlgItem(IDC_COMBO_BOOL)->ShowWindow(SW_SHOW); @@ -1251,6 +7493,7 @@ void ChgjsonDlg::OnCbnSelchangeDependItem() logic_.AddString(L"out of"); } GetDlgItem(IDC_EDIT_LOWER)->ShowWindow(SW_SHOW); + GetDlgItem(IDC_COMBO_BOOL)->ShowWindow(SW_HIDE); } logic_.SetCurSel(0); OnCbnSelchangeLogic(); @@ -1264,19 +7507,22 @@ void ChgjsonDlg::OnCbnSelchangeLogic() GetDlgItem(IDC_STATIC_AND)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_UPPER)->ShowWindow(SW_HIDE); + GetDlgItem(IDC_EDIT_UPPER)->EnableWindow(FALSE); ::GetWindowTextW(logic_.m_hWnd, text, _countof(text) - 1); if (wcscmp(text, L"between") == 0 || wcscmp(text, L"out of") == 0) { GetDlgItem(IDC_STATIC_AND)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_UPPER)->ShowWindow(SW_SHOW); + GetDlgItem(IDC_EDIT_UPPER)->EnableWindow(); + GetDlgItem(IDC_STATIC_AND)->EnableWindow(); } } -void ChgjsonDlg::OnLvnEndlabeleditListValues(NMHDR *pNMHDR, LRESULT *pResult) +void ChgjsonDlg::OnLvnEndlabeleditListValues(NMHDR* pNMHDR, LRESULT* pResult) { - NMLVDISPINFO *pDispInfo = reinterpret_cast(pNMHDR); + NMLVDISPINFO* pDispInfo = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here *pResult = 0; DWORD_PTR data = constraint_list_.GetItemData(pDispInfo->item.iItem); @@ -1326,7 +7572,7 @@ void ChgjsonDlg::OnBnClickedDepend() return; } - std::wstring name(get_tree_selected_item_text(&tree_, root)); + std::wstring name(get_tree_item_text(&tree_, root)); std::vector confs; get_all_names(tree_.GetRootItem(), confs, TREE_ITEM_CONFIG); @@ -1364,7 +7610,7 @@ void ChgjsonDlg::OnBnClickedButton3() // add depend items DEPENDITEM di; wchar_t oper[128] = { 0 }; - bool or = ((CButton*)GetDlgItem(IDC_RADIO_ANY))->GetCheck() == BST_CHECKED; + bool or = ((CButton*)GetDlgItem(IDC_RADIO_ANY))->GetCheck() == BST_CHECKED; DWORD_PTR data = NULL; std::wstring name(get_tree_selected_item_text(&tree_, &data)); std::vector::iterator it = std::find(hg_items_.begin(), hg_items_.end(), name.c_str()); @@ -1426,9 +7672,9 @@ void ChgjsonDlg::OnBnClickedButton3() } it->depend.push_back(di); - it->depend_or = or; -// if (depends_.FindString(-1, (di.parent + di.logic_values).c_str()) == -1) - depends_.AddString((di.parent + di.logic_values).c_str()); + it->depend_or = or ; + // if (depends_.FindString(-1, (di.parent + di.logic_values).c_str()) == -1) + depends_.AddString((di.parent + di.logic_values).c_str()); } void ChgjsonDlg::OnBnClickedButton4() { @@ -1512,6 +7758,10 @@ void ChgjsonDlg::OnBnClickedButton4() it->range.lower = _wtof(str); ::GetDlgItemTextW(m_hWnd, IDC_EDIT_TO, str, _countof(str) - 1); it->range.upper = _wtof(str); + ::GetDlgItemTextW(m_hWnd, IDC_EDIT_STEP, str, _countof(str) - 1); + it->range.step = _wtof(str); + if (fabs(it->range.step) < .000001f) + it->range.step = (it->range.upper - it->range.lower) / 10.0f; } } @@ -1532,7 +7782,7 @@ void ChgjsonDlg::OnBnClickedButton4() } -void ChgjsonDlg::OnNMRClickMfcshelltree1(NMHDR *pNMHDR, LRESULT *pResult) +void ChgjsonDlg::OnNMRClickMfcshelltree1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here *pResult = 0; @@ -1567,7 +7817,7 @@ void ChgjsonDlg::OnNMRClickMfcshelltree1(NMHDR *pNMHDR, LRESULT *pResult) } -void ChgjsonDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult) +void ChgjsonDlg::OnTvnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) { LPNMTREEVIEW pNMTreeView = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here @@ -1582,9 +7832,18 @@ void ChgjsonDlg::OnListmenuSetdefault() { // TODO: Add your command handler code here int sel = get_cur_sel(&constraint_list_); + std::wstring text(get_tree_item_text(&tree_, tree_.GetSelectedItem())); + int item = find_config_item(text.c_str()); + if (item == -1) + return; + + if (sel >= 0 && sel < constraint_list_.GetItemCount()) { + wchar_t cur[128] = { 0 }; + constraint_list_.GetItemText(sel, 0, cur, _countof(cur) - 1); + hg_items_[item].init_val = cur; for (int i = 0; i < constraint_list_.GetItemCount(); ++i) { if (constraint_list_.GetItemData(i)) @@ -1615,7 +7874,7 @@ void ChgjsonDlg::OnListmenuDelete() } -void ChgjsonDlg::OnNMRClickListValues(NMHDR *pNMHDR, LRESULT *pResult) +void ChgjsonDlg::OnNMRClickListValues(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here @@ -1673,8 +7932,46 @@ void ChgjsonDlg::OnTreeLoadfile() } } +void ChgjsonDlg::OnTreeLoadClipboard() +{ + // TODO: ڴ + OnPaste(); +} -void ChgjsonDlg::OnLvnKeydownListValues(NMHDR *pNMHDR, LRESULT *pResult) + +void ChgjsonDlg::OnTreeUnifySequence() +{ + // TODO: ڴ + file_util::PATHFILE path = { 0 }; + + if (!file_util::browser_file(m_hWnd, &path)) + return; + + std::vector me(hg_items_); + HTREEITEM root = tree_.GetRootItem(), + child = NULL, + next = NULL; + std::wstring model(get_tree_item_text(&tree_, root)); + + if (!load_from_file(path.path)) + return; + + root = tree_.GetRootItem(); + child = tree_.GetChildItem(root); + while (child) + { + DWORD_PTR data = NULL; + std::wstring title(get_tree_item_text(&tree_, child, &data)); + + next = tree_.GetNextSiblingItem(child); + filter_tree_item(child, me); + + child = next; + } + tree_.SetItemText(root, model.c_str()); +} + +void ChgjsonDlg::OnLvnKeydownListValues(NMHDR* pNMHDR, LRESULT* pResult) { LPNMLVKEYDOWN pLVKeyDow = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here @@ -1715,7 +8012,7 @@ void ChgjsonDlg::OnLvnKeydownListValues(NMHDR *pNMHDR, LRESULT *pResult) } -void ChgjsonDlg::OnTvnKeydownTree1(NMHDR *pNMHDR, LRESULT *pResult) +void ChgjsonDlg::OnTvnKeydownTree1(NMHDR* pNMHDR, LRESULT* pResult) { LPNMTVKEYDOWN pTVKeyDown = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here @@ -1753,7 +8050,7 @@ void ChgjsonDlg::OnTvnKeydownTree1(NMHDR *pNMHDR, LRESULT *pResult) parent = next; next = TVI_FIRST; } - else if (check_depend(name.c_str(), get_tree_selected_item_text(&tree_, next).c_str()) == 1) + else if (check_depend(name.c_str(), get_tree_item_text(&tree_, next).c_str()) == 1) next = NULL; } } @@ -1787,7 +8084,7 @@ void ChgjsonDlg::OnTvnKeydownTree1(NMHDR *pNMHDR, LRESULT *pResult) } else { - if (check_depend(name.c_str(), get_tree_selected_item_text(&tree_, next).c_str()) == -1) + if (check_depend(name.c_str(), get_tree_item_text(&tree_, next).c_str()) == -1) next = NULL; else { @@ -1807,7 +8104,7 @@ void ChgjsonDlg::OnTvnKeydownTree1(NMHDR *pNMHDR, LRESULT *pResult) } -void ChgjsonDlg::OnTvnGetInfoTipTree1(NMHDR *pNMHDR, LRESULT *pResult) +void ChgjsonDlg::OnTvnGetInfoTipTree1(NMHDR* pNMHDR, LRESULT* pResult) { LPNMTVGETINFOTIP pGetInfoTip = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here @@ -1818,7 +8115,7 @@ void ChgjsonDlg::OnTvnGetInfoTipTree1(NMHDR *pNMHDR, LRESULT *pResult) } -void ChgjsonDlg::OnLvnGetInfoTipListValues(NMHDR *pNMHDR, LRESULT *pResult) +void ChgjsonDlg::OnLvnGetInfoTipListValues(NMHDR* pNMHDR, LRESULT* pResult) { LPNMLVGETINFOTIP pGetInfoTip = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here @@ -1841,3 +8138,33 @@ void ChgjsonDlg::OnListmenuTooltips() // TODO: Add your command handler code here show_list_tooltips_ ^= true; } + + +void ChgjsonDlg::OnTreeExportCharConstants() +{ + // TODO: ڴ + std::string bom(to_json_text(true)); + if (bom.empty()) + MessageBox(TEXT("No char constant")); + else + MessageBox(TEXT("const string has set to clipboard already")); +} + + +void ChgjsonDlg::OnBnClickedToFile() +{ + // TODO: ڴӿؼ֪ͨ + std::wstring name(L""); + std::string txt(to_json_text(false, &name)), ansi(""); + wchar_t path[MAX_PATH] = { 0 }; + + GetModuleFileNameW(NULL, path, _countof(path) - 1); + wcsrchr(path, L'\\')[1] = 0; + name.insert(0, path); + name += L".hsc"; + ansi = coding::u2a(name.c_str()); + if (save_scanner_setting(ansi.c_str(), txt) == 0) + file_util::display_file_in_explorer(name.c_str()); +} + + diff --git a/tools/apps/hgjson/hgjsonDlg.h b/tools/apps/hgjson/hgjsonDlg.h index 8514257..ba83e40 100644 --- a/tools/apps/hgjson/hgjsonDlg.h +++ b/tools/apps/hgjson/hgjsonDlg.h @@ -34,6 +34,10 @@ public: { return wcscmp(name, parent.c_str()) == 0; } + bool operator<(const struct _depend_item& r) + { + return parent < r.parent; + } }DEPENDITEM; enum range_type { @@ -46,6 +50,7 @@ public: int type; double lower; double upper; + double step; std::vector queue; }RANGE; typedef struct _hg_item @@ -77,13 +82,22 @@ public: range.type = RANGE_TYPE_NONE; } }HGITEM; + typedef struct _def_h + { + std::wstring name; + std::wstring value; + std::wstring utf8_in_oct; + bool operator==(const std::wstring& n) + { + return name == n; + } + }DEFH; std::vector hg_items_; bool show_tree_tooltips_; bool show_list_tooltips_; // Implementation protected: - HICON m_hIcon; CMenu tree_menu_; CMenu func_menu_; CImageList tree_img_; @@ -92,22 +106,27 @@ protected: virtual BOOL OnInitDialog(); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); + afx_msg void OnPaste(); DECLARE_MESSAGE_MAP() + static void to_define_header(std::vector& defs, const wchar_t* str, const wchar_t* parent = NULL); + static std::string save_define_header_2_file(std::vector& defs, const wchar_t* file); // return BOM string + void init_control_statu(void); void delete_tree_item(HTREEITEM root); int find_config_item(const wchar_t* item_name); int check_depend(const wchar_t* l, const wchar_t* r); // -1: l depends on r; 0: no depend; 1: r depends on l void set_control_status(const HGITEM& item); - void* create_json(int item); - std::string to_json_text(void); - void add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent); - bool load_from_json_text(const wchar_t* txt); + void* create_json(int item, std::vector *def_h = NULL, std::wstring* name = NULL); + std::string to_json_text(bool for_const = false, std::wstring *dev = NULL); + void add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent, bool old_ver); + bool load_from_json_text(const wchar_t* txt, std::wstring* err_msg = NULL); bool load_from_file(const wchar_t* path_file); void get_all_names(HTREEITEM root, std::vector& names, DWORD mask = 0); void on_config_name_changed(const wchar_t* prev, const wchar_t* now); HTREEITEM add_tree_item(const wchar_t* title, DWORD data, HTREEITEM parent = TVI_ROOT, HTREEITEM after = TVI_LAST); + void filter_tree_item(HTREEITEM item, const std::vector& filter); public: afx_msg void OnTreeAddGroup(); @@ -147,5 +166,11 @@ public: afx_msg void OnLvnGetInfoTipListValues(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnTreeTooltips(); afx_msg void OnListmenuTooltips(); + afx_msg void OnTreeExportCharConstants(); + afx_msg void OnBnClickedToFile(); + afx_msg void OnTreeLoadClipboard(); + afx_msg void OnTreeUnifySequence(); }; + + diff --git a/tools/apps/hgjson/resource.h b/tools/apps/hgjson/resource.h index 9398193..015ad52 100644 Binary files a/tools/apps/hgjson/resource.h and b/tools/apps/hgjson/resource.h differ diff --git a/tools/sdk/include/coding/coding.h b/tools/sdk/include/coding/coding.h index 1019c61..1e05ca8 100644 --- a/tools/sdk/include/coding/coding.h +++ b/tools/sdk/include/coding/coding.h @@ -199,6 +199,9 @@ namespace coding_util PORT_API(int) aes_encoding(const char* plain, size_t len, const char *iv, const char* pwd, inter_module_data::set_data result, void* param, int iv_len = 16, int pwd_len = 16, _aes_type_ type = AES_CBC); PORT_API(int) aes_decoding(const char* cipher, size_t len, const char *iv, const char* pwd, inter_module_data::set_data result, void* param, int iv_len = 16, int pwd_len = 16, _aes_type_ type = AES_CBC); + // CRC ... + PORT_API(UINT) crc_32(const void* data, size_t bytes, UINT prev_crc = 0); + // return 0 if success PORT_API(int) lzw_encoding(const char* plain, size_t len, inter_module_data::set_data result, void* param); PORT_API(int) lzw_decoding(const char* cipher, size_t len, inter_module_data::set_data result, void* param); diff --git a/tools/sdk/include/utility/known_file.h b/tools/sdk/include/utility/known_file.h index 1ebc300..bc711fc 100644 Binary files a/tools/sdk/include/utility/known_file.h and b/tools/sdk/include/utility/known_file.h differ diff --git a/tools/sdk/lib/Debug/base_util.lib b/tools/sdk/lib/Debug/base_util.lib index 5d76f95..850d7a4 100644 Binary files a/tools/sdk/lib/Debug/base_util.lib and b/tools/sdk/lib/Debug/base_util.lib differ diff --git a/tools/sdk/lib/Release/base_util.lib b/tools/sdk/lib/Release/base_util.lib index 473d4c0..5bbcb59 100644 Binary files a/tools/sdk/lib/Release/base_util.lib and b/tools/sdk/lib/Release/base_util.lib differ diff --git a/tools/solution/Release/findqt.exe b/tools/solution/Release/findqt.exe new file mode 100644 index 0000000..8433ade Binary files /dev/null and b/tools/solution/Release/findqt.exe differ diff --git a/tools/solution/Release/hgjson.exe b/tools/solution/Release/hgjson.exe index e5cce0f..e51eedd 100644 Binary files a/tools/solution/Release/hgjson.exe and b/tools/solution/Release/hgjson.exe differ diff --git a/tools/solution/sane_tools.sln b/tools/solution/sane_tools.sln index 1d79cf7..72bef68 100644 --- a/tools/solution/sane_tools.sln +++ b/tools/solution/sane_tools.sln @@ -9,6 +9,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hgjson", "..\apps\hgjson\hg EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cvstr", "..\apps\cvstr\cvstr.vcxproj", "{758032ED-6FB3-4E7F-AA8F-A463C2B5D91E}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "findqt", "..\apps\findqt\findqt.vcxproj", "{1F4BF993-302E-4728-B044-39DC8644C1CC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Mixed Platforms = Debug|Mixed Platforms @@ -49,6 +51,22 @@ Global {758032ED-6FB3-4E7F-AA8F-A463C2B5D91E}.Release|x64.ActiveCfg = Release|Win32 {758032ED-6FB3-4E7F-AA8F-A463C2B5D91E}.Release|x86.ActiveCfg = Release|Win32 {758032ED-6FB3-4E7F-AA8F-A463C2B5D91E}.Release|x86.Build.0 = Release|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|Win32.ActiveCfg = Debug|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|Win32.Build.0 = Debug|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|x64.ActiveCfg = Debug|x64 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|x64.Build.0 = Debug|x64 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|x86.ActiveCfg = Debug|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Debug|x86.Build.0 = Debug|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|Mixed Platforms.Build.0 = Release|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|Win32.ActiveCfg = Release|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|Win32.Build.0 = Release|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|x64.ActiveCfg = Release|x64 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|x64.Build.0 = Release|x64 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|x86.ActiveCfg = Release|Win32 + {1F4BF993-302E-4728-B044-39DC8644C1CC}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -56,6 +74,7 @@ Global GlobalSection(NestedProjects) = preSolution {D3579C48-F5AB-4F15-9B49-A2970FBA76C5} = {434BA17E-2347-4C76-97A2-DF9940EEB9FC} {758032ED-6FB3-4E7F-AA8F-A463C2B5D91E} = {434BA17E-2347-4C76-97A2-DF9940EEB9FC} + {1F4BF993-302E-4728-B044-39DC8644C1CC} = {434BA17E-2347-4C76-97A2-DF9940EEB9FC} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {8F4909F0-C507-4210-A730-BFFBF9773850}