如何保存透明的QImage?

How to save a QImage with transparency?

我想创建一个透明的 PNG 图片。

QImage image(dim, dim, QImage;;Format_ARGB32);

然后我设置了

qRgba(qRed, qGreen, qBlue, alpha)

但是alpha通道并没有修改颜色的transparency/opacity,而是修改了强度颜色(从白色到彩色)。

因此,如何设置 QImage(我保存在文件中)的透明度?

我必须使用QImage,没有其他东西。

您希望如何看到透明度? Windows 和 Linux 中的照片查看器等普通图像查看器正在 白色 canvas 上绘制图像。这就是透明像素与白色混合的原因。看看下面的图片:

白色背景,圆上不透明:

白色背景上不透明度为 50% 的同一个圆圈:

网格背景上的透明圆圈:

这就是为什么像 Photoshop 这样的高级图像编辑器使用 canvas 作为它们的默认背景。