Ниже приведена концепция для программы изменения яркости / насыщения с brightness()
и saturation()
.
function brightness($colorstr, $steps) { ... return sprintf("%02x%02x%02x", $r, $g, $b); } function saturation(){ ... return sprintf("%02x%02x%02x", $r, $g, $b); }
Есть ли какие-либо существующие простые в использовании моды в Интернете, чтобы дополнить этот анус, сделать следующее:
$color2 = saturation($color,-10); /* less staurated*/ $color3 = saturation($color,+10); /* more staurated*/
Насыщенность и яркость нельзя обрабатывать одинаково (можно утверждать, что вы не правильно управляете яркостью, используя этот код, но это, вероятно, достаточно близко). См. Этот вопрос RGB для HSV в PHP для того, как преобразовать цвет в значение HSV, тогда вы можете изменить насыщенность (значение S). Затем конвертируйте обратно, используя ответ на этот вопрос PHP HSV на RGB .
Я не могу ответить на этот вопрос кодом, но я в этой статье в википедии, посвященной оттенку и цветности, очень хорошо описывает теорию.