qt - 计算QPainterPath的填充区域

标签 qt qgraphicsitem

在 qgraphicsItem 中使用 QPainterPath in paint() 函数我在场景上绘制了一个自由形式的绘图。我想问一下是否有一种方法可以计算封闭的画家路径的面积。我想显示场景中画家路径覆盖的区域而不是 boundingRect。

最佳答案

要计算多边形的面积,您可以通过两种方式进行:

缓慢但通用(精度可能有问题):从pointAtPercent获取点通过一些步骤并执行 standard calculation对于这样的多边形

速度快,但仅适用于 QPainterPath,其段为 LineToElement .只需使用 elementAt 遍历所有多边形角即可和 elementCount 并再次执行 standard calculation计算多边形的面积。

关于qt - 计算QPainterPath的填充区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282579/

相关文章:

python - 调整 QGraphicsItem 中心的大小与鼠标速度成正比?

c++ - QT 模糊了我的弧线

c++ - 构建 Qt-Static 5.3.2 时遇到问题

c - POSIX 消息队列 - 打开 : Invalid argument 时出错

c++ - QGraphicsView/Scene - 项目绘制距离鼠标点击 2 倍

qt - QGraphicsItem中的ItemCoordinateCache和DeviceCoordinateCache有什么区别?

c++ - QLineEdit 的背景图像

c++ - 有没有办法在集合中引用类的方法?

python-3.x - PyQt/PySide 如何在将 QGraphicsItem 添加到 QGraphicsScene 后访问/移动它

python - 用 pyqt 扩展 QGraphicsItem