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( 'neveropen.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( 'neveropen.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( 'neveropen.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, 'neveropen' ); // 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