La función ImagickDraw::popDefs() es una función incorporada en PHP que se usa para terminar una lista de definiciones. Por lo general, se usan para definir comandos de dibujo que deben procesarse antes de manera segura en aras de la eficiencia. Este comando no tiene impacto en la apariencia de los comandos de dibujo.
Sintaxis:
bool ImagickDraw::popDefs( void )
Parámetros: Esta función no acepta ningún parámetro.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función ImagickDraw::popDefs() 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 some properties of objects $draw->setStrokeColor('red'); $draw->setFillColor('purple'); $draw->setStrokeWidth(2); $draw->setFontSize(72); // Create a definition $draw->pushDefs(); $draw->setStrokeColor('green'); $draw->rectangle(150, 50, 300, 200); $draw->popDefs(); // Draw a rectangle $draw->rectangle(400, 50, 550, 200); // 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 some properties of objects $draw->setStrokeColor('red'); $draw->setFillColor('purple'); $draw->setStrokeWidth(2); $draw->setFontSize(72); // Create a definition $draw->pushDefs(); $draw->setStrokeColor('green'); $draw->circle(150, 50, 200, 200); $draw->popDefs(); // Draw a circle $draw->circle(400, 50, 450, 200); // 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.popdefs.php