我正在尝试使用 CGPathAddCurveToPoint 创建一个半径为 15 点的完美右半圆,如下所示:
CGPathMoveToPoint(path, NULL, 0, 0);
CGPathAddCurveToPoint(path, NULL, 15, 0, 15, 30, 0, 30);
它从圆圈的顶部中间开始。
然后将第一个控制点设置为圆边界框的右上角。
第二个控制点设置为圆边界框的右下角。
圆在边界框的底部中间结束。
但绘制时,圆圈呈鸡蛋状。
如何制作一个完美无瑕的右半球,从 0,0 点开始向右,到 0,30 点结束?
CGPathAddCurveToPoint
创建一个贝塞尔曲线 http://en.wikipedia.org/wiki/Bezier_curve,不是圆弧。您正在寻找的方法是CGPathAddArc
or CGPathAddArcToPoint
, 如下:
CGPathMoveToPoint(path, NULL, 0, 0);
CGPathAddArc(path, NULL, 0, 15, 15, M_PI_2, -M_PI_2, true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)