Отправить заявку

PHP: генерирование оттенков

Существуют различные способы установки цвета. Два самых популярных значения в Сети являются HEX и RGB. Оба этих значения имеют логическую формулу работы с помощью которой мы можем легко сгенерировать оттенки нужного нам цветового значения.

Самый простой способ получить другой оттенок цвета, чтобы использовать значение RGB, это потому, чем выше значение, тем светлее цвет, а чем меньше значение, тем цвет будет темнее. Так что все, что нам нужно делать - это взять начальное значение цвета, преобразовать его в RGB и удалить или добавить нужный процент.

Чтобы преобразовать цвета в RGB PHP есть функция HexDec(), которую мы используем, чтобы вернуть десятичное значение шестнадцатеричного значения.

Напишем две элементарные функции, которые будет делать нам оттенки.

function hex2rgb($hex)
{
    return array(
            hexdec(substr($hex,1,2)),
            hexdec(substr($hex,3,2)),
            hexdec(substr($hex,5,2))
        );
}

function different_shade($rgb, $type)
{
     $newShade = array();
     $percentageChange = 7.5;

     if($type == 'lighter')
     {
         $newShade = Array(
                255-(255-$rgb[0]) + $percentageChange,
                255-(255-$rgb[1]) + $percentageChange,
                255-(255-$rgb[2]) + $percentageChange
            );
     } else {
         $newShade = Array(
                $rgb[0] - $percentageChange,
                $rgb[1] - $percentageChange,
                $rgb[2] - $percentageChange
            );
     }

     return $newShade;
}

Используя эти две функции вы сможете получить различные оттенки цвета.
Помните, что значения RGB в диапазоне от 0 до 255 поэтому убедитесь, что ваш новый оттенок в этом диапазоне.

Другие публикации