ich bin endlich wieder einmal dazu gekommen mit Qt meinen Photo-Gallerie-Generator zu bauen.
Habe da eine Frage: Ich picke aus einem QImage ein gedrehtes Rechteck heraus, dass ich dann als Bild in einem anderen Größenformat speichern möchte.
Drehen und Herauspicken geht sehr gut mit rotImg = QPainter::transformed(...)
In das Zielbild kopiere ich nun den Ausschnitt mit QPainter::drawImage(myCutOut...) - vereinfacht geschrieben.
Leider ist die Qualität des Ergebnisses nicht ausreichend - es sind Stufen im kleingeschrupften Thumbnail -Zielbild zu sehen.
Hier das Snippet:
Code: Alles auswählen
// Create empty image and a painter
QImage dstImg(fmtDef.outerSize(), QImage::Format_RGB32);
QPainter painter(&dstImg);
painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
// fill it with the padding color
QColor padColor("#"+FMTVAR("PADCOLOR"));
painter.fillRect(fmtDef.outerRect, padColor);
// main job: resize source rotated image cout-out
painter.drawImage(
fmtDef.innerRect,
rotImg,
rotRect);
// Oooops sieht net doll aus bei innerRect = (x, y, 128, 128) und outerRect = (x, y, 2000, 1000)
Die Frage: ist das drawImage-Resizing schlechter als eine Transformation mit QTransform?
Habe letztes Jahr Tips von franzf bekommen - besten Dank, siehe
http://www.qtforum.de/forum/viewtopic.p ... mek#p57374