AddArcToPath

Vektorgrafik, stidefinition og tegning

Beskrivelse

Tilføjer en cirkelbue til den aktuelle sti. Buen tegnes omkring centrumspunktet (CenterX, CenterY); dens radius svarer til afstanden fra centrum til stiens aktuelle punkt, og den strækker sig over TotalAngle grader. Det aktuelle punkt efter kaldet er buens slutpunkt, så efterfølgende kald til AddLineToPath eller AddArcToPath fortsætter 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);

Parametre

CenterXDen vandrette koordinat for buens centrum
CenterYDen lodrette koordinat for buens centrum
TotalAngleVinkeludstrækningen i grader. Positive værdier går med uret, og negative værdier går mod uret. Værdien må ikke være nul. 360 (eller -360) tegner en hel cirkel

Returværdier

0Mislykkedes — intet dokument er åbent, ingen sti er startet, eller TotalAngle er nul
1Buen blev tilføjet den aktuelle sti.

Bemærkninger

Radius udledes implicit af afstanden mellem det aktuelle punkt (indstillet af det seneste StartPath, AddLineToPath, AddCurveToPath eller tidligere AddArcToPath) og centrum, der sendes til dette kald. For at tegne en hel cirkel skal StartPath kaldes ved et vilkårligt punkt på cirklens omkreds og AddArcToPath kaldes med det ønskede centrum og en drejning på 360

Buen gengives som en kæde af kubiske Bézier-segmenter med en nøjagtighed inden for subpixeltolerancen 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