调整部分的切换颜色流程
This commit is contained in:
parent
e6f00313aa
commit
ca2e83e14c
|
@ -857,6 +857,16 @@ void hg_scanner::reset_custom_area_range(int paper)
|
|||
}
|
||||
}
|
||||
|
||||
int hg_scanner::set_color_change(void)
|
||||
{
|
||||
// if (/* condition */)
|
||||
// {
|
||||
// /* code */
|
||||
// }
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
|
||||
int hg_scanner::setting_restore(void* data)
|
||||
{
|
||||
// restore ...
|
||||
|
@ -942,12 +952,18 @@ int hg_scanner::setting_multi_out(void *data)
|
|||
{
|
||||
is_multiout = *((bool*)data);
|
||||
int val = image_prc_param_.bits.color_mode;
|
||||
|
||||
printf("val = %d\r\n",val);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "image_prc_param_.bits.multi_out %d ", image_prc_param_.bits.multi_out);
|
||||
|
||||
if (!is_multiout)
|
||||
on_color_mode_changed(val);
|
||||
|
||||
if (is_multiout)
|
||||
{
|
||||
if (image_prc_param_.bits.multi_out == MULTI_GRAY_AND_BW)
|
||||
val = COLOR_MODE_256_GRAY;
|
||||
else
|
||||
val = COLOR_MODE_24_BITS;
|
||||
}
|
||||
on_color_mode_changed(val);
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
int hg_scanner::setting_multi_out_type(void *data)
|
||||
|
@ -1544,6 +1560,40 @@ int hg_scanner::setting_color_fill(void *data)
|
|||
}
|
||||
int hg_scanner::on_color_mode_changed(int& color_mode)
|
||||
{
|
||||
int ret = SCANNER_ERR_OK;
|
||||
if ((((color_mode == COLOR_MODE_24_BITS || color_mode == COLOR_MODE_AUTO_MATCH) && !is_color_type_) ||
|
||||
((color_mode != COLOR_MODE_24_BITS && color_mode != COLOR_MODE_AUTO_MATCH) && is_color_type_)) && color_mode != -1)
|
||||
{
|
||||
is_color_type_ ^= 1;
|
||||
}
|
||||
if (image_prc_param_.bits.rid_color != RID_COLOR_NONE
|
||||
&&(image_prc_param_.bits.color_mode == COLOR_MODE_256_GRAY || image_prc_param_.bits.color_mode == COLOR_MODE_BLACK_WHITE)
|
||||
)
|
||||
{
|
||||
is_color_type_ = 1;
|
||||
}
|
||||
if(image_prc_param_.bits.rid_color != RID_COLOR_NONE
|
||||
&& (image_prc_param_.bits.color_mode == COLOR_MODE_256_GRAY || image_prc_param_.bits.color_mode == COLOR_MODE_BLACK_WHITE)
|
||||
&& color_mode == -1)
|
||||
{
|
||||
is_color_type_ = 1;
|
||||
}
|
||||
else if (image_prc_param_.bits.rid_color == RID_COLOR_NONE
|
||||
&& (image_prc_param_.bits.color_mode == COLOR_MODE_256_GRAY || image_prc_param_.bits.color_mode == COLOR_MODE_BLACK_WHITE)
|
||||
&& color_mode == -1)
|
||||
{
|
||||
is_color_type_ = 0;
|
||||
}
|
||||
if (is_multiout)
|
||||
{
|
||||
is_color_type_ = 1;
|
||||
// if (/* condition */)
|
||||
// {
|
||||
// /* code */
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
int hg_scanner::on_paper_changed(int& paper)
|
||||
|
@ -2607,4 +2657,5 @@ int hg_scanner::set_scan_with_hole(void)
|
|||
int hg_scanner::get_scan_is_sleep(void)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -102,6 +102,7 @@ class hg_scanner
|
|||
std::string name_;
|
||||
std::string save_multiout; //保存多留输出类型
|
||||
bool save_sizecheck;
|
||||
int is_color_type_;//保存最后下发到设备的颜色类型
|
||||
sane_callback ui_ev_cb_;
|
||||
do_when_born_and_dead<hg_scanner>* scan_life_;
|
||||
|
||||
|
@ -125,6 +126,7 @@ class hg_scanner
|
|||
void working_done(void*);
|
||||
|
||||
void reset_custom_area_range(int paper);
|
||||
int set_color_change(void);
|
||||
|
||||
// 设置接口
|
||||
protected:
|
||||
|
|
|
@ -913,7 +913,7 @@ else
|
|||
ic.hsvcorrect = 0;
|
||||
ic.multi_output_red = 0;
|
||||
ic.multiOutput = MultiOutput::Unused;
|
||||
ic.fadeback = false;
|
||||
|
||||
}
|
||||
//多留输出的处理
|
||||
if (image_prc_param_.bits.multi_out == MULTI_GRAY_AND_BW && is_multiout)
|
||||
|
@ -923,7 +923,21 @@ else
|
|||
else if ((image_prc_param_.bits.multi_out == MULTI_OUT_ALL ||image_prc_param_.bits.multi_out == MULTI_COLOR_AND_GRAY||image_prc_param_.bits.multi_out == MULTI_COLOR_AND_BW) && is_multiout)
|
||||
{
|
||||
ic.pixtype = 2;
|
||||
|
||||
}
|
||||
if (is_multiout)
|
||||
{
|
||||
ic.hsvcorrect = 0;
|
||||
ic.multi_output_red = 0;
|
||||
ic.fadeback = false;
|
||||
ic.sharpen = 0;
|
||||
ic.removeMorr = 0;
|
||||
ic.textureRemove = 0;
|
||||
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
}
|
||||
|
||||
//自定义裁切
|
||||
if (image_prc_param_.bits.paper == PAPER_AUTO_MATCH
|
||||
||image_prc_param_.bits.paper == PAPER_MAX_SIZE
|
||||
|
|
|
@ -59,7 +59,7 @@ class hg_scanner_239 : public hg_scanner
|
|||
protected:
|
||||
virtual void init_setting_map(int* setting_map, int count) override;
|
||||
|
||||
virtual int on_color_mode_changed(int& color_mode) override;
|
||||
int on_color_mode_changed(int& color_mode) override;
|
||||
virtual int on_paper_changed(int& paper) override;
|
||||
virtual int on_paper_check_changed(bool& check) override;
|
||||
virtual int on_resolution_changed(int& dpi) override;
|
||||
|
|
Loading…
Reference in New Issue