067 607 57 84
МЕНЮ

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 тому переконайтеся, що ваш новий відтінок у цьому діапазоні.