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
| CenterX | De horizontale coördinaat van het middelpunt van de boog |
|---|---|
| CenterY | De verticale coördinaat van het middelpunt van de boog |
| TotalAngle | De 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
| 0 | Mislukt — er is geen document geopend, er is geen pad gestart of TotalAngle is nul |
|---|---|
| 1 | De 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