В простом случае достаточно домножить каждую компоненту цвета на некий коэффициент, который чуть больше единицы, округлить и собрать новый увет.
Можно перевести цвет из RGB в LAB и прибавить немного к компрненте L, а за оттенок в этом формате отвечают компоненты A и B, так что их оставляем неизменными.
Если заморочитьс яглубже, то есть много статей в сети про то, как устоен цвет, как воспринимаются цвета, яркость и прочее. Вот пример:
https://habr.com/ru/post/304210/
И таких статей полно. Если вам нужно что-то вроде этого, то вы, видимо, просто не пытались искать.