La función ImagickDraw::pushClipPath() es una función incorporada en PHP que se usa para iniciar una definición de ruta de recorte. Las rutas de recorte se utilizan para crear una región de recorte que decide qué parte de una imagen debe mostrarse. Se muestran las partes que están dentro de la región, mientras que las que están fuera están ocultas.
Sintaxis:
bool ImagickDraw::pushClipPath( string $clip_mask_id )
Parámetros: esta función acepta un solo parámetro $clip_mask_id que contiene el nombre de la ruta del clip.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función ImagickDraw::pushClipPath() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'white'); // Create a new imagickDraw object $draw = new ImagickDraw(); // Set the stroke color $draw->setStrokeColor('blue'); // Set the fill color $draw->setFillColor('cyan'); // Set the stroke width $draw->setStrokeWidth(2); // Push the clip path $draw->pushClipPath('testClipPath'); // Create a rectangle which is // the area to be clipped $draw->rectangle(0, 0, 300, 300); // Pop the clip path $draw->popClipPath(); // Set the clip path $draw->setClipPath('testClipPath'); $draw->circle(150, 50, 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:
Programa 2:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'white'); // Create a new imagickDraw object $draw = new ImagickDraw(); // Set the fill color $draw->setFillColor('green'); // Set the font size $draw->setFontSize(90); // Push the clip path $draw->pushClipPath('testClipPath'); // Create a circle which is // the area to be clipped $draw->circle(200, 200, 300, 300); // Pop the clip path $draw->popClipPath(); // Set the clip path $draw->setClipPath('testClipPath'); // Annotate a text $draw->annotation(115, 200, 'GeeksforGeeks'); // 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.pushclippath.php