【发布时间】:2023-03-03 22:12:01
【问题描述】:
我想知道我应该如何绘制一个 uibezierpath,其中笔划宽度在弧的中心达到峰值。这是我的意思的一个例子:
我要么在绘图时遍历每个点,并相应地设置笔画宽度,要么有更简单的方法。谁能指出我正确的方向?
谢谢
【问题讨论】:
-
你是怎么做到的?你能分享你的代码吗?
标签: iphone ios graphics quartz-graphics uibezierpath
我想知道我应该如何绘制一个 uibezierpath,其中笔划宽度在弧的中心达到峰值。这是我的意思的一个例子:
我要么在绘图时遍历每个点,并相应地设置笔画宽度,要么有更简单的方法。谁能指出我正确的方向?
谢谢
【问题讨论】:
标签: iphone ios graphics quartz-graphics uibezierpath
你可以只画两条没有描边的外部路径,将它们连接起来,然后填充它们之间的空间。
【讨论】:
如果您有兴趣,可以尝试另一种方法:
我最终通过创建一个循环来绘制几百条线段,并在绘制循环期间相应地更改线宽来实现这一点。
为了调整线宽,我使用了以下函数:MAX_WIDTH * sinf(M_PI * (i/NUMBER_OF_SEGMENTS)
据我所知,看起来不错,没有性能问题。效果特别好,因为我已经有了曲线上要使用的点列表。对于其他情况,我猜使用 sosborn 的方法会更好。
【讨论】: