Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 绘制不同线宽的曲线_Ios_Core Graphics_Bezier - Fatal编程技术网

Ios 绘制不同线宽的曲线

Ios 绘制不同线宽的曲线,ios,core-graphics,bezier,Ios,Core Graphics,Bezier,我知道如何用核心图形或使用UIBezierPath绘制曲线 但是,我想画一条开始宽,结尾薄的曲线: 我在谷歌上搜索了很多关于曲线、贝塞尔路径或类似的问题。但是我找不到任何理想的方法来实现它 你能帮我吗?我马上想到的两种方法是 计算路径 这可能是最复杂的。这将涉及计算整个形状的路径,并将其添加为路径并填充它 使用直线法 创建一系列点,这些点将位于曲线的中心线上。每个点之间可能有5点 然后在每个点上,可以将其用作与该点处曲线切线垂直的直线的中心点 垂线将有一个长度,您可以根据通过曲线的距离来计算该

我知道如何用核心图形或使用UIBezierPath绘制曲线

但是,我想画一条开始宽,结尾薄的曲线:

我在谷歌上搜索了很多关于曲线、贝塞尔路径或类似的问题。但是我找不到任何理想的方法来实现它


你能帮我吗?

我马上想到的两种方法是

计算路径

这可能是最复杂的。这将涉及计算整个形状的路径,并将其添加为路径并填充它

使用直线法

创建一系列点,这些点将位于曲线的中心线上。每个点之间可能有5点

然后在每个点上,可以将其用作与该点处曲线切线垂直的直线的中心点

垂线将有一个长度,您可以根据通过曲线的距离来计算该长度

然后使用该线创建从上一点到该线的方形路径

然后把那个正方形填满

转到下一点。添加该行并创建一个返回到上一行的框,依此类推

最后是一个圆心位于最后一点的圆。这将创建结束


这很复杂,但如果你将函数分解,它是可行的。

你可以为曲线边界创建闭合路径并用颜色填充它。除了这种方法,你还有其他方法吗?我不想为曲线边界和填充颜色绘制闭合路径。我希望它可以使用。像[FeSpecialCurve startAngle:endAngle:percentThin:]这样的东西。。。或者……没有这样的方法。如果你知道核心图形创建你的曲线只是学校数学的问题。如果这对您来说很困难,您可以在图像编辑器中创建曲线图像,而不是绘制曲线。好的,感谢您的快速回复:]。我刚刚有了一个理想。我应该尽快更新我的答案。你是只想画它,还是它也应该是动画(例如生长)?