#include "widget_imgproc_sidebar.h" #include "ui_widget_imgproc_sidebar.h" #include #include #include "app_cfg.h" Widget_Imgproc_SideBar::Widget_Imgproc_SideBar(QWidget *parent) : QWidget(parent), ui(new Ui::Widget_Imgproc_SideBar) , m_curImage(NULL) { ui->setupUi(this); ui->pbtn_ok->setEnabled(false); connect(ui->slider_brightness, SIGNAL(valueChanged(int)), ui->spin_brightness, SLOT(setValue(int))); connect(ui->slider_contrast, SIGNAL(valueChanged(int)), ui->spin_contrast, SLOT(setValue(int))); } Widget_Imgproc_SideBar::~Widget_Imgproc_SideBar() { if (m_curImage != nullptr) { HGBase_DestroyImage(m_curImage); } delete ui; } void Widget_Imgproc_SideBar::setImage(HGImage image) { HGBase_DestroyImage(m_curImage); HGBase_CloneImage(image, 0, 0, &m_curImage); on_pbtn_restoreDefault_clicked(); } void Widget_Imgproc_SideBar::enableUI(bool enable) { ui->pbtn_ok->setEnabled(enable); } void Widget_Imgproc_SideBar::paintEvent(QPaintEvent *e) { (void)e; QPainter p(this); p.fillRect(0, 0, this->width(), this->height(), qRgb(240, 240, 240)); p.setPen(QColor("gray")); p.drawRect(0, 0, width() -1, height() -1); } void Widget_Imgproc_SideBar::on_spin_brightness_valueChanged(int arg1) { ui->slider_brightness->setValue(arg1); emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked()); } void Widget_Imgproc_SideBar::on_spin_contrast_valueChanged(int arg1) { ui->slider_contrast->setValue(arg1); emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked()); } void Widget_Imgproc_SideBar::on_dspin_gamma_valueChanged(double arg1) { ui->slider_gamma->setValue(static_cast(arg1 * 100)); emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked()); } void Widget_Imgproc_SideBar::on_slider_gamma_valueChanged(int value) { ui->dspin_gamma->setValue(static_cast(value / 100.0)); emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked()); } void Widget_Imgproc_SideBar::on_pbtn_restoreDefault_clicked() { ui->spin_brightness->setValue(0); ui->spin_contrast->setValue(0); ui->dspin_gamma->setValue(1.0); ui->checkBox_enhanceText->setChecked(false); } void Widget_Imgproc_SideBar::on_pbtn_ok_clicked() { emit finish(true); } void Widget_Imgproc_SideBar::on_pbtn_cancel_clicked() { on_pbtn_restoreDefault_clicked(); emit finish(false); } void Widget_Imgproc_SideBar::on_checkBox_enhanceText_toggled(bool checked) { emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked()); }