La función Gmagick::setimagechannel depth() es una función incorporada en PHP que se usa para establecer la profundidad de una imagen de canal en particular.
Sintaxis:
Gmagick Gmagick::setimagechanneldepth( $channel , $depth )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $channel: este parámetro se utiliza para especificar la constante del canal. A continuación se muestra la lista de constantes de canal:
Constantes de CANAL:- 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
- $profundidad: este parámetro se usa para especificar la profundidad que se establecerá para el objeto Gmagick.
Valor de retorno: esta función devuelve el objeto Gmagick en caso de éxito.
Los siguientes programas ilustran la función Gmagick::setimagechannel depth() en PHP:
Programa 1:
Imagen original:
<?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>"; ?>
Producción:
Before Set Channel depth: 8 After Set Channel depth: 4
Programa 2:
Imagen original:
<?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>"; ?>
Producción:
Before Set Channel depth: 16 After Set Channel depth: 8
Referencia: http://php.net/manual/en/gmagick.setimagechannel depth.php