Qt的QGraphicsScene中的抗锯齿使重叠线变暗

时间:2013-03-04 21:21:45

标签: qt pyside

在Qt的QGraphicsScene中使用抗锯齿渲染时,会出现使图形显示不符合预期的行为:重叠线变暗。我在文档中看不到这种行为的任何描述,我找不到禁用它的方法。

例如,如果我想绘制这样的多边形:

Polygon

由于点的数量,不可能没有重叠的线 - 很好。但由于反锯齿已激活,因此某些边框看起来比其他边框“更厚”。

有没有办法避免这种情况,并且有抗锯齿线可以重叠但同时渲染而不会变暗?

我当然知道我可以重新定义paint()函数并手动绘制不重叠的单个行,但这是我想要避免的。我正在使用Pyside,由于调用paint()的频率很高,这会大大减慢应用程序的速度。

编辑通过使用QPainterPath / QGraphicsPathItem而不是QPolygon / QGraphicsPolygonItem定义对象形状来修复。在这种情况下,moveTo函数允许避免重叠的行。

1 个答案:

答案 0 :(得分:0)

您可以尝试的另一件事是在坐标(不是尺寸)上添加半个像素。这为我解决了抗锯齿问题。

XCoord = int(XValue) + 0.5
YCoord = int(XValue) + 0.5

另外请确保在此之前您有整数像素值。