CGPathAddArc 与 CGPathAddArcToPoint
-
09-06-2019 - |
题
Apple 的 CoreGraphics 库定义了两个用于描述弧的函数。
- CGPathAddArc 根据中心点、半径和角度对添加圆弧。
- CGPathAddArcToPoint 根据半径和一对切线添加圆弧。
详细信息解释于 CGPath API 参考. 。为什么有两个功能?简单方便吗?其中一个比另一个更有效率吗?一个是根据另一个来定义的吗?
解决方案
前者为您提供圆的一部分(实际上是圆的近似值),而后者则揭示了您正在创建贝塞尔路径的事实。根据您实际绘制的内容,其中之一可能更方便。您确实可以考虑将它们都视为 CGPathAddCurveToPoint 的便利。
其他提示
CGContextAddArc
做这个:
其中红线是要绘制的线,sA 是 startAngle
, eA 是 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)
它将停在圆圈的尽头。
不隶属于 StackOverflow