如何用CGPathAddCurveToPoint创build一个完美的半圆?
我想用CGPathAddCurveToPoint创build一个完美的半径为15点的半圆,就像这样:
CGPathMoveToPoint(path, NULL, 0, 0); CGPathAddCurveToPoint(path, NULL, 15, 0, 15, 30, 0, 30);
它从圈子的中间开始。 然后将第一个控制点设置到圆的边界框的右上angular。 第二个控制点设置在圆的边界框的右下angular。 圆圈在边框的底部中间结束。
但是画出来的时候,这个圆圈有一个像蛋的形状。
我怎样才能做出一个完美的,完美无瑕的右半球,从0,0点开始到0,30点?
CGPathAddCurveToPoint
创build一个Bézier曲线 ,而不是一个圆弧。 你正在寻找的方法是CGPathAddArc
或CGPathAddArcToPoint
,如下所示:
CGPathMoveToPoint(path, NULL, 0, 0); CGPathAddArc(path, NULL, 0, 15, 15, M_PI_2, -M_PI_2, true);