void ShearTool::prepareFinal() { float hAngle = d->mainHAngleInput->value() + d->fineHAngleInput->value(); float vAngle = d->mainVAngleInput->value() + d->fineVAngleInput->value(); bool antialiasing = d->antialiasInput->isChecked(); QColor background = Qt::black; ImageIface iface; int orgW = iface.originalSize().width(); int orgH = iface.originalSize().height(); DImg* const orgImage = iface.original(); setFilter(new ShearFilter(orgImage, this, hAngle, vAngle, antialiasing, background, orgW, orgH)); }
void ContentAwareResizeTool::prepareFinal() { if (d->prevW != d->wInput->value() || d->prevH != d->hInput->value() || d->prevWP != d->wpInput->value() || d->prevHP != d->hpInput->value()) { slotValuesChanged(); } disableSettings(); ImageIface iface; QImage mask; if (d->mixedRescaleInput->value() < 100.0) // mixed rescale { double stdRescaleP = (100.0 - d->mixedRescaleInput->value()) / 100.0; int diff_w = (int)(stdRescaleP * (iface.originalSize().width() - d->wInput->value())); int diff_h = (int)(stdRescaleP * (iface.originalSize().height() - d->hInput->value())); DImg image = iface.original()->smoothScale(iface.originalSize().width() - diff_w, iface.originalSize().height() - diff_h, Qt::IgnoreAspectRatio); if (d->weightMaskBox->isChecked()) { mask = d->previewWidget->getMask().scaled(iface.originalSize().width() - diff_w, iface.originalSize().height() - diff_h); } contentAwareResizeCore(&image, d->wInput->value(), d->hInput->value(), mask); } else { if (d->weightMaskBox->isChecked()) { mask = d->previewWidget->getMask().scaled(iface.originalSize()); } contentAwareResizeCore(iface.original(), d->wInput->value(), d->hInput->value(), mask); } }