Open In App

PHP | ImagickDraw clear() Function

Last Updated : 19 Dec, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

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



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads