|
|
|
| Есть некоторый цвет в RGB, Например, #D8DEF3
Подскажите, пожалуйста, как можно автоматически подобрать для него другой оттенок.
Близкий, но другой.. Но чтобы не было так.. что был синий, а стал желтый или зеленый.
Такое вообще возможно?
На ум приходит такое решение.
Создаем при помощи библиотеки GD рисунок этого цвета, к нему применяем прозрачность (если такое можно) и определяем, какой получился цвет... Правильно? :)
Или есть какие-то другие варианты? | |
|
|
|
|
|
|
|
для: Jaroslav
(26.11.2009 в 13:48)
| | Берем RGB цвет, например #d8def3
Разбиваем на составляющие (по 2 символа)
d8, de, f3 прибавляем или вычитаем одинаковое число к каждому цвету, получаем цвет светлее или темнее, можно прибавлять число только к одному цвету.
$s = 10; // интервал
$r = D8 = 216 + $s = 226 = E2
$g = DE = 222 + $s = 232 = E8
$b = F3 = 243 + $s = 253 = FD
|
| |
|
|
|
|
|
|
|
для: Петр
(26.11.2009 в 14:13)
| | Спасибо.
А как переводится:
D8 = 216
DE = 222
F3 = 243
? Ещё такой вопросик остался.. | |
|
|
|
|
|
|
|
для: Jaroslav
(26.11.2009 в 17:51)
| | hexdec()
Если у вас есть цвет D8DEF3, то вы можете получить индекс этого цвета:
$color = imagecolorsforindex($im, hexdec("D8DEF3"));
|
по которому можно установить любой цвет:
$color = imagecolorallocate ($im, $color['red']+Ri, $color['green']+Gi, $color['blue']+Bi);
|
| |
|
|
|
|
|
|
|
для: sim5
(27.11.2009 в 04:10)
| | Большое спасибо :) | |
|
|
|