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

CenterXHorizontalna koordinata centra luka
CenterYVertikalna koordinata centra luka
TotalAngleUgaoni 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

0Neuspeh — nijedan dokument nije otvoren, nijedna putanja nije započeta ili je TotalAngle nula
1Luk 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