AddArcToPath

Đồ họa vector, Định nghĩa và vẽ đường dẫn

Mô tả

Thêm một cung tròn vào path hiện tại. Cung được vẽ quanh điểm tâm (CenterX, CenterY); bán kính của nó bằng khoảng cách từ tâm tới điểm hiện tại của path, và nó quét trong TotalAngle độ. Điểm hiện tại sau lời gọi là điểm cuối của cung, nên các lần gọi AddLineToPath hay AddArcToPath tiếp theo nối tiếp từ đó

Cú pháp

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);

Tham số

CenterXTọa độ ngang của tâm cung
CenterYTọa độ dọc của tâm cung
TotalAngleGóc quét tính bằng độ. Giá trị dương quét theo chiều kim đồng hồ; giá trị âm quét ngược chiều kim đồng hồ. Giá trị phải khác 0. 360 (hay -360) vẽ trọn một đường tròn

Giá trị trả về

0Failed — no document is open, no path has been started, or TotalAngle is zero.
1Cung đã được thêm vào path hiện tại

Ghi chú

Bán kính suy ngầm từ khoảng cách giữa điểm hiện tại (đặt bởi StartPath, AddLineToPath, AddCurveToPath, hay AddArcToPath trước đó) và tâm truyền vào lời gọi này. Để vẽ trọn một đường tròn, hãy StartPath tới một điểm bất kỳ trên đường tròn rồi gọi AddArcToPath với tâm mong muốn và góc quét 360

The arc is rendered as a chain of cubic Bézier segments, accurate to within sub-pixel tolerance for typical PDF page sizes.

Ví dụ

// 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);

Xem thêm

StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd