AddArcToPath
Vector graphics, Path definition and drawing
Description
Добавляет круговую дугу к текущему контуру; дуга рисуется вокруг центральной точки (CenterX, CenterY), ее радиус равен расстоянию от центра до текущей точки контура, и она проходит на TotalAngle градусов; текущая точка после вызова становится конечной точкой дуги, так что последующие вызовы AddLineToPath или AddArcToPath продолжаются оттуда
Syntax
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);
Parameters
| CenterX | Горизонтальная координата центра дуги |
|---|---|
| CenterY | Вертикальная координата центра дуги |
| TotalAngle | Угловой охват в градусах; положительные значения идут по часовой стрелке, отрицательные — против; значение должно быть отличным от нуля; 360 (или -360) рисует полный круг |
Return values
| 0 | Ошибка — документ не открыт, контур не был начат или значение TotalAngle равно нулю |
|---|---|
| 1 | Дуга была добавлена к текущему контуру |
Remarks
Радиус неявно выводится из расстояния между текущей точкой (заданной последним вызовом StartPath, AddLineToPath, AddCurveToPath или предыдущим AddArcToPath) и центром, переданным в этот вызов; чтобы нарисовать полный круг, вызовите StartPath для любой точки на окружности круга и вызовите AddArcToPath с желаемым центром и углом охвата 360
Дуга визуализируется как цепочка кубических сегментов Безье с точностью в пределах субпиксельного допуска для типичных размеров страниц PDF
Example
// 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);See also
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd