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