AddArcToPath
Gráficos vetoriais, definição e desenho de caminhos
Descrição
Adiciona um arco circular ao caminho atual. O arco é desenhado em torno do ponto central (CenterX, CenterY); o respetivo raio é igual à distância do centro ao ponto atual do caminho e percorre TotalAngle graus. O ponto atual após a chamada é o ponto final do arco, pelo que chamadas posteriores de AddLineToPath ou AddArcToPath continuam a partir daí
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
| CenterX | A coordenada horizontal do centro do arco |
|---|---|
| CenterY | A coordenada vertical do centro do arco |
| TotalAngle | A amplitude angular em graus. Os valores positivos avançam no sentido dos ponteiros do relógio e os valores negativos no sentido contrário. O valor tem de ser diferente de zero. 360 (ou -360) desenha um círculo completo |
Valores devolvidos
| 0 | Falha — não há nenhum documento aberto, não foi iniciado nenhum caminho ou TotalAngle é zero |
|---|---|
| 1 | O arco foi adicionado ao caminho atual |
Observações
O raio é obtido implicitamente a partir da distância entre o ponto atual (definido pela chamada mais recente a StartPath, AddLineToPath, AddCurveToPath ou o AddArcToPath anterior) e o centro passado a esta chamada. Para desenhar um círculo completo, chame StartPath num ponto qualquer da circunferência e chame AddArcToPath com o centro pretendido e uma amplitude de 360
O arco é composto como uma cadeia de segmentos Bézier cúbicos, com uma exatidão dentro da tolerância inferior ao píxel para tamanhos típicos de páginas PDF
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);Consulte também
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd