ImagickPixel::setHSL

(PECL imagick 2.0.0)

ImagickPixel::setHSLEstablece el color HSL normalizado

Descripción

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

Establece el color descrito por el objeto ImagickPixel usando valores normalizados para el tono, saturación y luminosidad.

Parámetros

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.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

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
)

Notas

Nota:

Disponible con la versión 6.2.9 o superior de la biblioteca ImageMagick.