AddArcToPath
Vector graphics, Path definition and drawing
Description
Fügt dem aktuellen Pfad einen kreisförmigen Bogen hinzu; Der Bogen wird um den Mittelpunkt (CenterX, CenterY) gezeichnet; sein Radius entspricht dem Abstand vom Mittelpunkt zum aktuellen Punkt des Pfads, und er erstreckt sich über TotalAngle Grad; Der aktuelle Punkt nach dem Aufruf ist der Endpunkt des Bogens, sodass nachfolgende Aufrufe von AddLineToPath oder AddArcToPath dort fortgesetzt werden
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);
Parameters
| CenterX | Die horizontale Koordinate des Mittelpunkts des Bogens |
|---|---|
| CenterY | Die vertikale Koordinate des Mittelpunkts des Bogens |
| TotalAngle | Der Winkelbereich in Grad. Positive Werte verlaufen im Uhrzeigersinn; negative Werte verlaufen gegen den Uhrzeigersinn. Der Wert darf nicht null sein. 360 (oder -360) zeichnet einen vollständigen Kreis |
Return values
| 0 | Fehlgeschlagen — es ist kein Dokument geöffnet, es wurde kein Pfad gestartet oder TotalAngle ist null |
|---|---|
| 1 | Der Bogen wurde dem aktuellen Pfad hinzugefügt |
Remarks
Der Radius wird implizit aus dem Abstand zwischen dem aktuellen Punkt (festgelegt durch das jüngste StartPath, AddLineToPath, AddCurveToPath oder ein vorheriges AddArcToPath) und dem an diesen Aufruf übergebenen Mittelpunkt abgeleitet. Um einen vollständigen Kreis zu zeichnen, verwenden Sie StartPath zu einem beliebigen Punkt auf dem Kreisumfang und rufen Sie AddArcToPath mit dem gewünschten Mittelpunkt und einem Winkelbereich von 360 auf
Der Bogen wird als Kette von kubischen Bézier-Segmenten gerendert, präzise innerhalb der Subpixel-Toleranz für typische PDF-Seitengrößen
Example
// 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);See also
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd