gpt4 book ai didi

windows - QImage抖动质量

转载 作者:可可西里 更新时间:2023-11-01 09:59:25 25 4
gpt4 key购买 nike

我们目前正在使用商业库在 Windows 上进行图像渲染。当显示尺寸小于图像原始尺寸的单色图像时,该库会对图像进行灰度化处理,以便仍然可以识别其中的大部分图像:

enter image description here

现在我对 Qt 4.8 应用程序进行了同样的尝试。基本上所做的就是调用:

QImage mImage;
...
mImage.load(...);
...
painter.drawImage(paintRect, mImage, mImage.rect());

其中 paintRect 小于 mImage.rect()。这很好用,但输出不太令人满意:

enter image description here

我尝试了几个 renderHints(QPainter::SmoothPixmapTransform、Antialiasing、HighQualityAntialiasing)并使用

mImage = mImage.convertToFormat(QImage::Format_RGB32);

QPainter::SmoothPixmapTransform 似乎稍微改进了输出(包括在屏幕截图中)。所有其他事情似乎都没有改变。

我错过了什么吗?

如何改进缩小尺寸的图像显示?

最佳答案

有可能是在

painter.drawImage(paintRect, mImage, mImage.rect()); 

当尺寸不同时,画家只是在初始图像中插入哪个像素。这将解释第二张图片。

使用缩放手册

QImage todraw = mImage.scaled(
paintRect.size(),
Qt::IgnoreAspectRatio,
Qt::SmoothTransformation);
...
painter.drawImage(paintRect, todraw, mImage.rect());

您仅在调整大小事件时计算图像todraw(以避免缩放每个绘制事件)然后你将它与画家一起使用。

关于windows - QImage抖动质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21857178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com