繁体   English   中英

使用UIBezierPath [ios]的部分Bezier曲线

[英]Partial Bezier curve with UIBezierPath [ios]

通常贝塞尔路径具有0 <= t <= 1的参数,其描述曲线上的某个点。

我想做的是:

我有4个点(开始,结束,2个控制点),现在我想画一条从t = 0到t = 0.5的线。 在iOS(本机框架或开源)中是否有标准的方法可以做到这一点?

如果这是不可能的,我将不得不自己计算端点和两个新的控制点。

如果您只对绘制该路径感兴趣而不计算要用它们做其他事情的点数,那么您可以仅在t = 0.5之前描绘路径。

您可以通过设置strokeStartstrokeEnd属性来使用CAShapeLayer执行此操作。 笔划的外观可以是strokeColorlineWidth等属性。 我建议您查看文档以获取完整的属性列表。

代码看起来像这样(我没有运行这个,所以可能有拼写错误等):

CAShapeLayer *halfBezier = [CAShapeLayer layer];
// use the full path
halfBezier.path          = [yourFullPath CGPath];
// configure the appearance 
halfBezier.fillColor     = [[UIColor clearColor] CGColor];
halfBezier.strokeColor   = [[UIColor redColor] CGColor];
halfBezier.lineWidth     = 2.0;

// 0.0 ≤ t ≤ 0.5
halfBezier.strokeStart   = 0.0; // the default value (only here for clarity)
halfBezier.strokeEnd     = 0.5; // only up until t=0.5

// add this layer to the view's layer where it is supposed to be drawn
[yourView.layer addSublayer:halfBezier];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM