используйте цветовое кодирование RGB вместо шестнадцатеричного ... вы также можете преобразовать входящее значение в rgb.
числа идут от 0 до 255. 0 - это нулевое значение этого цвета.255 - максимальное количество этого цвета.таким образом, rgb (255, 100, 0) - это максимальный красный, среднее количество зеленого и нулевой синий.
белый - это rgb (255,255,255).черный - это rgb (0,0,0)
предположим, что ваш входящий цвет был rgb (200,100,50).тогда rgb (190, 90, 40) немного затемнит его.RGB (180,80,30) будет затемнять его больше.если вы хотите сохранить цветовой тон, уменьшите каждое значение в процентах, а не на фиксированные значения.так что если вы снизитесь на 10%, тогда rgb (200, 100, 50) станет rgb (180, 90, 45).
Интересная вещь произойдет, если вы достигнете нуля.Вы могли бы тогда обернуться и начать сверху.так что если вы дошли до этого: rgb (10, 5, 0), ваш следующий цвет может быть rgb (0, 250, 245).но это был бы большой скачок цвета.