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 し、目的の中心と 360 のスイープを指定して AddArcToPath を呼び出します
アークは、一般的な 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