La función ImagickDraw::pathEllipticArcAbsolute() es una función incorporada en PHP que se usa para dibujar un arco elíptico desde el punto actual hasta (x, y) usando coordenadas absolutas.
Sintaxis:
bool ImagickDraw::pathEllipticArcAbsolute( float $rx, float $ry, float $x_axis_rotation, bool $large_arc_flag, bool $sweep_flag, float $x, float $y )
Parámetros: esta función acepta siete parámetros, como se mencionó anteriormente y se describe a continuación:
- $rx: Especifica el radio x.
- $ry: Especifica el radio y
- $x_axis_rotation: Especifica la rotación del eje x
- $large_arc_flag: Especifica si dibujar el mayor de los arcos disponibles.
- $sweep_flag: especifica si se debe dibujar el arco que coincida con una rotación en el sentido de las agujas del reloj.
- $x: Especifica la coordenada x.
- $y: Especifica la coordenada y.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función ImagickDraw::pathEllipticArcAbsolute() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'green'); // Create a new ImagickDraw object $draw = new ImagickDraw(); $draw->setFillColor('blue'); // Set the stroke color $draw->setStrokeColor('red'); // Set the stroke width $draw->setStrokeWidth(15); // Draw elliptic arc $draw->pathStart(); $draw->pathEllipticArcAbsolute(420, 250, 10, true, true, 40, 40); $draw->pathClose(); $draw->pathFinish(); // Render the draw commands $imagick->drawImage($draw); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, '#E57733'); // Create a new ImagickDraw object $draw = new ImagickDraw(); // Set the width of stroke $draw->setStrokeWidth(1); // Set the color of stroke $draw->setStrokeColor('#E57733'); // Set the fill color $draw->setFillColor('black'); // Set the fill rule $draw->setFillRule(Imagick::FILLRULE_NONZERO); // Draw a sunset cartoon $draw->pathStart(); $draw->pathMoveToAbsolute(0, 100); $draw->pathEllipticArcAbsolute(420, 400, 410, true, true, 0, 900); $draw->pathMoveToAbsolute(300, 250); $draw->pathEllipticArcAbsolute(420, 600, 410, true, true, 0, 900); $draw->pathClose(); $draw->pathFinish(); $draw->setFillColor('yellow'); $draw->translate(30, 0); $draw->circle(300, 100, 300, 150); // Render the draw commands $imagick->drawImage($draw); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagickdraw.pathellipcarabsolute.php