The ImagickDraw::clear() function is an inbuilt function in PHP which is used to clear the ImagickDraw object of any accumulated commands, and resets the settings it contains to their defaults.
Syntax:
bool ImagickDraw::clear( void )
Parameters: This function doesn’t accepts any parameter.
Return Value: This function returns TRUE on success.
Exceptions: This function throws ImagickException on error.
Below given programs illustrate the ImagickDraw::clear() function in PHP:
Program 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();
?> |
Output:
Program 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();
?> |
Output:
This will throw ImagickException because $draw is emptied by clear(), thus cannot be drawn.
Reference: https://www.php.net/manual/en/imagickdraw.clear.php