From aa9997f5611d412fcea853b0369ebb8b6a6bbca2 Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Sat, 10 Sep 2022 10:09:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E6=9B=B4=E7=A9=BF=E5=AD=94=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sane/s2t_api.h | 8 ++++++++ sane/scanner.cpp | 16 ++++++++++++++++ sane/scanner.h | 8 ++++++++ twain/twain/huagaods.cpp | 18 +++++++++++++++++- 4 files changed, 49 insertions(+), 1 deletion(-) diff --git a/sane/s2t_api.h b/sane/s2t_api.h index 6ea16c2..4a8446e 100644 --- a/sane/s2t_api.h +++ b/sane/s2t_api.h @@ -235,6 +235,14 @@ struct __declspec(novtable) ISaneInvoker : public IRef SANE_OPTION_ID_API(is_auto_strength); // 自动搓纸强度 SANE_OPTION_ID_API(feed_strength_value); // 自动搓纸强度设定值 SANE_OPTION_ID_API(is_reverse_bw); // 黑白图像反色输出 + SANE_OPTION_ID_API(is_erase_hole_l); // 穿孔移除 - 左 + SANE_OPTION_ID_API(search_hole_range_l); // 穿孔搜索范围 - 左 + SANE_OPTION_ID_API(is_erase_hole_r); // 穿孔移除 - 右 + SANE_OPTION_ID_API(search_hole_range_r); // 穿孔搜索范围 - 右 + SANE_OPTION_ID_API(is_erase_hole_t); // 穿孔移除 - 上 + SANE_OPTION_ID_API(search_hole_range_t); // 穿孔搜索范围 - 上 + SANE_OPTION_ID_API(is_erase_hole_b); // 穿孔移除 - 下 + SANE_OPTION_ID_API(search_hole_range_b); // 穿孔搜索范围 - 下 // SANE-ex option ID: SANE_OPTION_ID_API_EX(multiout_type); // int diff --git a/sane/scanner.cpp b/sane/scanner.cpp index 6c1e888..fdd0b2e 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -380,6 +380,14 @@ int scanner::init_options_id(void) else SET_OPT_ID(is_auto_strength, ZDCZQD, extension_none) else SET_OPT_ID(feed_strength_value , CZYZ, extension_none) else SET_OPT_ID(is_reverse_bw, HBTXFSSC, extension_none) + else SET_OPT_ID(is_erase_hole_l, CKYCZC, extension_none) + else SET_OPT_ID(search_hole_range_l, ZCCKSSFWZFMBL, extension_none) + else SET_OPT_ID(is_erase_hole_r, CKYCYC, extension_none) + else SET_OPT_ID(search_hole_range_r, YCCKSSFWZFMBL, extension_none) + else SET_OPT_ID(is_erase_hole_t, CKYCSC, extension_none) + else SET_OPT_ID(search_hole_range_t, SCCKSSFWZFMBL, extension_none) + else SET_OPT_ID(is_erase_hole_b, CKYCXC, extension_none) + else SET_OPT_ID(search_hole_range_b, XCCKSSFWZFMBL, extension_none) op_id++; } @@ -1918,6 +1926,14 @@ SANE_OPTION_ID_IMPLEMENT(power_scheme) SANE_OPTION_ID_IMPLEMENT(is_auto_strength) SANE_OPTION_ID_IMPLEMENT(feed_strength_value) SANE_OPTION_ID_IMPLEMENT(is_reverse_bw) +SANE_OPTION_ID_IMPLEMENT(is_erase_hole_l) +SANE_OPTION_ID_IMPLEMENT(search_hole_range_l) +SANE_OPTION_ID_IMPLEMENT(is_erase_hole_r) +SANE_OPTION_ID_IMPLEMENT(search_hole_range_r) +SANE_OPTION_ID_IMPLEMENT(is_erase_hole_t) +SANE_OPTION_ID_IMPLEMENT(search_hole_range_t) +SANE_OPTION_ID_IMPLEMENT(is_erase_hole_b) +SANE_OPTION_ID_IMPLEMENT(search_hole_range_b) // SANE-ex option ID: SANE_OPTION_ID_IMPLEMENT(ex_multiout_type) diff --git a/sane/scanner.h b/sane/scanner.h index 7a26b71..def2d0e 100644 --- a/sane/scanner.h +++ b/sane/scanner.h @@ -269,6 +269,14 @@ public: SANE_OPTION_ID(is_auto_strength); // 自动搓纸强度 SANE_OPTION_ID(feed_strength_value); // 自动搓纸强度设定值 SANE_OPTION_ID(is_reverse_bw); // 黑白图像反色输出 + SANE_OPTION_ID(is_erase_hole_l); // 穿孔移除 - 左 + SANE_OPTION_ID(search_hole_range_l); // 穿孔搜索范围 - 左 + SANE_OPTION_ID(is_erase_hole_r); // 穿孔移除 - 右 + SANE_OPTION_ID(search_hole_range_r); // 穿孔搜索范围 - 右 + SANE_OPTION_ID(is_erase_hole_t); // 穿孔移除 - 上 + SANE_OPTION_ID(search_hole_range_t); // 穿孔搜索范围 - 上 + SANE_OPTION_ID(is_erase_hole_b); // 穿孔移除 - 下 + SANE_OPTION_ID(search_hole_range_b); // 穿孔搜索范围 - 下 // SANE-ex option ID: SANE_OPTION_ID(ex_multiout_type); // int diff --git a/twain/twain/huagaods.cpp b/twain/twain/huagaods.cpp index 4ca5539..83139e3 100644 --- a/twain/twain/huagaods.cpp +++ b/twain/twain/huagaods.cpp @@ -130,7 +130,15 @@ enum CapTypeEx : unsigned short { CAP_EX_SANE_power_scheme, CAP_EX_SANE_is_auto_strength, CAP_EX_SANE_feed_strength_value, - CAP_EX_SANE_is_reverse_bw // END for SANE豸ԭʼ͸ + CAP_EX_SANE_is_reverse_bw, + CAP_EX_SANE_is_erase_hole_l, + CAP_EX_SANE_search_hole_range_l, + CAP_EX_SANE_is_erase_hole_r, + CAP_EX_SANE_search_hole_range_r, + CAP_EX_SANE_is_erase_hole_t, + CAP_EX_SANE_search_hole_range_t, + CAP_EX_SANE_is_erase_hole_b, + CAP_EX_SANE_search_hole_range_b, // END for SANE豸ԭʼ͸ ///////////////////////////////////////////////////////////////////////// }; enum // .twain/first.cfg: [twain-app] flow=0 @@ -2641,6 +2649,14 @@ void huagao_ds::init_support_caps_ex(void) ADD_SANE_CAP(is_auto_strength); ADD_SANE_CAP(feed_strength_value); ADD_SANE_CAP(is_reverse_bw); + ADD_SANE_CAP(is_erase_hole_l); // Ƴ - + ADD_SANE_CAP(search_hole_range_l); // Χ - + ADD_SANE_CAP(is_erase_hole_r); // Ƴ - + ADD_SANE_CAP(search_hole_range_r); // Χ - + ADD_SANE_CAP(is_erase_hole_t); // Ƴ - + ADD_SANE_CAP(search_hole_range_t); // Χ - + ADD_SANE_CAP(is_erase_hole_b); // Ƴ - + ADD_SANE_CAP(search_hole_range_b); // Χ - } std::wstring huagao_ds::get_config_file(void) {