gpt4 book ai didi

ios - UIBezierPath 路径的交集

转载 作者:行者123 更新时间:2023-11-28 07:07:34 26 4
gpt4 key购买 nike

我正在尝试确定我绘制的 UIBezierPath 是否与另一个相交。

if path.containsPoint(touchPoint){
println("captured \(touchPoint) ")
}

但是,containsPoint(CGPoint:) 对我不起作用,因为它返回 true if

该点被认为在路径的封闭区域内,否则为 false

只是为了提供一个图形示例,这将返回 true(我正在绘制虚线路径):

所以问题是:我如何检查我的 touchPoint 是否属于 UIBezierPath,在某种意义上它是否到达该路径的特定点?

提前致谢

最佳答案

如果您只是想确定一个触摸点是否位于贝塞尔曲线路径的笔划内,您可以使用 CGPathCreateCopyByStrokingPath 创建您正在尝试的原始开放路径的封闭路径版本 HitTest 。然后使用新创建的封闭路径,您可以使用 containsPoint 方法进行检查。

此博客文章中详细描述了该技术。 http://oleb.net/blog/2012/02/cgpath-hit-testing/

您可能需要扩大复制笔划的宽度以允许粗手指。例如,在博文中,他将 HitTest 路径设为至少 35 分。

关于ios - UIBezierPath 路径的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29876530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com