在Qt的QGraphicsScene
中使用抗锯齿渲染时,会出现使图形显示不符合预期的行为:重叠线变暗。我在文档中看不到这种行为的任何描述,我找不到禁用它的方法。
例如,如果我想绘制这样的多边形:
由于点的数量,不可能没有重叠的线 - 很好。但由于反锯齿已激活,因此某些边框看起来比其他边框“更厚”。
有没有办法避免这种情况,并且有抗锯齿线可以重叠但同时渲染而不会变暗?
我当然知道我可以重新定义paint()
函数并手动绘制不重叠的单个行,但这是我想要避免的。我正在使用Pyside,由于调用paint()
的频率很高,这会大大减慢应用程序的速度。
编辑通过使用QPainterPath
/ QGraphicsPathItem
而不是QPolygon
/ QGraphicsPolygonItem
定义对象形状来修复。在这种情况下,moveTo
函数允许避免重叠的行。
答案 0 :(得分:0)
您可以尝试的另一件事是在坐标(不是尺寸)上添加半个像素。这为我解决了抗锯齿问题。
XCoord = int(XValue) + 0.5
YCoord = int(XValue) + 0.5
另外请确保在此之前您有整数像素值。