PHP | Función ImagickPixel setHSL()

La función ImagickPixel::setHSL() es una función incorporada en PHP que se usa para establecer el color descrito por el objeto ImagickPixel usando valores normalizados para tono, saturación y luminosidad.

Sintaxis:

bool ImagickPixel::setHSL( float $hue, float $saturation, float $luminosity )

Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • $hue: Especifica el valor normalizado para el tono.
  • $saturación: Especifica el valor normalizado de saturación.
  • $luminosidad: Especifica el valor normalizado de luminosidad.

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

Excepciones: esta función lanza ImagickException en caso de error.

Los siguientes programas ilustran la función ImagickPixel::setHSL() en PHP:

Programa 1:

<?php
// Create a new imagickPixel object
$imagickPixel = new ImagickPixel();
  
// Set the HSL for pixel
$imagickPixel->setHSL(0.4, 0.4, 0.4);
  
// Get the HSL of pixel
$HSL = $imagickPixel->getHSL();
print("<pre>".print_r($HSL, true)."</pre>");
?>

Producción:

Array
(
    [hue] => 0.40000158942082
    [saturation] => 0.4000152590219
    [luminosity] => 0.4
)

Programa 2:

<?php
// Create a new imagick object
$imagick = new Imagick(
    'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
// Get the pixel iterator to iterate through each pixel
$imageIterator = $imagick->getPixelIterator();
  
// Loop through pixel rows
foreach ($imageIterator as $row => $pixels) {
    // Loop through the pixels in the row
    foreach ($pixels as $column => $pixel) {
  
        // Get the current HSL
        $HSL = $pixel->getHSL();
  
        // Set the HSL and change only hue
        $pixel->setHSL(0.6, $HSL['saturation'], $HSL['luminosity']);
  
    }
  
    // Sync the iterator after each iteration
    $imageIterator->syncIterator();
}
  
header("Content-Type: image/jpg");
echo $imagick;
?>

Producción:

Referencia: https://www.php.net/manual/en/imagickpixel.sethsl.php

Publicación traducida automáticamente

Artículo escrito por gurrrung 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 *