(PECL imagick 2.0.0)
ImagickPixel::setHSL — Establece el color HSL normalizado
$hue
, float $saturation
, float $luminosity
) : boolEstablece el color descrito por el objeto ImagickPixel usando valores normalizados para el tono, saturación y luminosidad.
hueEl valor normalizado del tono, descrito como un arco fraccionario (entre 0 y 1) del círculo tonal, donde el valor cero es rojo.
saturationEl valor normalizado de la saturación, con 1 como saturación completa.
luminosityEl 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.