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

CenterXDie horizontale Koordinate des Mittelpunkts des Bogens
CenterYDie vertikale Koordinate des Mittelpunkts des Bogens
TotalAngleDer 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

0Fehlgeschlagen — es ist kein Dokument geöffnet, es wurde kein Pfad gestartet oder TotalAngle ist null
1Der 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