Open In App

PHP | Gmagick setimagechanneldepth() Function

The Gmagick::setimagechanneldepth() function is an inbuilt function in PHP which is used to set the depth of a particular channel image.

Syntax:



Gmagick Gmagick::setimagechanneldepth( $channel , $depth )

Parameters: This function accepts two parameters as mentioned above and described below:

Return Value: This function returns the Gmagick object on success.

Below programs illustrate the Gmagick::setimagechanneldepth() function in PHP:

Program 1:
Original Image:




<?php
   
// Create new Gmagick object
$im = new Gmagick(
   
// Using getImageChannelDepth function
// with red channel
echo "Before Set Channel depth: " . "</br>";
echo $im->getImageChannelDepth(Gmagick::CHANNEL_RED) . "</br>";
   
// Set channel Depth of CYAN and GREEN Channel
$im->setimagechanneldepth(Gmagick::CHANNEL_RED, 4);
   
echo "After Set Channel depth: " . "</br>";
echo $im->getImageChannelDepth(Gmagick::CHANNEL_RED) . "</br>";
  
?>

Output:

Before Set Channel depth:
8
After Set Channel depth:
4

Program 2:
Original Image:




<?php 
   
$string = "Computer Science portal for Geeks!"
   
// Creating new image of above String 
// and add color
$im = new Gmagick(); 
$draw = new GmagickDraw(); 
   
// Fill the color in image 
$draw->setFillColor(new GmagickPixel('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 GmagickPixel('white')); 
   
// Draw the image         
$im->drawImage($draw); 
$im->setImageFormat('jpeg'); 
   
// Using getImageChannelDepth function
// with red channel
echo "Before Set Channel depth: " . "</br>";
echo $im->getImageChannelDepth(Gmagick::CHANNEL_GREEN) . "</br>";
   
// Set channel Depth of Green Channel
$im->setimagechanneldepth(Gmagick::CHANNEL_GREEN, 8);
   
echo "After Set Channel depth: " . "</br>";
echo $im->getImageChannelDepth(Gmagick::CHANNEL_GREEN) . "</br>";
  
?>

Output:

Before Set Channel depth:
16
After Set Channel depth:
8

Reference: http://php.net/manual/en/gmagick.setimagechanneldepth.php


Article Tags :