AddArcToPath
Векторна графіка, визначення та малювання контурів
Опис
Додає кругову дугу до поточного шляху. Дуга малюється навколо центру (CenterX, CenterY); її радіус дорівнює відстані від центру до поточної точки шляху, і вона описує кут у TotalAngle градусів. Поточна точка після виклику — кінцева точка дуги, тож наступні виклики AddLineToPath чи AddArcToPath продовжать звідти
Синтаксис
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);
Параметри
| CenterX | Горизонтальна координата центру дуги |
|---|---|
| CenterY | Вертикальна координата центру дуги |
| TotalAngle | Кутовий розмах у градусах. Додатні значення розмахують за годинниковою стрілкою; від'ємні — проти. Значення має бути не-нульовим. 360 (чи -360) малює повне коло |
Повернуті значення
| 0 | Невдача — не відкрито документа, не розпочато шлях чи TotalAngle дорівнює нулю |
|---|---|
| 1 | Дугу додано до поточного шляху |
Примітки
Радіус виводиться неявно з відстані між поточною точкою (заданою останнім StartPath, AddLineToPath, AddCurveToPath чи попереднім AddArcToPath) і центром, переданим цьому виклику. Щоб намалювати повне коло, виконайте StartPath до будь-якої точки кола та викличте AddArcToPath з бажаним центром і розмахом 360
Дуга рендериться як ланцюжок сегментів кубічних кривих Безьє з точністю в межах субпіксельного допуску для типових розмірів сторінок PDF
Приклад
// 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);Див. також
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd