我有一个QPainterPath
可以容纳任何序列的行和/或三次贝塞尔曲线。现在,我有一个QPoint
,我需要计算QPainterPath
和点之间的最短距离。由于路径本身不会比存储元素的顺序更多,因此我将它们添加到路径中,但它本身不提供此类功能。我唯一的想法是使用QPainterPath::toFillPolygon()
构造一个多边形,但是这有时会返回一个等于路径的多边形,有时会返回一个空的多边形。此外,QPolygonF
对象只是一个点的列表,其中一些连接线,其中一些没有连接在原始路径,但我无法找出它们中哪些连接,哪些不连接。QPainterPath和QPoint之间的最短距离
是否有任何(简单)解决方案来计算QPainterPath
(最好不转换为多边形)和QPoint
之间的最短距离?
重复问题在http://www.qtcentre.org/threads/31451-How-to-find-the-nearest-point-on-a-QPainterPath,但没有一个解决方案(简单或其他)。 – eclarkso
@eclarkso:引用答案并在此处作出答案。 –
@DieterLücking由于eclarkso写道,在这些问题中没有答案(至少他链接的一个,我发现使用搜索引擎) – msrd0