Open In App

PHP | ImagickDraw popDefs() Function

Improve
Improve
Like Article
Like
Save
Share
Report

The ImagickDraw::popDefs() function is an inbuilt function in PHP which is used to terminate a definition list. These are usually used to define draw commands which should be safely processed earlier for the sake of efficiency. This command has no impact on the looks of the draw commands.

Syntax:

bool ImagickDraw::popDefs( void )

Parameters: This function doesn’t accepts any parameter.

Return Value: This function returns TRUE on success.

Below programs illustrate the ImagickDraw::popDefs() function in PHP:

Program 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();
?>


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 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();
?>


Output:

Reference: https://www.php.net/manual/en/imagickdraw.popdefs.php



Last Updated : 30 Dec, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads