如何绘制可变宽度的UIBezierPath?

时间:2011-09-30 22:55:08

标签: iphone ios graphics quartz-graphics uibezierpath

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

Curve

我必须在绘图时浏览每个点,并相应地设置笔划宽度,或者有一种更简单的方法。有人能指出我正确的方向吗?

由于

2 个答案:

答案 0 :(得分:6)

您可以在没有笔划的情况下绘制两个外部路径,连接它们,然后填充它们之间的空间。

答案 1 :(得分:0)

如果您有兴趣,可尝试此方法:

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

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

据我所知,看起来很棒且没有性能问题。工作得特别好,因为我已经有了曲线上使用的点列表。对于其他情况,我猜测使用索斯伯恩的方法会更好。