Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt:空透明QImage有杂音_Qt_Qimage_Jambi - Fatal编程技术网

Qt:空透明QImage有杂音

Qt:空透明QImage有杂音,qt,qimage,jambi,Qt,Qimage,Jambi,我正在尝试在QImage上进行一些屏幕外渲染(没有什么特别的,只是一些合成的缩略图),但遇到了一个问题,即即使是新的和假定为空白的QImage也有一些相当严重的噪音: 要复制的代码相当简单: QImage image = new QImage( (int) b.width(), (int) b.height(), QImage.Format.Format_ARGB32); painter.drawImage(0, 0, image); (b只是一个QRectF

我正在尝试在QImage上进行一些屏幕外渲染(没有什么特别的,只是一些合成的缩略图),但遇到了一个问题,即即使是新的和假定为空白的QImage也有一些相当严重的噪音:

要复制的代码相当简单:

QImage image = new QImage(
        (int) b.width(), (int) b.height(),
        QImage.Format.Format_ARGB32);
painter.drawImage(0, 0, image);
b
只是一个
QRectF
包含我正在绘制的QGraphicsItem的边界)

填充新图像似乎没有任何效果:

QPainter p = new QPainter(image);
p.fillRect(b, QColor.transparent);
p.end();
填充任何纯色(例如白色)都可以去除噪声,但不幸的是,我需要这个特定的图像是透明的。有没有办法消除噪音

我正在使用Qt-Jambi(4.7.1-beta),但我认为这不会有太大的区别。

来自以下文档:

警告:这将创建具有未初始化数据的QImage。呼叫 fill()在开始之前使用适当的像素值填充图像 使用QPainter在其上绘制


因此,在构建图像后,在图像上调用
QImage::fill(uint pixelValue)

作为后续操作,如果您想保持图像透明,可以使用
image.fill(qRgba(0,0,0,0))填充图像