作为更大项目的一部分,我试图在QPixmap上绘制基本形状,但生成的图像总是显得模糊,即。圆圈不是纯红色圆圈,边缘模糊,颜色不是预期的红色。这将成为我需要图像的问题。这是相关的代码段,我已经使用了抗锯齿选项和渲染提示,但我没有任何运气。任何帮助将不胜感激!
gdb
我已经被要求包含一张图片来显示问题,这里的图像非常接近,显示绿线不是真绿色,红色圆圈不是真红色,边缘模糊。
答案 0 :(得分:3)
使用红色时出现的问题是,当保存为JPG格式时,Qt默认使用色度颜色子采样(2x2块)。 避免此问题的唯一方法是使用其他格式。使用 PNG 格式保存相同的图像会返回纯红色圆圈(255,0,0)。
关于模糊圆圈,因为QPainter::Antialiasing
RenderHint 而发生。在您的情况下,不使用任何 renderHints 会显示清晰的图像。您可以在下面看到纯红色(PNG格式)和锐边(不是 RenderHints )的图像。考虑到最模糊的方法将使用QPainter::Antialiasing
,因此如果您的目标是锐化图像,请避免使用它。根据您的需要,您可以尝试QPainter::HighQualityAntialiasing
RenderHint,但不能尝试。