AddArcToPath
Gráficos vectoriales, definición y dibujo de trazados
Descripción
Agrega un arco circular a la ruta actual. El arco se dibuja alrededor del punto central (CenterX, CenterY); su radio equivale a la distancia desde el centro hasta el punto actual de la ruta y recorre TotalAngle grados. El punto actual después de la llamada es el punto 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 | El barrido angular en grados; los valores positivos recorren en sentido horario y los negativos en sentido antihorario; el valor debe ser distinto de cero; 360 (o -360) dibuja un círculo completo |
Valores devueltos
| 0 | Error — no hay un documento abierto, no se inició ninguna ruta o TotalAngle es cero |
|---|---|
| 1 | El arco se agregó al trazado 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 AddArcToPath anterior) y el centro pasado a esta llamada Para dibujar un círculo completo, use StartPath en cualquier punto de la circunferencia del círculo y llame a AddArcToPath con el centro deseado y un barrido de 360
El arco se representa como una cadena de segmentos Bézier cúbicos, con una precisión de tolerancia subpíxel para tamaños de página PDF habituales
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