> Sent: Monday, May 07, 2018 at 4:41 PM > From: "Christoph Feck" <cf...@kde.org> > To: "Jason H" <jh...@gmx.com>, "interestqt-project.org" > <interest@qt-project.org> > Subject: Re: [Interest] QImage transformed() background color > > On 07.05.2018 21:56, Jason H wrote: > > I'm rotating some images by non-90 degree amounts, but when I do, the image > > gets filled with a color value (black) for pixels where there is no image > > data after rotation, but are in the output image, which causes a problem > > with later analysis because it trips edge detection. It would be nice to be > > able to control the fill color, or better yet, not have any fill as a > > result of the rotate, and just use want's in the image. Ideally, I'd like > > to pass it a fillColor (Qt::transparent) so that I can just look at the > > alpha channel and ignore pixels with a 0 alpha. How can I accomplish that > > if I can't select the color? > > > > I don't know that it's possible to select the rotated rectangle out and > > draw it on a transparent image with a QPainter? > > > > > > QImage rotate(const QImage &image, double degrees){ > > if (degrees > 0.01 || degrees < -0.01) { > > QTransform tx; > > QPoint center = image.rect().center(); > > tx.translate(center.x(), center.y()); > > tx.rotate(degrees); > > return image.transformed(tx, Qt::SmoothTransformation); > > } else { > > return image; > > } > > } > > The rotated image is filled with transparent pixels for ARGB images. You > can use QPainter compositing to paint that image on any colored > background (or on your original image).
Ah, so that implies that the image I am working on is not ARGB, just RGB... _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest