The Gmagick::separateimagechannel() function is an inbuilt function in PHP which is used to separate a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.
Syntax:
Gmagick Gmagick::separateimagechannel( int $channel )
Parameters: This function accepts a single parameter $channel which holds the integer value corresponding to one of the CHANNEL constants.
Return Value: This function returns Gmagick object on success.
Exceptions: This function throws GmagickException on error.
Below given programs illustrate the Gmagick::separateimagechannel() function in PHP:
Used Image:
Program 1 (Separating the RED channel):
<?php // Create a new Gmagick object $gmagick = new Gmagick( 'geeksforgeeks.png' );
// Separate the Gmagick::CHANNEL_RED $gmagick ->separateimagechannel(Gmagick::CHANNEL_RED);
// Display the image header( "Content-Type: image/png" );
echo $gmagick ;
?> |
Output:
Program 2 (Separating the Green channel):
<?php // Create a new Gmagick object $gmagick = new Gmagick( 'geeksforgeeks.png' );
// Separate the Gmagick::CHANNEL_GREEN $gmagick ->separateimagechannel(Gmagick::CHANNEL_GREEN);
// Display the image header( "Content-Type: image/png" );
echo $gmagick ;
?> |
Output:
Program 3 (For a drawing):
<?php // Create a new Gmagick object $gmagick = new Gmagick( 'geeksforgeeks.png' );
// Create a GmagickDraw object $draw = new GmagickDraw();
// Set the color $draw ->setFillColor( 'white' );
// Function to draw rectangle $draw ->rectangle(0, 0, 800, 400);
// Set the fill color $draw ->setFillColor( 'yellow' );
// Set the font size $draw ->setfontsize(50);
// Annotate a text $draw ->annotate(30, 100, 'GeeksforGeeks' );
// Use of drawimage function $gmagick ->drawImage( $draw );
// Separate the Gmagick::CHANNEL_BLUE $gmagick ->separateimagechannel(Gmagick::CHANNEL_BLUE);
// Display the output image header( "Content-Type: image/png" );
echo $gmagick ->getImageBlob();
?> |
Output:
Reference: https://www.php.net/manual/en/gmagick.separateimagechannel.php