Open In App

PHP | Gmagick setimagechanneldepth() Function

Last Updated : 29 Aug, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
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:
  • $channel: This parameter is used to specify the channel constant. Below is the list of constant channel: CHANNEL constants:
    • Gmagick::CHANNEL_UNDEFINED
    • Gmagick::CHANNEL_RED
    • Gmagick::CHANNEL_GRAY
    • Gmagick::CHANNEL_CYAN
    • Gmagick::CHANNEL_GREEN
    • Gmagick::CHANNEL_MAGENTA
    • Gmagick::CHANNEL_BLUE
    • Gmagick::CHANNEL_YELLOW
    • Gmagick::CHANNEL_ALPHA
    • Gmagick::CHANNEL_OPACITY
    • Gmagick::CHANNEL_MATTE
    • Gmagick::CHANNEL_BLACK
    • Gmagick::CHANNEL_INDEX
    • Gmagick::CHANNEL_ALL
    • Gmagick::CHANNEL_DEFAULT
  • $depth: This parameter is used to specify the depth to be set for Gmagick object.
Return Value: This function returns the Gmagick object on success. Below programs illustrate the Gmagick::setimagechanneldepth() function in PHP: Program 1: Original Image: https://media.geeksforgeeks.org/wp-content/uploads/geeks-21.png php
<?php
 
// Create new Gmagick object
$im = new Gmagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-15.png');
 
// 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: https://media.geeksforgeeks.org/wp-content/uploads/Screenshot-from-2018-10-16-23-23-54.png php
<?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

Next Article

Similar Reads