AddArcToPath
Vektorgrafik, Pfaddefinition und Zeichnen
Beschreibung
Fügt dem aktuellen Pfad einen Kreisbogen hinzu. Der Bogen wird um den Mittelpunkt (CenterX, CenterY) gezeichnet; sein Radius entspricht dem Abstand vom Mittelpunkt zum aktuellen Punkt des Pfads, und er überstreicht TotalAngle Grad. Der aktuelle Punkt nach dem Aufruf ist der Endpunkt des Bogens, sodass nachfolgende Aufrufe von AddLineToPath oder AddArcToPath dort fortfahren
Syntax
Delphi
Function TPDFlib.AddArcToPath(CenterX, CenterY, TotalAngle: Double): Integer;
ActiveX
Function PDFlib::AddArcToPath(CenterX As Double, CenterY As Double, TotalAngle As Double) As Long
DLL
int DLAddArcToPath(int InstanceID, double CenterX, double CenterY, double TotalAngle);
Parameter
| CenterX | Die horizontale Koordinate des Bogenmittelpunkts. |
|---|---|
| CenterY | Die vertikale Koordinate des Mittelpunkts des Kreisbogens. |
| TotalAngle | Der Winkelbereich in Grad. Positive Werte verlaufen im Uhrzeigersinn, negative gegen den Uhrzeigersinn. Der Wert darf nicht null sein. 360 (oder -360) zeichnet einen Vollkreis. |
Rückgabewerte
| 0 | Fehlgeschlagen — es ist kein Dokument geöffnet, kein Pfad wurde begonnen oder TotalAngle ist null. |
|---|---|
| 1 | Der Bogen wurde dem aktuellen Pfad hinzugefügt |
Anmerkungen
Der Radius wird implizit aus dem Abstand zwischen dem aktuellen Punkt (festgelegt durch das zuletzt aufgerufene StartPath, AddLineToPath, AddCurveToPath oder ein vorheriges AddArcToPath) und dem an diesen Aufruf übergebenen Mittelpunkt abgeleitet. Um einen vollständigen Kreis zu zeichnen, rufen Sie StartPath für einen beliebigen Punkt auf dem Kreisumfang auf und anschließend AddArcToPath mit dem gewünschten Mittelpunkt und einem Überstreichungswinkel von 360.
Der Bogen wird als Kette kubischer Bézier-Segmente gerendert, deren Genauigkeit bei typischen PDF-Seitengrößen innerhalb der Subpixeltoleranz liegt
Beispiel
// A pie slice — straight edge, arc, straight edge back to centre
PDF.SetFillColor(0.7, 0.2, 0.2);
PDF.StartPath(200, 200); // pie centre
PDF.AddLineToPath(280, 200); // out to circle (radius 80, angle 0°)
PDF.AddArcToPath(200, 200, 90); // sweep 90° clockwise
PDF.ClosePath; // back to the centre
PDF.DrawPath(2); // 2 = fill and outline
// A complete circle drawn as a single arc
PDF.StartPath(300, 100);
PDF.AddArcToPath(250, 100, 360);
PDF.ClosePath;
PDF.DrawPath(0);Siehe auch
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd