Подтвердить что ты не робот

CGPathAddArc vs CGPathAddArcToPoint

Библиотека Apple CoreGraphics определяет две функции для описания дуги.

  • CGPathAddArc добавляет дугу, основанную на центральной точке, радиусе и паре углов.
  • CGPathAddArcToPoint добавляет дугу на основе радиуса и пары касательных линий.

Подробности описаны в ссылке CGPath API. Почему две функции? Простое удобство? Является ли более эффективным, чем другой? Определяется ли это через другое?

4b9b3361

Ответ 1

Первый получает вам часть круга (на самом деле, приближение одного), в то время как последний раскрывает тот факт, что вы создаете путь Безье. В зависимости от того, что вы на самом деле рисуете, один или другой может быть более удобным. Вы действительно можете рассмотреть оба из них удобства для CGPathAddCurveToPoint.

Ответ 2

CGContextAddArc делает следующее:

addArc

где будет изображена красная линия, sA startAngle, eA - endAngle, r - radius, а x и y - x и y. Если у вас есть предыдущая точка, функция будет проходить от этой точки до начала дуги (если вы не будете осторожны, эта линия не будет идти в том же направлении, что и дуга).

CGContextAddArcToPoint работает следующим образом:

addArc

Где P1 - текущая точка пути, x1, x2, y1, y2 соответствуют функциям x1, x2, y1, y2 и r is radius. Дуга начнется в том же направлении, что и линия между текущей точкой и (x1, y1), и закончите в направлении между (x1, y1) и (x2, y2). он не будет привязан к (x2, y2) Он остановится в конце круга.