在QImage中设置每个像素的alpha通道

时间:2013-06-04 06:08:55

标签: qt pixel alpha qimage

我正在使用格式为_ARGB32的QImage。我必须将一些像素设置为透明,一些像素设置为不透明。所以,我使用了这一行:

Image.setPixel(x,y,QColor(r,g,b,0).rgba());

将像素设置为透明。我甚至试过这个:

Image.setPixel(x,y,qRgba(r,g,b,0));

仍然没有任何反应。只需在设置之后,当我再次打印像素时,使用:

qDebug() << "Color : " << QColor::fromRgba(Image.pixel(x,y));

我总是将alpha通道的值设为1。 即使我保存图像,我也没有获得透明度。我如何解决它?

1 个答案:

答案 0 :(得分:3)

确保图像格式支持透明度。也许首先你需要打电话

Image = Image.convertToFormat(QImage::Format_ARGB32); // or maybe other format