AddArcToPath
Vektorgrafikk, Banedefinisjon og tegning
Beskrivelse
Legger til en sirkelbue i gjeldende bane. Buen tegnes rundt midtpunktet (CenterX, CenterY); dens radius er lik avstanden fra sentrum til banens gjeldende punkt, og den sveiper over TotalAngle grader. Gjeldende punkt etter kallet er buen slutt punkt, så påfølgende AddLineToPath- eller AddArcToPath-kall fortsetter derfra
Syntaks
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);
Parametere
| CenterX | Den horisontale koordinaten til buen sitt midtpunkt |
|---|---|
| CenterY | Den vertikale koordinaten til buen sitt midtpunkt |
| TotalAngle | Vinkelsvepet i grader. Positive verdier sveiper med klokken; negative verdier sveiper mot klokken. Verdien må være ulik null. 360 (eller -360) tegner en full sirkel |
Returverdier
| 0 | Feilet — ingen dokument er åpent, ingen bane er startet, eller TotalAngle er null |
|---|---|
| 1 | Buen ble lagt til gjeldende bane |
Merknader
Radiusen utledes implisitt av avstanden mellom gjeldende punkt (satt av den nyeste StartPath, AddLineToPath, AddCurveToPath eller tidligere AddArcToPath) og sentrum sendt til dette kallet. For å tegne en komplett sirkel, StartPath til et vilkårlig punkt på sirkelens omkrets og kall AddArcToPath med ønsket sentrum og et sveip på 360
Buen renderes som en kjede av kubiske Bézier-segmenter, nøyaktig innenfor subpiksel-toleranse for typiske PDF-sidestørrelser
Eksempel
// 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);Se også
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd