AddArcToPath
Grafică vectorială, Definirea și trasarea traseelor
Descriere
Adaugă un arc de cerc traseului curent. Arcul este desenat în jurul punctului central (CenterX, CenterY); raza lui este distanța de la centru la punctul curent al traseului și se desfășoară pe TotalAngle grade. Punctul curent după apel este punctul final al arcului, deci apelurile ulterioare AddLineToPath sau AddArcToPath continuă de acolo
Sintaxă
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);
Parametri
| CenterX | Coordonata orizontală a centrului arcului |
|---|---|
| CenterY | Coordonata verticală a centrului arcului |
| TotalAngle | Unghiul de desfășurare în grade. Valorile pozitive se desfășoară în sens orar; valorile negative în sens anti-orar. Valoarea trebuie să fie nenulă 360 (sau -360) desenează un cerc complet |
Valori returnate
| 0 | Eșec — niciun document nu este deschis, nu a fost pornit niciun traseu, sau TotalAngle este zero |
|---|---|
| 1 | Arcul a fost adăugat traseului curent |
Observații
Raza este derivată implicit din distanța dintre punctul curent (setat de cel mai recent StartPath, AddLineToPath, AddCurveToPath sau AddArcToPath anterior) și centrul pasat acestui apel. Pentru a desena un cerc complet, StartPath către orice punct de pe circumferința cercului și apelați AddArcToPath cu centrul dorit și o desfășurare de 360
The arc is rendered as a chain of cubic Bézier segments, accurate to within sub-pixel tolerance for typical PDF page sizes.
Exemplu
// 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);Consultați și
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd