0

如何在 iPad 中实现对贝塞尔曲线绘制的曲线的触摸。

4

1 回答 1

0

您可以使用containsPoint:UIBezierPath 的方法来确定触摸是否在曲线内。但是,这仅在路径是封闭类型(例如圆形或矩形)时才有效。

我从未测试过的一件事是,一条路径是否被一条从起点到终点的不可见线隐式封闭。就像在多边形的 3 条边中一样,当第 4 条边不存在时,可以检测到 4 条边中的命中,除非在您的想象中。

对于曲线是单笔画的情况(如在绘画程序中),您将不得不人为地扩展笔画以检测您的触摸。实现此目的的一种方法是从每一端运行切线并沿着大多数矢量程序在您请求“扩展线/笔划”时所做的曲线绘制一条相同形状的平行线,然后您可以检测到该扩展笔划内的命中。伸展行程的粗细将决定触球的准确程度。

于 2011-11-22T11:45:02.493 回答