(PECL imagick 2, PECL imagick 3)
ImagickPixel::setHSL — Define el color HSL normalizado
Define el color descrito por el objeto ImagickPixel utilizando los valores normalizados para la densidad, la saturación y la luminosidad.
hue
El valor normalizado para la densidad, descrito por un arco fraccionario (entre 0 y 1) del círculo de densidad, cuyo valor cero corresponde a rojo.
saturation
El valor normalizado para la saturación, donde 1 corresponde a una saturación completa.
luminosity
El valor normalizado para la luminosidad, comprendido entre 0 (negro) y 1 (blanco), con el valor HS completo a 0.5 de luminosidad.
Devuelve true
en caso de éxito.
Ejemplo #1 Ejemplo con ImagickPixel::setHSL() para modificar un color
<?php
// Crea un rojo puro
$color = new ImagickPixel('rgb(90%, 10%, 10%)');
// Obtiene sus valores HSL
$colorInfo = $color->getHSL();
// Realiza una rotación del tono de 180 grados
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
$newHue = $newHue - 1;
}
// Define el objeto ImagickPixel al nuevo color
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);
// Verifica que el nuevo color sea azul/verde
$colorInfo = $color->getcolor();
print_r($colorInfo);
?>
El resultado del ejemplo sería:
Array ( [r] => 26 [g] => 230 [b] => 230 [a] => 255 )
Nota:
Disponible a partir de la versión 6.2.9 de la biblioteca ImageMagick.