Pregunta

La biblioteca CoreGraphics de Apple define dos funciones para describir un arco.

  • CGPathAddArc agrega un arco basado en un punto central, un radio y un par de ángulos.
  • CGPathAddArcToPoint agrega un arco basado en un radio y un par de líneas tangentes.

Los detalles se explican en la referencia de la API CGPath.¿Por qué dos funciones?¿Simple comodidad?¿Es uno más eficiente que el otro?¿Se define uno en términos del otro?

¿Fue útil?

Solución

El primero te ofrece una porción de un círculo (en realidad, una aproximación de uno), mientras que el segundo expone el hecho de que estás creando un camino Bézier.Dependiendo de lo que estés dibujando, uno u otro puede ser más conveniente.Realmente podrías considerar ambas conveniencias para CGPathAddCurveToPoint.

Otros consejos

CGContextAddArc Haz esto:

addArc

donde la línea roja es lo que se dibujará, sA es startAngle, eA es el endAngle, r es radius, y x e y son x y y.Si tiene un punto anterior, la función trazará una línea desde este punto hasta el inicio del arco (a menos que tenga cuidado, esta línea no irá en la misma dirección que el arco).

CGContextAddArcToPoint funciona así:

addArc

Donde P1 es el punto actual de la ruta, x1, x2, y1, y2 coinciden con las funciones x1, x2, y1, y2 y r es radius.El arco comenzará en la misma dirección que la línea entre el punto actual y (x1, y1) y termina en la dirección entre (x1, y1) y (x2, y2).no se alineará con (x2, y2) Se detendrá al final del círculo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top