解决色调曲线灰度和彩色分别保存异常的问题
This commit is contained in:
parent
c145842d92
commit
72758246f5
|
@ -1397,59 +1397,64 @@ void hg_settingdialog::slot_gammaButtonClicked()
|
|||
|
||||
setPicClrTool dlg(colorMode, this);
|
||||
|
||||
QList<QPoint> grayKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GRAY]; ++i)
|
||||
if (1 == colorMode)
|
||||
{
|
||||
uchar x = m_gammaData.pt_gray[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_GRAY + x];
|
||||
grayKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
QList<QPoint> grayKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GRAY]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_gray[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_GRAY + x];
|
||||
grayKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
|
||||
if (!grayKeyTable.empty())
|
||||
{
|
||||
dlg.setGrayKeyTable(grayKeyTable);
|
||||
if (!grayKeyTable.empty())
|
||||
{
|
||||
dlg.setGrayKeyTable(grayKeyTable);
|
||||
}
|
||||
}
|
||||
|
||||
QList<QPoint> colorKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_COLOR]; ++i)
|
||||
else if (0 == colorMode)
|
||||
{
|
||||
uchar x = m_gammaData.pt_color[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_COLOR + x];
|
||||
colorKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
QList<QPoint> colorKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_COLOR]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_color[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_COLOR + x];
|
||||
colorKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
|
||||
QList<QPoint> rKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_RED]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_red[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_RED + x];
|
||||
rKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
QList<QPoint> rKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_RED]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_red[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_RED + x];
|
||||
rKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
|
||||
QList<QPoint> gKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GREEN]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_green[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_GREEN + x];
|
||||
gKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
QList<QPoint> gKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GREEN]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_green[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_GREEN + x];
|
||||
gKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
|
||||
QList<QPoint> bKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_BLUE]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_blue[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_BLUE + x];
|
||||
bKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
QList<QPoint> bKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_BLUE]; ++i)
|
||||
{
|
||||
uchar x = m_gammaData.pt_blue[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_BLUE + x];
|
||||
bKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
|
||||
QVector<QList<QPoint>> keyTableList;
|
||||
if (!colorKeyTable.empty() && !rKeyTable.empty() && !gKeyTable.empty() && !bKeyTable.empty())
|
||||
{
|
||||
keyTableList.append(colorKeyTable);
|
||||
keyTableList.append(rKeyTable);
|
||||
keyTableList.append(gKeyTable);
|
||||
keyTableList.append(bKeyTable);
|
||||
dlg.setRGBKeyTable(keyTableList);
|
||||
QVector<QList<QPoint>> keyTableList;
|
||||
if (!colorKeyTable.empty() && !rKeyTable.empty() && !gKeyTable.empty() && !bKeyTable.empty())
|
||||
{
|
||||
keyTableList.append(colorKeyTable);
|
||||
keyTableList.append(rKeyTable);
|
||||
keyTableList.append(gKeyTable);
|
||||
keyTableList.append(bKeyTable);
|
||||
dlg.setRGBKeyTable(keyTableList);
|
||||
}
|
||||
}
|
||||
|
||||
int rgbTypeIndex = 0;
|
||||
|
@ -1460,7 +1465,6 @@ void hg_settingdialog::slot_gammaButtonClicked()
|
|||
dlg.setRgbAndColorType(rgbTypeIndex, colorTypeIndex);
|
||||
if (dlg.exec())
|
||||
{
|
||||
memset(&m_gammaData, 0, sizeof(m_gammaData));
|
||||
clicked_gamma_ = true;
|
||||
|
||||
if (1 == colorMode)
|
||||
|
|
Loading…
Reference in New Issue