gpt4 book ai didi

c++ - 如何在 QPainterPath 中描边

转载 作者:行者123 更新时间:2023-11-28 06:44:10 27 4
gpt4 key购买 nike

使用 QPen 时抚摸QPainterPath , 它在线的中心这样做。我想做的是沿着线的内部 绘制路径。我已经看过类似的问题here但它没有提供明确的解决方案或示例。

如何描边 QPainterPath 线的内部

最佳答案

这是我能想到的最优雅的解决方案。

static QPolygonF shrinkPolygon(QPolygonF poly, qreal pixels)
{
QPolygonF new_polygon;
QSizeF size = poly.boundingRect().size();
qreal x_center = size.width()/2;
qreal y_center = size.height()/2;

for(int x=0; x < poly.size(); x++)
{
QPointF point = poly.at(x);

if(point.x() < x_center)
{
point.setX(point.x()+pixels);
}
else
{
point.setX(point.x()-pixels);
}

if(point.y() < y_center)
{
point.setY(point.y()+pixels);
}
else
{
point.setY(point.y()-pixels);
}

new_polygon.append(point);
}

return new_polygon;
}

关于c++ - 如何在 QPainterPath 中描边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25335706/

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