ios – 如何弯曲气球尾巴(简单三角形)

我有一个简单的三角形(作为气球尾巴),我试图曲线如下:

我的尾巴形状存储在CGMutablePathRef中,它的绘制如下:

- (void) drawPaths
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextAddPath(context,self.mutablePath);

    CGPathRelease(mutablePath);
    CGColorRelease(fillColor);
    CGColorRelease(strokeColor);

}

当我向这个算法(比如45度)输入一些角度时,我试图做到这一点,尾巴的旋转和曲线非常像上面的照片.旋转显然是一个容易的转变,但是让它曲线是我正在努力的.我意识到我可能需要使用:CGPathAddQuadCurveToPoint,但是我无法理解要设置为我的控制点,并获得不可预知的结果.即使这个辉煌的职位让我无能为力:Given a CGPath,how to make it curve?

有谁知道如何做到这一点?

解决方法

我假设你有或可以得到路径的原点的x和y坐标 – 气球上的路径的结束,而对于终点,三角形的尖端,你想要的每个路径.我们来调用原点(xorig,yorig)和终点(xend,yend).为了形成路径曲线,我们需要计算一个合理的二次曲线协调点,我们称之为(xc,yc).我相信以下坐标计算将为您产生合理的曲线:
xc = (xorig * 3 + xend) / 4;
yc = (xorig + xend) / 2;
CGPathAddQuadCurveToPoint(mutablePath,NULL,xc,yc,xend,yend).

为了使路径曲线不同,您可以在xc的计算中改变xorig和xend的权重.

以上是来客网为你收集整理的ios – 如何弯曲气球尾巴(简单三角形)全部内容,希望文章能够帮你解决ios – 如何弯曲气球尾巴(简单三角形)所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。