Skip to content
Related Articles

Related Articles

Improve Article

PHP | Imagick setImageDepth() Function

  • Last Updated : 03 Mar, 2021

The Imagick::setImageDepth() function is an inbuilt function in PHP which is used to set the depth of a particular image.
Syntax: 
 

bool Imagick::setImageDepth( $depth )

Parameters: This function accepts a single parameter $depth which is an integer value and used to set the depth of image.
Return Value: This function returns true on success.
Below program illustrates the Imagick::setImageDepth() function in PHP: 
Original Image: 
 

Program 1: 
 

php






<?php
 
// require_once('path/vendor/autoload.php');
   
// Create an Imagick Object
$image = new Imagick(
   
// Use getImageDepth function to find the depth
// of image
$res= $image->getImageDepth();
   
// Display the depth of image
echo "Previous Depth" . $res;
 
$image->setImageDepth(20);
 
$res = $image->getImageDepth();
echo "</br>After Set Depth" . $res;
?>

Output: 
 

Previous Depth 8
After Set Depth 20

Original Image: 
 

https://media.geeksforgeeks.org/wp-content/uploads/Screenshot-from-2018-10-16-23-23-54-1.png

Program 2: 
 

php




<?php
$string = "Computer Science portal for Geeks!";
     
// creating new image of above String
// and add color and background
$im = new Imagick();
$draw = new ImagickDraw();
    
// Fill the color in image
$draw->setFillColor(new ImagickPixel('green'));
    
// Set the text font size
$draw->setFontSize(50);
    
$metrix = $im->queryFontMetrics($draw, $string);
$draw->annotation(0, 40, $string);
$im->newImage($metrix['textWidth'], $metrix['textHeight'],
         new ImagickPixel('white'));
             
// Draw the image         
$im->drawImage($draw);
    
$im->setImageFormat('jpeg');
 
$dpth = $im->getImageDepth();
    
// Display the depth of image
print("Previous Depth = " . $dpth);
  
$im->setImageDepth(20);
$dpthnew = $im->getImageDepth();
  
// Display the depth of image
print("</br>Depth After Set  = " . $dpthnew);
?>

Output: 
 

Previous Depth = 8
Depth After Set = 20

Reference: http://php.net/manual/en/imagick.setimagedepth.php
 




My Personal Notes arrow_drop_up
Recommended Articles
Page :