CGPathAddArc与CGPathAddArcToPoint
Apple的CoreGraphics库定义了两个用于描述弧的函数。
- CGPathAddArc根据中心点,半径和一对角度添加弧。
- CGPathAddArcToPoint根据半径和一对切线添加弧。
详细信息在CGPath API参考中进行了解释。 为什么两个function? 简单方便? 一个比另一个更有效吗? 一个是用另一个定义的吗?
前者会让你成为一个圆圈的一部分(实际上是一个近似的圆圈),而后者则暴露出你正在创造一个Bézier路径的事实。 根据您实际绘制的内容,一个或另一个可能更方便。 您可以真正考虑它们对CGPathAddCurveToPoint的便利性。
CGContextAddArc
执行此操作:
其中红线是将要绘制的,sA是startAngle
, endAngle
是endAngle
,r是radius
,x和y是x
和y
。 如果你有一个前一个点,那么该函数将从这一点开始到弧的起点(除非你小心这条线不会与弧的方向相同)。
CGContextAddArcToPoint
工作方式如下:
其中P1是路径的当前点,x1,x2,y1,y2匹配函数x1
, x2
, y1
, y2
,r是radius
。 弧将以与当前点和(x1, y1)
之间的线相同的方向开始,并且在(x1, y1)
和(x2, y2)
之间的方向上结束。 它不会行到(x2, y2)
它会在圆的末尾停止。