Qt:空透明QImage有噪音

tim*_*b89 3 qt jambi qimage

我正在尝试将一些屏幕外渲染到QImage上(没有什么特别的,只是一些合成的缩略图)并且遇到了一个问题,即使是新的,据说空白的QImages也有一些相当严重的噪音:

截图

重现的代码非常简单:

QImage image = new QImage(
        (int) b.width(), (int) b.height(),
        QImage.Format.Format_ARGB32);
painter.drawImage(0, 0, image);
Run Code Online (Sandbox Code Playgroud)

(b只是QRectF包含我正在绘制的QGraphicsItem的边界)

填写新图像似乎没有任何影响:

QPainter p = new QPainter(image);
p.fillRect(b, QColor.transparent);
p.end();
Run Code Online (Sandbox Code Playgroud)

用任何纯色填充它(例如白色)可以消除噪音,但不幸的是我需要这个特定的图像是透明的.有没有办法消除噪音?

我正在使用Qt Jambi(4.7.1-beta),虽然我不认为这会产生巨大的影响.

Arn*_*nce 7

来自以下文档QImage::QImage(int width, int height, Format format):

警告:这将创建一个包含未初始化数据的QImage.在使用QPainter绘制图像之前,调用fill()以使用适当的像素值填充图像.

所以QImage::fill(uint pixelValue)在构建之后调用你的图像.