La función ImagickDraw::clear() es una función incorporada en PHP que se usa para borrar el objeto ImagickDraw de cualquier comando acumulado y restablece la configuración que contiene a sus valores predeterminados.
Sintaxis:
bool ImagickDraw::clear( 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::clear() en PHP:
Programa 1:
<?php //Create a new Imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'black'); // Create a new ImagickDraw object $draw = new ImagickDraw(); // Set the text properties $draw->setFontSize(110); $draw->setFillColor('green'); // Apply the annotation() function $draw->annotation(20, 120, 'Random Content'); // Clear the object which means commands // written above are all deleted now $draw->clear(); // Set the font size $draw->setFontSize(110); $draw->setFillColor('white'); // Apply the annotation() function $draw->annotation(20, 120, 'New Content'); // Render the draw commands in the ImagickDraw object $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 text properties $draw->setFontSize(110); $draw->setFillColor('green'); // Apply the annotation() function $draw->annotation(20, 120, 'GeeksforGeeks'); // Clear the object which means commands written // above are not all deleted now $draw->clear(); // Render the draw commands in the ImagickDraw object $imagick->drawImage($draw); // Show the output $imagick->setImageFormat("png"); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
This will throw ImagickException because $draw is emptied by clear(), thus cannot be drawn.
Referencia: https://www.php.net/manual/en/imagickdraw.clear.php