AddArcToPath
Vektorska grafika, definiranje putanja i crtanje
Opis
Dodaje kružni luk u trenutačnu putanju. Luk se crta oko središnje točke (CenterX, CenterY); njegov je radijus jednak udaljenosti od središta do trenutačne točke putanje, a obuhvaća TotalAngle stupnjeva. Trenutačna točka nakon poziva postaje završna točka luka, pa naknadni pozivi AddLineToPath ili AddArcToPath nastavljaju odatle.
Sintaksa
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);
Parametri
| CenterX | Vodoravna koordinata središta luka. |
|---|---|
| CenterY | Okomita koordinata središta luka. |
| TotalAngle | Kutni obuhvat u stupnjevima. Pozitivne vrijednosti crtaju u smjeru kazaljke na satu; negativne vrijednosti crtaju suprotno od smjera kazaljke na satu. Vrijednost ne smije biti nula. 360 (ili -360) crta puni krug. |
Povratne vrijednosti
| 0 | Neuspjeh: nije otvoren nijedan dokument, putanja nije započeta ili je TotalAngle nula. |
|---|---|
| 1 | Luk je dodan u trenutačnu putanju. |
Napomene
Radijus se implicitno izvodi iz udaljenosti između trenutačne točke (postavljene posljednjim pozivom StartPath, AddLineToPath, AddCurveToPath ili prethodnim AddArcToPath) i središta proslijeđenog ovom pozivu. Da biste nacrtali potpuni krug, pozovite StartPath na bilo kojoj točki na opsegu kruga i zatim AddArcToPath s traženim središtem i obuhvatom 360.
Luk se prikazuje kao niz kubičnih Bézierovih segmenata, dovoljno točno za tipične veličine PDF stranica u granicama podpikselne tolerancije.
Primjer
// 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);Vidi također
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd