(PECL imagick 2, PECL imagick 3)
ImagickPixel::setHSL — Establece el color HSL normalizado
Establece el color descrito por el objeto ImagickPixel usando valores normalizados para el tono, saturación y luminosidad.
hue
El valor normalizado del tono, descrito como un arco fraccionario (entre 0 y 1) del círculo tonal, donde el valor cero es rojo.
saturation
El valor normalizado de la saturación, con 1 como saturación completa.
luminosity
El valor normalizado de la luminosidad, en una escala desde negro con 0 a blanco con 1, con el valor completo de HS en 0.5 de luminosidad.
Devuelve true
en caso de éxito.
Ejemplo #1 Usar ImagickPixel::setHSL() para modificar un color
<?php
//Crear un color rojo casi puro
$color = new ImagickPixel('rgb(90%, 10%, 10%)');
//Obtener sus valores HSL
$colorInfo = $color->getHSL();
//Rotar el tono 180 grados
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
$newHue = $newHue - 1;
}
//Establecer el objeto ImagickPixel para el nuevo color
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);
//Comprobar que el nuevo color es 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 con la versión 6.2.9 o superior de la biblioteca ImageMagick.