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

CenterXLa coordenada horizontal del centro del arco
CenterYLa coordenada vertical del centro del arco
TotalAngleBarrido 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

0Fallo: no hay ningún documento abierto, no se ha iniciado ninguna ruta o TotalAngle es cero
1El 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