Получить оттенок цвета с помощью PHP

Я хочу получить более яркую шестнадцатеричную цветовую выемку из заданного шестнадцатеричного значения с помощью PHP. Например, я даю цвет #cc6699 качестве входных данных, и я хочу #ee88aa в качестве выходного цвета. Как мне это сделать в PHP?

Вам нужно преобразовать цвет в RGB, внести дополнения и конвертировать обратно:

 // Convert string to 3 decimal values (0-255) $rgb = array_map('hexdec', str_split("cc6699", 2)); // Modify color $rgb[0] += 34; $rgb[1] += 34; $rgb[2] += 17; // Convert back $result = implode('', array_map('dechex', $rgb)); echo $result; 

Смотрите здесь в действии .

1. разделите цвет на три элемента: cc, 66, 99 2. Преобразуйте его в десятичный с помощью http://php.net/manual/de/function.hexdec.php 3. Увеличьте три десятичных значения 4. Преобразуйте десятичные числа в шестнадцатеричные снова 5. Сложите три элемента вместе

Не имеет прямого отношения к вашему вопросу, но эта статья интересна для преобразования цвета: http://beesbuzz.biz/code/hsv_color_transforms.php

Лучшим решением является преобразование RGB в HSL или HSV (просто поиск Google для php-конвертора hsl / hsv ).

Затем вы можете играть со значениями «легкость» или «значение» цветового пространства.

После этого конвертируйте его обратно в цветовое пространство RGB.