(PECL imagick 2, PECL imagick 3)
ImagickPixel::setHSL — Установка нормализованного HSL цвета
Устанавливает цвет в объекте ImagickPixel, используя нормализованные значения оттенка, насыщенности и яркости.
hue
Нормализованное значение оттенка, в виде значения круговой радуги (между 0 и 1), где нулевым значением будет красный цвет.
saturation
Нормализованное значение насыщенности, где 1 означает полное насыщение.
luminosity
Нормализованное значение яркости, по шкале от 0 (чёрный) до 1 (белый), при установленном HS в значении 0.5.
В случае успешной работы возвращает true
.
Пример #1 Пример использования ImagickPixel::setHSL()
<?php
//Создание почти чистого красного цвета
$color = new ImagickPixel('rgb(90%, 10%, 10%)');
//Получение значений HSL
$colorInfo = $color->getHSL();
//Поворачиваем оттенок на 180 градусов
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
$newHue = $newHue - 1;
}
//Устанавливаем ImagickPixel в новый цвет
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);
//Проверяем, что новый цвет является голубым/зелёным
$colorInfo = $color->getcolor();
print_r($colorInfo);
?>
Результат выполнения приведённого примера:
Array ( [r] => 26 [g] => 230 [b] => 230 [a] => 255 )
Замечание:
Доступно с версии 6.2.9 и выше библиотеки ImageMagick.