Apple 的 CoreGraphics 库定义了两个用于描述弧的函数。

  • CGPathAddArc 根据中心点、半径和角度对添加圆弧。
  • CGPathAddArcToPoint 根据半径和一对切线添加圆弧。

详细信息解释于 CGPath API 参考. 。为什么有两个功能?简单方便吗?其中一个比另一个更有效率吗?一个是根据另一个来定义的吗?

有帮助吗?

解决方案

前者为您提供圆的一部分(实际上是圆的近似值),而后者则揭示了您正在创建贝塞尔路径的事实。根据您实际绘制的内容,其中之一可能更方便。您确实可以考虑将它们都视为 CGPathAddCurveToPoint 的便利。

其他提示

CGContextAddArc 做这个:

addArc

其中红线是要绘制的线,sA 是 startAngle, eA 是 endAngle, r 是 radius, ,x 和 y 是 xy. 。如果您有一个先前的点,该函数将从该点到圆弧的起点连线(除非您小心,否则这条线不会与圆弧的方向相同)。

CGContextAddArcToPoint 工作原理如下:

addArc

其中P1是路径的当前点,x1,x2,y1,y2匹配函数 x1, x2, y1, y2 r 是 radius. 。圆弧将以与当前点和当前点之间的线相同的方向开始 (x1, y1) 并以以下方向结束 (x1, y1)(x2, y2). 。它不会排队 (x2, y2) 它将停在圆圈的尽头。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top