#include "contrastdialog.h" #include void ContrastDialog::calcCurve() { std::valarray curve; curve.resize(256); QPoint p1(0,0 + brightnessSlider->value() - contrastSlider->value()); QPoint p2(256,256 + brightnessSlider->value() + contrastSlider->value()); double m = (p1.y() - p2.y()) / (double)(p1.x() - p2.x()); for (int i = 0; i < 256; ++i) { curve[i] = QMIN(255, QMAX(0, int(i * m) + p1.y())); } emit curveChanged(curve); } void ContrastDialog::showEvent(QShowEvent*) { brightnessSlider->setValue(0); contrastSlider->setValue(0); }