AddArcToPath

Vectorafbeeldingen, paden definiëren en tekenen

Beschrijving

Voegt een cirkelboog toe aan het huidige pad. De boog wordt rond het middelpunt (CenterX, CenterY) getekend; zijn straal is gelijk aan de afstand van het middelpunt tot het huidige punt van het pad, en hij strekt zich uit over TotalAngle graden. Het huidige punt na de aanroep is het eindpunt van de boog, dus volgende aanroepen van AddLineToPath of AddArcToPath gaan vanaf daar verder

Syntaxis

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

CenterXDe horizontale coördinaat van het middelpunt van de boog
CenterYDe verticale coördinaat van het middelpunt van de boog
TotalAngleDe hoekslag in graden. Positieve waarden slaan met de klok mee; negatieve waarden tegen de klok in. De waarde mag niet nul zijn. 360 (of -360) tekent een volledige cirkel

Retourwaarden

0Mislukt — er is geen document geopend, er is geen pad gestart of TotalAngle is nul
1De boog is aan het huidige pad toegevoegd

Opmerkingen

De straal wordt impliciet afgeleid uit de afstand tussen het huidige punt (gezet door de meest recente StartPath, AddLineToPath, AddCurveToPath of eerdere AddArcToPath) en het middelpunt dat aan deze aanroep wordt doorgegeven. Om een volledige cirkel te tekenen: StartPath op een willekeurig punt op de cirkelomtrek en roep AddArcToPath aan met het gewenste middelpunt en een slag van 360

De boog wordt gerenderd als een keten van kubische Bézier-segmenten, met subpixelnauwkeurigheid bij gangelijke PDF-paginaformaten

Voorbeeld

// 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);

Zie ook

StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd