Создать N последовательных равноотстоящих лабораторных цветов от темного до светлого
Я пытаюсь создать эквидистантные / последовательные цвета, используя цветовое пространство LAB. Есть похожие вопросы, спрашивающие, как это сделать, но не специфичные для LAB.
По сути, идеальная функция позволила бы вам придать ему один лабораторный цвет и дать вам светлые и темные оттенки этого цвета, пока он не достигнет максимальной яркости / темноты. В идеале я мог бы дать ему второй параметр того, сколько оттенков создать.
Я могу создавать светлые и темные цвета, используя RGB. Однако я не уверен, как это сделать, используя цветовое пространство LAB. Я использую Python.
Вот функция, которую я имею до сих пор:
def color_variant(self, target_hex, offset=50):
if len(target_hex) != 7:
return None
hex_color = [target_hex[x:x+2] for x in [1, 3, 5]]
new_rgb = [int(hex_value, 16) + offset for hex_value in hex_color]
new_rgb = [min([255, max([0, i])]) for i in new_rgb]
return '#%02x%02x%02x' % (new_rgb[0], new_rgb[1], new_rgb[2])
Обновление Добавление изображения, чтобы продемонстрировать, как будут выглядеть градиенты. На рисунке показаны два теста: один создан с использованием ползунка HSB, а другой - с помощью ползунка L of LAB.