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

CenterXCoordonata orizontală a centrului arcului
CenterYCoordonata verticală a centrului arcului
TotalAngleUnghiul 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

0Eșec — niciun document nu este deschis, nu a fost pornit niciun traseu, sau TotalAngle este zero
1Arcul 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