AddArcToPath
Vektorska grafika, definisanje i crtanje putanja
Opis
Dodaje kružni luk trenutnoj putanji. Luk se crta oko centra (CenterX, CenterY); njegov poluprečnik jednak je udaljenosti od centra do trenutne tačke putanje, a zahvata TotalAngle stepeni. Nakon poziva, trenutna tačka postaje kraj luka, pa naredni 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 | Horizontalna koordinata centra luka |
|---|---|
| CenterY | Vertikalna koordinata centra luka |
| TotalAngle | Ugaoni zahvat u stepenima. Pozitivne vrednosti idu u smeru kazaljke na satu; negativne idu suprotno od kazaljke na satu. Vrednost mora biti različita od nule. 360 (ili -360) crta ceo krug |
Povratne vrednosti
| 0 | Neuspeh — nijedan dokument nije otvoren, nijedna putanja nije započeta ili je TotalAngle nula |
|---|---|
| 1 | Luk je dodat trenutnoj putanji |
Napomene
Poluprečnik se implicitno izvodi iz udaljenosti između trenutne tačke (postavljene poslednjim pozivom StartPath, AddLineToPath, AddCurveToPath ili prethodnim AddArcToPath) i centra prosleđenog ovom pozivu. Da biste nacrtali ceo krug, pozovite StartPath na bilo kojoj tački na obimu kruga i zatim pozovite AddArcToPath sa željenim centrom i zahvatom od 360
Luk se prikazuje kao niz kubnih Bézierovih segmenata, sa tačnošću do tolerancije ispod piksela za tipične veličine PDF stranica
Primer
// 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đe
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd