4

我想知道我应该如何绘制一个 uibezierpath,其中笔划宽度在弧的中心达到峰值。这是我的意思的一个例子:

曲线

要么我必须在绘图时遍历每个点,并相应地设置笔画宽度,要么有更简单的方法。谁能指出我正确的方向?

谢谢

4

2 回答 2

6

您可以只绘制没有描边的两条外部路径,将它们连接起来,然后填充它们之间的空间。

于 2011-09-30T23:18:48.200 回答
0

如果您有兴趣,可以尝试另一种方法:

我最终通过创建一个循环来绘制几百条线段,并在绘制循环期间相应地更改线宽来实现这一点。

为了调整线宽,我使用了以下函数:MAX_WIDTH * sinf(M_PI * (i/NUMBER_OF_SEGMENTS)

据我所知,看起来很棒,没有性能问题。效果特别好,因为我已经有了曲线上要使用的点列表。对于其他情况,我猜最好使用 sosborn 的方法。

于 2012-03-04T05:28:31.917 回答