gpt4 book ai didi

qt - QPainter - 绘制带有多个孔的多边形

转载 作者:行者123 更新时间:2023-12-04 10:14:21 30 4
gpt4 key购买 nike

我正在尝试使用 QPainter(QT5.8,win64)绘制一个带有多个孔的多边形。我正在使用以下代码:

QPainter pm(&image);
QPen p(Qt::gray, 2);
p.setCosmetic(true);
pm.setPen(p);
pm.setBrush(QBrush(color));

QPainterPath pap;

pap.addPolygon(pObject->getOuterGeometryPolyF());

for (int i = 0; i < (int)pObject->m_InnerGeometry.size(); i++)
{
QPainterPath papInner;
papInner.addPolygon(pObject->getInnerGeometryPolyF(i));
pap = pap.subtracted(papInner);
}

pm.drawPath(pap);

但它只会显示一个洞(见图):

enter image description here

有人可以为我提供一个示例,说明如何绘制带有多个孔的多边形吗?文档在这一点上不清楚。

最佳答案

我会回答我自己的问题...

这一切都取决于多边形的旋转顺序(顺时针或逆时针)。
孔应该具有与外部多边形相反的旋转顺序,以使其完美工作。

因此,例如外部多边形 = 顺时针,内部多边形应具有逆时针顺序。如果不是这种情况,请颠倒顺序。

关于qt - QPainter - 绘制带有多个孔的多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61152513/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com