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

标签 c++ qt qpainter self-intersection qpainterpath

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

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

enter image description here

最佳答案

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

关于c++ - 在使用 QPainterPath 绘制自由路径时找到交叉线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28603623/

相关文章:

c++ - 使用纯虚拟成员地址的虚拟调用。合法吗?

c++ - 如何更改 QtQuick 2 窗口的标题?

qt - QTableWidgetItem 中的绘图线渲染问题

c++ - 使用 QtConcurrent 加载 Pixmap 并绘制它

c++ - QQmlApplicationEngine 和 WindowFlags

c++ - QT画多条线

c++ - QFile:如何有效地只读取从 k 到 k+L 的字节

c++ - 如何从QWebEnginePage获取网站内容?

c++ - 私有(private)析构函数友元函数

c++ - 如何从 C++ 中删除的对象中清除内存?