AddArcToPath

Vektorinė grafika, kelio apibrėžimas ir braižymas

Aprašymas

Prideda apskritiminį lanką prie dabartinio kelio. Lankas braižomas aplink centro tašką (CenterX, CenterY); jo spindulys lygus atstumui nuo centro iki kelio dabartinio taško, o jis tęsiasi per TotalAngle laipsnių. Po iškvietimo dabartinis taškas tampa lanko galiniu tašku, todėl vėlesni AddLineToPath arba AddArcToPath kvietimai tęsiasi nuo jo.

Sintaksė

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

Parametrai

CenterXHorizontali lanko centro koordinatė.
CenterYVertikali lanko centro koordinatė.
TotalAngleKampinė eiga laipsniais. Teigiamos reikšmės braižo pagal laikrodžio rodyklę; neigiamos braižo prieš laikrodžio rodyklę. Reikšmė turi būti nelygi nuliui. 360 (arba -360) braižo visą apskritimą.

Grąžinamos reikšmės

0Nepavyko — nėra atidaryto dokumento, kelias nepradėtas arba TotalAngle yra nulis.
1Lankas pridėtas prie dabartinio kelio.

Pastabos

Spindulys nustatomas netiesiogiai pagal atstumą tarp dabartinio taško (nustatyto paskutiniu StartPath, AddLineToPath, AddCurveToPath arba ankstesniu AddArcToPath) ir centro, perduoto šiam kvietimui. Norėdami nubrėžti pilną apskritimą, StartPath bet kuriame apskritimo perimetro taške ir iškvieskite AddArcToPath su norimu centru bei 360 posūkiu.

Lankas vaizduojamas kaip kubinių Bézier segmentų grandinė, tikslumas išlaikomas iki subpikselinės tolerancijos tipiniams PDF puslapių dydžiams.

Pavyzdys

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

Taip pat žiūrėkite

StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd