我们目前在Windows上使用商业库进行图像渲染。当显示小于图像原始尺寸的单色图像时,该库会将图像转换为灰度,以便大部分图像仍然可以被识别:
现在我尝试在Qt 4.8应用程序中执行相同操作。基本上所做的是调用:
QImage mImage;
...
mImage.load(...);
...
painter.drawImage(paintRect, mImage, mImage.rect());
当paintRect小于mImage.rect()时,这个方法运行良好,但输出结果不够令人满意:
我尝试了几种renderHints(QPainter::SmoothPixmapTransform、Antialiasing、HighQualityAntialiasing),还使用以下方法转换了图像:
mImage = mImage.convertToFormat(QImage::Format_RGB32);
QPainter::SmoothPixmapTransform 似乎稍微改善了输出结果(在屏幕截图中包含)。其他所有的东西似乎都没有改变什么。
我有遗漏什么吗?
如何改善缩小尺寸后的图像显示质量?
QImage::scaled
预缩放图像吗? - UmNyobe