AddArcToPath

Vector graphics, Path definition and drawing

Description

在目前路徑中新增圓弧;該圓弧以中心點 (CenterX, CenterY) 為中心繪製;其半徑等於中心點到路徑目前點的距離,且掃掠角度為 TotalAngle 度;呼叫後目前點為圓弧的終點,因此後續的 AddLineToPathAddArcToPath 呼叫會從該處繼續

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

半徑是隱式推導自目前點(由最近的 StartPathAddLineToPathAddCurveToPath 或先前的 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