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
| CenterX | Den vandrette koordinat for buens centrum |
|---|---|
| CenterY | Den lodrette koordinat for buens centrum |
| TotalAngle | Vinkeludstræ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
| 0 | Mislykkedes — intet dokument er åbent, ingen sti er startet, eller TotalAngle er nul |
|---|---|
| 1 | Buen 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