PHP | Función Imagick setImageChannelDepth()

La función Imagick::setImageChannelDepth() es una función incorporada en PHP que se usa para establecer la profundidad de una imagen de canal en particular.

Sintaxis:

bool Imagick::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:
    • imagick::CHANNEL_UNDEFINED
    • imagick::CHANNEL_RED
    • imagick::CHANNEL_GRAY
    • imagick::CHANNEL_CYAN
    • imagick::CHANNEL_GREEN
    • imagick::CHANNEL_MAGENTA
    • imagick::CHANNEL_BLUE
    • imagick::CANAL_AMARILLO
    • imagick::CANAL_ALFA
    • imagick::CANAL_OPACIDAD
    • imagick::CHANNEL_MATTE
    • imagick::CANAL_NEGRO
    • imagick::INDICE_CANAL
    • imagick::CHANNEL_ALL
    • imagick::CHANNEL_DEFAULT
  • $profundidad: este parámetro se usa para especificar la profundidad que se establecerá para el objeto Imagick.

Valor de retorno: esta función devuelve True en caso de éxito.

Los siguientes programas ilustran la función Imagick::setImageChannelDepth() en PHP:

Imagen original:
https://media.geeksforgeeks.org/wp-content/uploads/geeks-21.png

Programa 1:

<?php
  
// Create new Imagick object
$im = new Imagick(
'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(imagick::CHANNEL_RED) . "</br>";
  
// Set channel Depth of CYAN and GREEN Channel
$im->setImageChannelDepth(imagick::CHANNEL_RED, 4);
  
echo "After Set Channel depth: " . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_RED) . "</br>";
?>

Producción:

Before Set Channel depth:
8
After Set Channel depth:
4

Imagen original:
https://media.geeksforgeeks.org/wp-content/uploads/Screenshot-from-2018-10-16-23-23-54.png

Programa 2:

<?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 red channel
echo "Before Set Channel depth: " . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_GREEN) . "</br>";
  
// Set channel Depth of Green Channel
$im->setImageChannelDepth(imagick::CHANNEL_GREEN, 8);
  
echo "After Set Channel depth: " . "</br>";
echo $im->getImageChannelDepth(imagick::CHANNEL_GREEN) . "</br>";
?>

Producción:

Before Set Channel depth:
16
After Set Channel depth:
8

Referencia: http://php.net/manual/en/imagick.setimagechannel depth.php

Publicación traducida automáticamente

Artículo escrito por R_Raj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *