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

CenterXDen horisontale koordinaten til buen sitt midtpunkt
CenterYDen vertikale koordinaten til buen sitt midtpunkt
TotalAngleVinkelsvepet 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

0Feilet — ingen dokument er åpent, ingen bane er startet, eller TotalAngle er null
1Buen 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