ImagickPixel::setHSL

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setHSLDefine a cor HSL normalizada

Descrição

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

Define a cor descrita pelo objeto ImagickPixel usando valores normalizados para matiz, saturação e luminosidade.

Parâmetros

hue

O valor normalizado para matiz, descrito como um arco fracionário (entre 0 e 1) do círculo de matiz, onde o valor zero é vermelho.

saturation

O valor normalizado para saturação, com 1 como saturação total.

luminosity

O valor normalizado para luminosidade, em uma escala de preto em 0 a branco em 1, com o valor HS total em luminosidade 0.5.

Valor Retornado

Retorna true em caso de sucesso.

Exemplos

Example #1 Use ImagickPixel::setHSL() para modificar uma cor

<?php

// Cria uma cor vermelha quase pura
$color = new ImagickPixel('rgb(90%, 10%, 10%)');

// Obtém seus valores HSL
$colorInfo = $color->getHSL();

// Rotaciona o matiz em 180 graus
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
    $newHue = $newHue - 1;
}

// Define o ImagickPixel com a nova cor
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);

// Verifica se a nova cor é azul/verde
$colorInfo = $color->getcolor();
print_r($colorInfo);

?>

O exemplo acima produzirá:

Array
(
    [r] => 26
    [g] => 230
    [b] => 230
    [a] => 255
)

Notas

Note:

Disponível com a biblioteca ImageMagick versão 6.2.9 e superiores.