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
| CenterX | Współrzędna pozioma środka łuku |
|---|---|
| CenterY | Współrzędna pionowa środka łuku |
| TotalAngle | Zakres 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
| 0 | Niepowodzenie — 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