AddArcToPath

Grafika wektorowa, Definiowanie i rysowanie ścieżek

Opis

Dodaje łuk kołowy do bieżącej ścieżki. Łuk jest rysowany wokół punktu środkowego (CenterX, CenterY); jego promień odpowiada odległości od środka do bieżącego punktu ścieżki, a zakres wynosi TotalAngle stopni. Bieżącym punktem po wywołaniu jest punkt końcowy łuku, więc kolejne wywołania AddLineToPath lub AddArcToPath są kontynuowane od tego miejsca

Składnia

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);

Parametry

CenterXWspółrzędna pozioma środka łuku
CenterYWspółrzędna pionowa środka łuku
TotalAngleZakres kątowy w stopniach. Wartości dodatnie wyznaczają łuk zgodnie z ruchem wskazówek zegara, a ujemne przeciwnie do ruchu wskazówek zegara. Wartość nie może wynosić zero. 360 (lub -360) rysuje pełny okrąg

Wartości zwracane

0Niepowodzenie — nie otwarto dokumentu, nie rozpoczęto ścieżki albo TotalAngle ma wartość zero
1Łuk został dodany do bieżącej ścieżki

Uwagi

Promień jest wyznaczany niejawnie na podstawie odległości między bieżącym punktem (ustawionym przez ostatnie wywołanie StartPath, AddLineToPath, AddCurveToPath lub poprzednie AddArcToPath) a środkiem przekazanym do tego wywołania. Aby narysować pełny okrąg, wywołaj StartPath dla dowolnego punktu na obwodzie, a następnie AddArcToPath z żądanym środkiem i zakresem 360

Łuk jest renderowany jako łańcuch sześciennych segmentów Béziera z dokładnością do tolerancji mniejszej niż piksel dla typowych rozmiarów stron PDF

Przykład

// 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);

Zobacz również

StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd