Open In App

PHP | Imagick getImageChannelDepth() Function

Last Updated : 26 Aug, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
The Imagick::getImageChannelDepth() function is an inbuilt function in PHP which is used to get the depth for channel image. Syntax:
int Imagick::getImageChannelDepth( $channel )
Parameters: This function accepts a single parameter $channel which specifies the channel constant that is valid for channel mode. The default value of channel is Imagick::CHANNEL_DEFAULT. Return Value: This function returns True on success. Below programs illustrate the Imagick::getImageChannelDepth() function in PHP: Program 1: Original Image: https://media.geeksforgeeks.org/wp-content/uploads/geeks-21.png php
<?php

// Create new imagick object
$im = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-15.png');

// Using getImageChannelDepth function
// with different channel
echo $im->getImageChannelDepth(imagick::CHANNEL_RED) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_GRAY) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_CYAN) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_GREEN) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_BLUE) . "</br>";
?>
Output:
8
8
8
8
8
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 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'); 

// Using getImageChannelDepth function
// with different channel
echo $im->getImageChannelDepth(imagick::CHANNEL_RED) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_GRAY) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_CYAN) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_GREEN) . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_BLUE) . "</br>";
?>
Output:
8
8
8
16
8
Reference: http://php.net/manual/en/imagick.getimagechanneldepth.php

Next Article

Similar Reads