如何保存具有透明度的 QImage?

问题描述

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

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

然后我设置了

qRgba(qRed,qGreen,qBlue,alpha)

但是 alpha 通道不会修改颜色的透明度/不透明度,而是修改强度颜色(从白色到彩色)。

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

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

解决方法

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

白色背景,圆圈上没有透明度:

White background with no transparency on the circle

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

enter image description here

网格背景上具有透明度的圆圈:

enter image description here

这就是像 Photoshop 这样的高级图像编辑器使用这样的画布作为默认背景的原因。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...