This commit is contained in:
parent
50ac4f6cdf
commit
d03c04a10b
|
@ -1371,72 +1371,68 @@ void hg_settingdialog::slot_cutButtonClicked()
|
|||
|
||||
void hg_settingdialog::slot_gammaButtonClicked()
|
||||
{
|
||||
setPicClrTool dlg(this);
|
||||
|
||||
int colorMode; // 0-彩色, 1-灰度
|
||||
int colorMode = 0; // 0-彩色, 1-灰度
|
||||
if (m_colorModeValue.toStdString() == OPTION_VALUE_YSMS_256JHD
|
||||
|| m_colorModeValue.toStdString() == OPTION_VALUE_YSMS_HB)
|
||||
{
|
||||
colorMode = 1;
|
||||
|
||||
QList<QPoint> keyTable;
|
||||
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];
|
||||
keyTable.append(QPoint(x, y));
|
||||
}
|
||||
|
||||
if (!keyTable.empty())
|
||||
{
|
||||
dlg.setGrayKeyTable(keyTable);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
setPicClrTool dlg(colorMode, this);
|
||||
|
||||
QList<QPoint> grayKeyTable;
|
||||
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GRAY]; ++i)
|
||||
{
|
||||
colorMode = 0;
|
||||
uchar x = m_gammaData.pt_gray[i];
|
||||
uchar y = m_gammaData.table[256 * GAMMA_INDEX_GRAY + x];
|
||||
grayKeyTable.append(QPoint(x, y));
|
||||
}
|
||||
|
||||
QList<QPoint> keyTable;
|
||||
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];
|
||||
keyTable.append(QPoint(x, y));
|
||||
}
|
||||
if (!grayKeyTable.empty())
|
||||
{
|
||||
dlg.setGrayKeyTable(grayKeyTable);
|
||||
}
|
||||
|
||||
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> 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> 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> 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> 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> 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));
|
||||
}
|
||||
|
||||
QVector<QList<QPoint>> keyTableList;
|
||||
if (!keyTable.empty() && !rKeyTable.empty() && !gKeyTable.empty() && !bKeyTable.empty())
|
||||
{
|
||||
keyTableList.append(keyTable);
|
||||
keyTableList.append(rKeyTable);
|
||||
keyTableList.append(gKeyTable);
|
||||
keyTableList.append(bKeyTable);
|
||||
dlg.setRGBKeyTable(keyTableList);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
int rgbTypeIndex = 0;
|
||||
|
@ -1445,8 +1441,6 @@ void hg_settingdialog::slot_gammaButtonClicked()
|
|||
colorTypeIndex = (m_gammaData.app_data & 0xF0) >> 4;
|
||||
|
||||
dlg.setRgbAndColorType(rgbTypeIndex, colorTypeIndex);
|
||||
|
||||
dlg.setColorMode(colorMode);
|
||||
if (dlg.exec())
|
||||
{
|
||||
memset(&m_gammaData, 0, sizeof(m_gammaData));
|
||||
|
|
|
@ -4,9 +4,10 @@
|
|||
#include <QDebug>
|
||||
#include <QVariant>
|
||||
|
||||
setPicClrTool::setPicClrTool(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::setPicClrTool)
|
||||
setPicClrTool::setPicClrTool(int colorMode, QWidget *parent)
|
||||
: QDialog(parent)
|
||||
, ui(new Ui::setPicClrTool)
|
||||
, m_colorMode(colorMode)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
||||
|
@ -19,6 +20,21 @@ setPicClrTool::setPicClrTool(QWidget *parent) :
|
|||
connect(ui->widget,SIGNAL(mouseCoordSig(QPoint)),this,SLOT(mouseCoordSlot(QPoint)));
|
||||
connect(ui->widget,SIGNAL(dragPointChecked(bool)),this,SLOT(lineEditEnable(bool)));
|
||||
connect(ui->widget,SIGNAL(lineChangeSig()),this,SLOT(lineChangeSlot()));
|
||||
|
||||
QVariant v(6);
|
||||
if(colorMode == 0)
|
||||
{
|
||||
ui->colorSetCmb->setItemData(1,v,Qt::UserRole - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->comboBox->setItemData(2,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(0,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(2,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(3,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(4,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setCurrentIndex(1);
|
||||
}
|
||||
}
|
||||
|
||||
setPicClrTool::~setPicClrTool()
|
||||
|
@ -56,24 +72,6 @@ void setPicClrTool::getRGBTable(uchar *table, size_t length)
|
|||
}
|
||||
}
|
||||
|
||||
void setPicClrTool::setColorMode(int colorMode)
|
||||
{
|
||||
QVariant v(6);
|
||||
if(colorMode == 0)
|
||||
{
|
||||
ui->colorSetCmb->setItemData(1,v,Qt::UserRole - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->comboBox->setItemData(2,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(0,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(2,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(3,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setItemData(4,v,Qt::UserRole - 1);
|
||||
ui->colorSetCmb->setCurrentIndex(1);
|
||||
}
|
||||
}
|
||||
|
||||
QVector<QList<QPoint> > setPicClrTool::getRGBKeyTable()
|
||||
{
|
||||
QVector<QList<QPoint>> plv;
|
||||
|
@ -113,8 +111,17 @@ QVector<int> setPicClrTool::getRgbAndColorType()
|
|||
|
||||
void setPicClrTool::setRgbAndColorType(int rgbTypeIndex, int colorTypeIndex)
|
||||
{
|
||||
ui->comboBox->setCurrentIndex(rgbTypeIndex);
|
||||
ui->colorSetCmb->setCurrentIndex(colorTypeIndex);
|
||||
if (0 == m_colorMode)
|
||||
{
|
||||
ui->comboBox->setCurrentIndex(rgbTypeIndex);
|
||||
if (1 != colorTypeIndex)
|
||||
ui->colorSetCmb->setCurrentIndex(colorTypeIndex);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (2 != rgbTypeIndex)
|
||||
ui->comboBox->setCurrentIndex(rgbTypeIndex);
|
||||
}
|
||||
}
|
||||
|
||||
QVector<int> setPicClrTool::getRgbALLPoint()
|
||||
|
|
|
@ -13,14 +13,12 @@ class setPicClrTool : public QDialog
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit setPicClrTool(QWidget *parent = nullptr);
|
||||
explicit setPicClrTool(int colorMode, QWidget *parent = nullptr);
|
||||
~setPicClrTool();
|
||||
|
||||
void getGrayTable(uchar* table, size_t length = 256);
|
||||
void getRGBTable(uchar* table, size_t length = 1024);
|
||||
|
||||
void setColorMode(int colorMode);
|
||||
|
||||
QVector<QList<QPoint>> getRGBKeyTable();
|
||||
void setRGBKeyTable(QVector<QList<QPoint>>& plv);
|
||||
QList<QPoint> getGrayKeyTable();
|
||||
|
@ -68,6 +66,7 @@ private slots:
|
|||
|
||||
private:
|
||||
Ui::setPicClrTool *ui;
|
||||
int m_colorMode;
|
||||
QList<QPoint> linePoint;
|
||||
QList<QPoint> greenLine;
|
||||
QList<QPoint> redLine;
|
||||
|
|
Loading…
Reference in New Issue