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

圆弧会渲染为一串三次 Bézier 线段,对于典型 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