This commit is contained in:
luoliangyi 2024-05-07 16:31:49 +08:00
parent 24e7e35c4b
commit 6d8ad59cbd
1 changed files with 30 additions and 20 deletions

View File

@ -1125,36 +1125,46 @@ void Form_DeviceConfig::on_customGammaBtn_clicked()
return;
}
int colorMode = 0; // 0-彩色, 1-灰度
std::string colorMode = from_default_language(OPTION_VALUE_YSMS_24WCS);
bool isMultiOut = false;
std::string multiOutType = from_default_language(OPTION_VALUE_DLSCLX_CS_HD_HB);
for (int i = 0; i < (int)m_deviceConfigsGroups.size(); ++i)
{
for (int j = 0; j < (int)m_deviceConfigsGroups[i].deviceConfigs.size(); ++j)
{
const DeviceConfigEx &deviceConfigEx = m_deviceConfigsGroups[i].deviceConfigs[j];
if (deviceConfigEx.name == SANE_STD_OPT_NAME_COLOR_MODE
&& (deviceConfigEx.stringValue == from_default_language(OPTION_VALUE_YSMS_256JHD)
|| deviceConfigEx.stringValue == from_default_language(OPTION_VALUE_YSMS_HB)))
{
colorMode = 1;
break;
}
else if (deviceConfigEx.name == SANE_STD_OPT_NAME_MULTI_OUT_TYPE
&& deviceConfigEx.stringValue == from_default_language(OPTION_VALUE_DLSCLX_HD_HB))
{
colorMode = 1;
break;
}
if (deviceConfigEx.name == SANE_STD_OPT_NAME_COLOR_MODE)
colorMode = deviceConfigEx.stringValue;
else if (deviceConfigEx.name == SANE_STD_OPT_NAME_IS_MULTI_OUT)
isMultiOut = deviceConfigEx.boolValue;
else if (deviceConfigEx.name == SANE_STD_OPT_NAME_MULTI_OUT_TYPE)
multiOutType = deviceConfigEx.stringValue;
}
}
if (0 != colorMode)
break;
int clrMode = 0; // 0-彩色, 1-灰度
if (!isMultiOut)
{
if (colorMode == from_default_language(OPTION_VALUE_YSMS_256JHD)
|| colorMode == from_default_language(OPTION_VALUE_YSMS_HB))
{
clrMode = 1;
}
}
else
{
if (multiOutType == from_default_language(OPTION_VALUE_DLSCLX_HD_HB))
{
clrMode = 1;
}
}
assert(nullptr == m_clrToolDlg);
m_clrToolDlg = new setPicClrTool(colorMode, this);
m_clrToolDlg = new setPicClrTool(clrMode, this);
if (1 == colorMode)
if (1 == clrMode)
{
QList<QPoint> grayKeyTable;
for (int i = 0; i < gammaData->count[GAMMA_INDEX_GRAY]; ++i)
@ -1169,7 +1179,7 @@ void Form_DeviceConfig::on_customGammaBtn_clicked()
m_clrToolDlg->setGrayKeyTable(grayKeyTable);
}
}
else if (0 == colorMode)
else if (0 == clrMode)
{
QList<QPoint> colorKeyTable;
for (int i = 0; i < gammaData->count[GAMMA_INDEX_COLOR]; ++i)
@ -1222,7 +1232,7 @@ void Form_DeviceConfig::on_customGammaBtn_clicked()
m_clrToolDlg->setRgbAndColorType(rgbTypeIndex, colorTypeIndex);
if (m_clrToolDlg->exec())
{
if (1 == colorMode)
if (1 == clrMode)
{
QList<QPoint> keyTable = m_clrToolDlg->getGrayKeyTable();