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

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

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