在QImage中使像素透明

3
我遇到了一个问题,需要在Qt中将图像的某一部分设置为透明。下面是我的代码:
QImage myImage;
myImage.load("clouds.jpg");
cout << myImage.pixel(1,1) << endl;
for(int i = 0; i < 100; i++)
    for(int y = 0; y < 100; y++)
         myImage.setPixel(i,y,qRgba(0, 0, 0, 0));

但我仍然能看到图片,但是图片上有一个黑色矩形,不透明。 有人可以帮帮我吗?

避免使用setPixel,它非常慢。按照文档建议使用QImage::scanLine()。 - UmNyobe
1个回答

2

可能该图片格式不支持透明度。

建议在加载后添加以下代码:

myImage = myImage.convertToFormat(QImage::Format_ARGB32);


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