AddArcToPath
Vektorigrafiikka, polkujen määrittely ja piirto
Kuvaus
Lisää nykyiseen polkuun ympyräkaaren. Kaari piirretään keskipisteen (CenterX, CenterY) ympärille; sen säde on etäisyys keskipisteestä polun nykyiseen pisteeseen, ja se kaartaa TotalAngle asteen verran. Nykyinen piste kutsun jälkeen on kaaren loppupiste, joten myöhemmät AddLineToPath- tai AddArcToPath-kutsut jatkavat siitä
Syntaksi
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);
Parametrit
| CenterX | Kaaren keskipisteen vaakakoordinaatti |
|---|---|
| CenterY | Kaaren keskipisteen pystykoordinaatti |
| TotalAngle | Kaaraus asteina. Positiiviset arvot kaartavat myötäpäivään; negatiiviset vastapäivään. Arvon on oltava ei-nolla. Arvo 360 (tai -360) piirtää koko ympyrän |
Paluuarvot
| 0 | Epäonnistui — mikään asiakirja ei ole avoinna, polkua ei ole aloitettu tai TotalAngle on nolla |
|---|---|
| 1 | Kaari lisättiin nykyiseen polkuun |
Huomautukset
Säde johdetaan implisiittisesti etäisyydestä nykyisen pisteen (jonka viimeisin StartPath-, AddLineToPath-, AddCurveToPath- tai aiempi AddArcToPath-kutsu asetti) ja tämän kutsun välittämän keskipisteen väliltä. Koko ympyrän piirtämiseen tee StartPath ympyrän kehällä olevaan pisteeseen ja kutsu AddArcToPathia halutulla keskipisteellä ja kaarauksella 360
Kaari renderöidään kolmannen asteen Bézier-segmenttien ketjuna, tarkkuudeltaan alle pikselin toleranssissa tavallisille PDF-sivukoille
Esimerkki
// 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);Katso myös
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd