Существуют различные способы установки цвета. Два самых популярных значения в Сети являются 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 поэтому убедитесь, что ваш новый оттенок в этом диапазоне.