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

3

我正在使用格式为_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。即使我保存了图像,我也无法获得透明度。我该如何解决这个问题?


你能展示一下加载图像和设置格式的代码吗? - thuga
1个回答

3
确保图像格式支持透明度。也许你需要先调用:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接