Frage

Apples Core Graphics-Bibliothek definiert zwei Funktionen für einen Bogen beschreibt.

  • CGPathAddArc fügt einen Bogen auf einem Mittelpunkt basiert, Radius und Winkelpaar.
  • CGPathAddArcToPoint fügt einen Bogen auf einem Radius basiert, und ein Paar von Tangenten.

Die Einzelheiten sind in der CGPath API-Referenz erklärt . Warum zwei Funktionen? Einfache Bequemlichkeit? Ist ein effizienter als die anderen? Ist ein definiert in Bezug auf die anderen?

War es hilfreich?

Lösung

Der ehemalige bekommt man einen Teil eines Kreises (wirklich, eine Annäherung an ein), während die letztere macht die Tatsache, dass Sie einen Bézierpfad sind zu schaffen. Je nachdem, was Sie tatsächlich zeichnen, die eine oder andere könnte bequemer sein. Man könnte wirklich beide Einrichtungen für CGPathAddCurveToPoint berücksichtigen.

Andere Tipps

CGContextAddArc tut dies:

addArc

, wo die rote Linie, was gezeichnet wird, ist sA startAngle, eA die endAngle, r radius, und x und y sind x und y. Wenn Sie einen vorherigen Punkt haben die Funktion wird von diesem Punkt zum Beginn der Bogenlinie (sofern Sie diese Linie vorsichtig sind, wird nicht in der gleichen Richtung wie der Bogen gehen).

CGContextAddArcToPoint funktioniert wie folgt:

addArc

Wo P1 der aktuelle Punkt des Weges ist, die x1, x2, y1, y2 Spiel der Funktionen x1, x2, y1, y2 und r radius ist. Der Lichtbogen wird in der gleichen Richtung wie die Linie zwischen dem aktuellen Punkt und (x1, y1) und dem Ende in die Richtung zwischen (x1, y1) und (x2, y2) starten. es wird nicht (x2, y2) Linie wird es am Ende des Kreises zu stoppen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top