AddArcToPath
Vector graphics, Path definition and drawing
Description
Voegt een cirkelvormige boog toe aan het huidige pad; de boog wordt getekend rond het middelpunt (CenterX, CenterY); de straal is gelijk aan de afstand van het middelpunt tot het huidige punt van het pad, en de boog beslaat TotalAngle graden; het huidige punt na de aanroep is het eindpunt van de boog, zodat volgende aanroepen van AddLineToPath of AddArcToPath vanaf daar doorgaan
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 | De horizontale coördinaat van het middelpunt van de boog |
|---|---|
| CenterY | De verticale coördinaat van het middelpunt van de boog |
| TotalAngle | Het hoekbereik in graden; positieve waarden lopen met de klok mee, negatieve waarden tegen de klok in; de waarde mag niet nul zijn; 360 (of -360) tekent een volledige cirkel |
Return values
| 0 | Failed — no document is open, no path has been started, or TotalAngle is zero. |
|---|---|
| 1 | De boog is toegevoegd aan het huidige pad |
Remarks
De straal wordt impliciet afgeleid van de afstand tussen het huidige punt (ingesteld door de meest recente StartPath, AddLineToPath, AddCurveToPath of eerdere AddArcToPath) en het middelpunt dat aan deze aanroep is doorgegeven. Om een volledige cirkel te tekenen, StartPath naar een willekeurig punt op de cirkelomtrek en roep AddArcToPath aan met het gewenste middelpunt en een sweep van 360
De boog wordt gerenderd als een keten van kubische Bézier-segmenten, nauwkeurig binnen sub-pixel tolerantie voor typische PDF-paginagrootten
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