AddArcToPath

Gráficos vetoriais, Definição e desenho de caminhos

Descrição

Adiciona um arco circular ao path atual. O arco é desenhado ao redor do ponto central (CenterX, CenterY); o raio dele é a distância do centro ao ponto atual do path, e ele varre TotalAngle graus. O ponto atual após a chamada é o ponto final do arco, então chamadas subsequentes de AddLineToPath ou AddArcToPath continuam dali.

Sintaxe

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

Parâmetros

CenterXA coordenada horizontal do centro do arco.
CenterYA coordenada vertical do centro do arco.
TotalAngleA varredura angular em graus. Valores positivos varrem no sentido horário; negativos, no anti-horário. O valor deve ser diferente de zero. 360 (ou -360) desenha um círculo completo.

Valores retornados

0Failed — no document is open, no path has been started, or TotalAngle is zero.
1O arco foi adicionado ao path atual.

Observações

O raio é derivado implicitamente da distância entre o ponto atual (definido pela chamada mais recente de StartPath, AddLineToPath, AddCurveToPath ou AddArcToPath anterior) e o centro passado a esta chamada. Para desenhar um círculo completo, faça StartPath em qualquer ponto da circunferência do círculo e chame AddArcToPath com o centro desejado e uma varredura 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.

Exemplo

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

Veja também

StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd