使用QPainterPath在绘制自由路径时找到交叉线

时间:2015-02-19 10:11:37

标签: c++ qt qpainter self-intersection qpainterpath

我实现自由格式绘图,使用鼠标按下绘制自由路径并使用Qpainter QPainterpath移动

现在我必须检测绘制的路径何时与另一个交叉或相交。我如何识别线在某个时刻相互交叉并向用户发出警告。

enter image description here

1 个答案:

答案 0 :(得分:1)

Qt API没有这种能力来判断由不同元素组成的路径是否在一个点上相交。你应该自己检查一下。路径完成后,使用QPainterPath::​intersects函数比较路径的分段。可以通过QPainterPath::​elementAt(int index)访问这些元素。