新增颜色填充

This commit is contained in:
mo1027728827@qq.com 2022-05-20 15:53:40 +08:00
parent 56adfaec20
commit 9ab480ec35
6 changed files with 33 additions and 25 deletions

View File

@ -24,7 +24,7 @@ hg_scanner::hg_scanner(ScannerSerial serial
, bright_(128), contrast_(4), gamma_(1.0f), threshold_(40), anti_noise_(8), margin_(5)
, fractate_level_(50), ui_ev_cb_(ui_default_callback), scan_life_(NULL)
, notify_setting_result_(false), user_cancel_(false), cb_mem_(true), test_1_paper_(false)
, setting_count_(0),img_type_(""), online_(false),is_quality_(-1)
, setting_count_(0),img_type_(""), online_(false),is_quality_(-1),is_color_fill(false)
{
custom_gamma_val_ = new SANE_Gamma;
memset(custom_gamma_val_, 0, sizeof(SANE_Gamma));
@ -356,6 +356,9 @@ void hg_scanner::set_setting_map(int sn, const char* title)
setting_map_[HG_BASE_SETTING_INDEX_SKEW_CHECK] = sn;
else if (val == OPTION_TITLE_WXRRD)
setting_map_[HG_BASE_SETTING_INDEX_SKEW_CHECK_LEVEL] = sn;
else if (val == OPTION_TITLE_SCTC)
setting_map_[HG_BASE_SETTING_INDEX_COLOR_FILL] = sn;
}
void hg_scanner::thread_handle_usb(void)
{
@ -917,15 +920,11 @@ int hg_scanner::setting_restore(void* data)
int hg_scanner::setting_help(void* data)
{
int ret = SCANNER_ERR_OK;
if (name_ == "华高扫描仪—G100") //保留
{
/* code */
}
std::string helpfile = helpfile_;
std::string com = "xdg-open ";//注意空格保留
printf("helpfile = %s\r\n",helpfile.c_str());
#ifdef WIN32
FILE* src = fopen(helpfile.c_str(), "rb");
if (src)
@ -935,7 +934,7 @@ int hg_scanner::setting_help(void* data)
if (access(helpfile.c_str(),F_OK) == -1)
#endif
{
HG_VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO,"App_Help_pdf path is:%s\r\n",hg_scanner::strerr((scanner_err)ret).c_str());
HG_VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO,"App_Help_pdf path is:%s system is:%d\r\n",helpfile.c_str());
ret = SCANNER_ERR_OPEN_FILE_FAILED;
return ret ;
}
@ -1563,7 +1562,6 @@ int hg_scanner::setting_img_quality(void *data)
std::string str((char*)data);
bool exact = check_range(setting_map_[HG_BASE_SETTING_INDEX_IMG_QUALITY], str);
int ret = exact ? SCANNER_ERR_OK : SCANNER_ERR_NOT_EXACT;
HG_VLOG_MINI_3(LOG_LEVEL_DEBUG_INFO, "Change quality from '%s' to '%s' = %s\n", is_img_quality(is_quality_).c_str()
, (char*)data, hg_scanner::strerr((scanner_err)ret).c_str());
@ -1571,7 +1569,11 @@ int hg_scanner::setting_img_quality(void *data)
return SCANNER_ERR_OK;
}
int hg_scanner::setting_color_fill(void *data)
{
is_color_fill = *((bool *)data);
return SCANNER_ERR_OK;
}
int hg_scanner::on_color_mode_changed(int& color_mode)
{
return SCANNER_ERR_OK;
@ -1950,6 +1952,7 @@ int hg_scanner::set_setting(int setting_no, void* data, int len)
, &hg_scanner::setting_filling_background
, &hg_scanner::setting_is_permeate
, &hg_scanner::setting_is_permeate_lv
, &hg_scanner::setting_color_fill
, &hg_scanner::setting_remove_morr
, &hg_scanner::setting_error_extention
, &hg_scanner::setting_remove_texture
@ -1962,7 +1965,7 @@ int hg_scanner::set_setting(int setting_no, void* data, int len)
, &hg_scanner::setting_fractate_check
, &hg_scanner::setting_fractate_check_level
, &hg_scanner::setting_skew_check
, &hg_scanner::setting_skew_check_level
, &hg_scanner::setting_skew_check_level
};
bool hit = false;

View File

@ -53,7 +53,7 @@ enum
HG_BASE_SETTING_INDEX_SPLIT, // 图像拆分
HG_BASE_SETTING_INDEX_AUTO_CORRECT, // 自动纠偏
HG_BASE_SETTING_INDEX_RID_HOLE, // 穿孔移除
HG_BASE_SETTING_INDEX_RID_HOLE_RANGE, // 穿孔搜索范围
HG_BASE_SETTING_INDEX_RID_HOLE_RANGE, // 穿孔搜索范围
HG_BASE_SETTING_INDEX_IS_CUSTOM_GAMMA, // 是否启用自定义伽玛
HG_BASE_SETTING_INDEX_BRIGHT, // 亮度
HG_BASE_SETTING_INDEX_CONTRAST, // 对比度
@ -67,7 +67,8 @@ enum
HG_BASE_SETTING_INDEX_MARGIN, // 边缘缩进
HG_BASE_SETTING_INDEX_FILL_BACKGROUND, // 背景填充方式
HG_BASE_SETTING_INDEX_PERMEATE, // 防止渗透
HG_BASE_SETTING_INDEX_PERMEATE_LV, // 防止渗透等级
HG_BASE_SETTING_INDEX_PERMEATE_LV, // 防止渗透等级
HG_BASE_SETTING_INDEX_COLOR_FILL, // 色彩填充
HG_BASE_SETTING_INDEX_REMOVE_MORR, // 去除摩尔纹
HG_BASE_SETTING_INDEX_ERROR_EXTENTION, // 错误扩散
HG_BASE_SETTING_INDEX_REMOVE_TXTTURE, // 除网纹
@ -189,6 +190,7 @@ protected:
int setting_custom_area_right(void* data);
int setting_custom_area_bottom(void* data);
int setting_img_quality(void *data);
int setting_color_fill(void *data);
virtual int on_color_mode_changed(int& color_mode); // COLOR_MODE_xxx
@ -239,7 +241,8 @@ protected:
int fractate_level_; // 折角检测复杂度
int scan_count_; // 扫描张数各实例化类在重载set_setting_value中如果发现该设置项对该参数有影响时需要对此值作更改
bool is_auto_matic_color;// 自动颜色识别
int is_quality_; //画质设置
int is_quality_; // 画质设置
bool is_color_fill; // 色彩填充
SCANCONF img_conf_; //此参数外部不做任何改变请在writedown_image_configuration做修改
std::string img_type_;
@ -348,7 +351,7 @@ public:
};
#ifdef OEM_HANWANG
static const std::string helpfile_ ="/opt/apps/com.hanvonchina.hanvonscan/entries/help/HanVonScan_App_Help_manual.pdf";//帮助文档路径
static const std::string helpfile_ ="/opt/apps/com.hanvonchina.hanvonscan/entries/help/HanvonScan_scanSettings_Help_manual.pdf";//帮助文档路径
#else
static const std::string helpfile_ ="/opt/apps/com.huagaochina.huagoscan/entries/help/HuaGoScan_App_Help_manual.pdf";//帮助文档路径
static const std::string helpfile_ ="/opt/apps/com.huagaochina.huagoscan/entries/help/HuaGoScan_scanSettings_Help_manual.pdf";//帮助文档路径
#endif

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long