> 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

Reply via email to