如何获取直线与QPainterPath的交点
答案:2 悬赏:0
解决时间 2021-02-03 11:41
- 提问者网友:他是我的あ男人
- 2021-02-02 21:42
如何获取直线与QPainterPath的交点
最佳答案
- 二级知识专家网友:浪者不回头
- 2021-02-02 23:08
QPainterPath提供这样一个函数来检测两个path的交集,但是这个函数无法取得一条直线段与一个封闭path的交线。因为直线段没有fill area。找了一下也没有其他函数来完成这个事情。 QPainterPath intersected ( const QPainterPath & p )
全部回答
- 1楼网友:迷人小乖乖
- 2021-02-03 00:47
qpainterpath提供这样一个函数来检测两个path的交集,但是这个函数无法取得一条直线段与一个封闭path的交线。因为直线段没有fill area。找了一下也没有其他函数来完成这个事情。
qpainterpath intersected ( const qpainterpath & p ) const
于是只有自己写,我这里给出的是一个比较偷懒的算法,尽量利用qt提供的函数来做,效率很低,但是对于大多应用来说也没问题。
算法就是对线段逐点检测与contour的相交了,非常简单非常简单。
用起来速度也蛮快,对付现在这个苦逼项目完全ok~~
返回的path就是线段与任意封闭path的交线了,那么交点自然就很容易取得了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯