AddArcToPath
Gráficos vectoriales, definición y trazado de rutas
Descripción
Añade un arco circular a la ruta actual. El arco se dibuja alrededor del punto central (CenterX, CenterY); su radio es igual a la distancia entre el centro y el punto actual de la ruta, y abarca TotalAngle grados. El punto actual después de la llamada es el extremo final del arco, por lo que las llamadas posteriores a AddLineToPath o AddArcToPath continúan desde allí
Sintaxis
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 | La coordenada horizontal del centro del arco |
|---|---|
| CenterY | La coordenada vertical del centro del arco |
| TotalAngle | Barrido angular en grados. Los positivos avanzan en sentido horario y los negativos antihorario. Debe ser distinto de cero; 360 o -360 dibuja un círculo |
Valores devueltos
| 0 | Fallo: no hay ningún documento abierto, no se ha iniciado ninguna ruta o TotalAngle es cero |
|---|---|
| 1 | El arco se añadió a la ruta actual |
Observaciones
El radio se deriva implícitamente de la distancia entre el punto actual (establecido por la llamada más reciente a StartPath, AddLineToPath, AddCurveToPath o un AddArcToPath anterior) y el centro pasado a esta llamada. Para dibujar un círculo completo, llame a StartPath con cualquier punto de la circunferencia y a AddArcToPath con el centro deseado y un barrido de 360
El arco se renderiza como una cadena de segmentos Bézier cúbicos, con una precisión dentro de la tolerancia de subpíxel para los tamaños habituales de página PDF
Ejemplo
// 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);Véase también
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd