我正在将QPainterPath
与文本放在一起,然后绘制,首先是QPainter::strokePath
,然后是QPainter::fillPath
。但是,该笔画显示了伪影,如图中所示。我做错了/如何防止这种情况?我应该将其报告为错误吗?
答案 0 :(得分:0)
我发现,以下代码不使用strokePath
和fillPath
,而不会产生伪像,并且渲染速度更快:
if(outlineEnabled) {
p.setBrush(Qt::NoBrush);
p.setPen(QPen(outlineColor, outlineWidth/scaleFactor, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
for(const auto &polygon : path.toSubpathPolygons())
p.drawPolygon(polygon, Qt::OddEvenFill);
}
p.setBrush(color);
p.setPen(Qt::NoPen);
for(const auto &polygon : path.toFillPolygons())
p.drawPolygon(polygon, Qt::OddEvenFill);