The ImagickDraw::destroy() function is an inbuilt function in PHP which is used to free all resources associated with the ImagickDraw object.
Syntax:
bool ImagickDraw::destroy( 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 programs illustrate the ImagickDraw::destroy() function in PHP:
Program 1:
<?php // Create a new ImagickDraw object $draw = new ImagickDraw(); // Draw a circle $draw ->circle(10, 20, 600, 200); // Draw a line $draw ->line(10, 20, 600, 200); echo 'Before destroying:<br>' ; echo $draw ->getVectorGraphics(); // Destroy object $draw ->destroy(); echo '<br>After destroying:<br>' ; echo $draw ->getVectorGraphics(); ?> |
Output:
Before destroying:
UndefinedNone#0000000000001Evenodd12UndefinedUndefined0Undefined#FFFFFFFFFFFFFFFF10ButtMiter1001Undefined1#000000000000FFFFcircle 10 20 600 200 line 10 20 600 200
After destroying:
UndefinedNone#0000000000001Evenodd12UndefinedUndefined0Undefined#FFFFFFFFFFFFFFFF10ButtMiter1001Undefined1#000000000000FFFF
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(); // Draw a line $draw ->line(10, 20, 600, 200); // Render the draw commands $imagick ->drawImage( $draw ); // Destroy object after drawing $draw ->destroy(); // Show the output $imagick ->setImageFormat( 'png' ); header( "Content-Type: image/png" ); echo $imagick ->getImageBlob(); ?> |
Output:
Reference: https://www.php.net/manual/en/imagickdraw.destroy.php