La función ImagickDraw::pathFinish() es una función incorporada en PHP que se usa para terminar la ruta actual. Esto es necesario cuando se van a dibujar varias rutas en la imagen.
Sintaxis:
bool ImagickDraw::pathFinish( void )
Parámetros: Esta función no acepta ningún parámetro.
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::pathFinish() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, '#1a65f0'); // Create a new ImagickDraw object $draw = new ImagickDraw(); $draw->setFillColor('#2fceeb'); // Set the stroke color $draw->setStrokeColor('black'); // Set the stroke width $draw->setStrokeWidth(15); // Create a path $draw->pathStart(); $draw->pathMoveToAbsolute(50, 50); $draw->pathLineToAbsolute(100, 50); $draw->pathLineToRelative(0, 50); $draw->pathLineToHorizontalRelative(-50); $draw->pathFinish(); // Create another path $draw->pathStart(); $draw->pathMoveToAbsolute(50, 50); $draw->pathMoveToRelative(300, 0); $draw->pathLineToRelative(50, 0); $draw->pathLineToVerticalRelative(50); $draw->pathLineToHorizontalAbsolute(350); $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, '#1a65f0'); // Create a new ImagickDraw object $draw = new ImagickDraw(); $draw->setFillColor('red'); // Set the stroke color $draw->setStrokeColor('black'); // Set the stroke width $draw->setStrokeWidth(1); // Create a path $draw->pathStart(); $draw->pathMoveToAbsolute(50, 50); $draw->pathLineToAbsolute(100, 150); $draw->pathLineToRelative(0, 50); $draw->pathLineToHorizontalRelative(-50); $draw->pathFinish(); $x = 0; for ($x; $x < 10; $x++) { // Create another path $draw->pathStart(); $draw->pathMoveToAbsolute(50, 150); $draw->pathMoveToRelative($x * 100, 0); $draw->pathLineToRelative(50, 0); $draw->pathLineToVerticalRelative(50); $draw->pathLineToHorizontalAbsolute(350); $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:
Referencia: https://www.php.net/manual/en/imagickdraw.pathfinish.php