AddArcToPath

Vektorska grafika, definiranje in risanje poti

Opis

Doda krožni lok v trenutno pot. Lok je narisan okoli središčne točke (CenterX, CenterY); njegov polmer je enak razdalji od središča do trenutne točke poti, zajame pa TotalAngle stopinj. Trenutna točka po klicu je končna točka loka, zato se nadaljnji AddLineToPath ali AddArcToPath klici nadaljujejo od tam

Sintaksa

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

CenterXVodoravna koordinata središča loka
CenterYNavpična koordinata središča loka
TotalAngleKotni zamah v stopinjah. Pozitivne vrednosti se obračajo v smeri urinega kazalca; negativne v nasprotni smeri urinega kazalca. Vrednost ne sme biti 0. 360 (ali -360) nariše cel krog

Vrnjene vrednosti

0Ni uspelo — odprt ni noben dokument, pot ni bila začeta ali pa je TotalAngle enak 0
1Lok je bil dodan v trenutno pot

Opombe

Polmer je implicitno izpeljan iz razdalje med trenutno točko (ki jo nastavi najnovejši StartPath, AddLineToPath, AddCurveToPath, ali prejšnji AddArcToPath) in središčem, podanim v tem klicu. Če želite narisati cel krog, StartPath začnite na katerikoli točki krožnice in pokličite AddArcToPath z želenim središčem in zamahom 360

Lok je izrisan kot veriga kubičnih segmentov Bézierjeve krivulje, natančna do subpikselske tolerance pri tipičnih velikostih strani PDF

Primer

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

Glejte tudi

StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd