Question

La bibliothèque CoreGraphics d’Apple définit deux fonctions pour décrire un arc.

  • CGPathAddArc ajoute un arc basé sur un centre, un rayon et une paire d'angles.
  • CGPathAddArcToPoint ajoute un arc basé sur un rayon et une paire de lignes tangentes.

Les détails sont expliqués dans la référence de l'API CGPath . Pourquoi deux fonctions? Simple commodité? Est-ce que l'un est plus efficace que l'autre? L'un est-il défini en termes de l'autre?

Était-ce utile?

La solution

Le premier vous obtient une partie d’un cercle (en réalité, une approximation d’un cercle), tandis que le second expose le fait que vous créez un chemin de Bézier. Selon ce que vous dessinez, l’un ou l’autre pourrait être plus pratique. Vous pouvez vraiment considérer ces deux avantages pour CGPathAddCurveToPoint.

Autres conseils

CGContextAddArc fait ceci:

addArc

où la ligne rouge est ce qui sera tracé, sA est startAngle , eA est le endAngle , r est le radius , et x et y sont x et y . Si vous avez un point précédent, la fonction s'alignera de ce point au début de l'arc (à moins que vous ne soyez prudent, cette ligne ne se dirigera pas dans le même sens que l'arc).

CGContextAddArcToPoint fonctionne comme suit:

addArc

Où P1 est le point actuel du chemin, les x1, x2, y1, y2 correspondent aux fonctions x1 , x2 , y1 , y2 et r est rayon . L'arc commencera dans la même direction que la ligne entre le point actuel et (x1, y1) et se terminera dans la direction entre (x1, y1) et . (x2, y2) . il ne sera pas aligné sur (x2, y2) Il s’arrêtera à la fin du cercle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top