Случайные не белые цвета, которые выглядят хорошо, как фон для черного текста - PullRequest
2 голосов
/ 14 декабря 2010

Я хотел бы генерировать случайные небелые цвета, используя оттенок, насыщенность и яркость, которые можно использовать в качестве фона для черного текста. Я создал генератор случайных цветов, но когда я сканирую числа, я не вижу четкого рисунка в цветах, которые выглядят слишком темными.

Как можно генерировать случайные небелые цвета фона для черного текста? Не стесняйтесь отвечать кодом или псевдокодом, но это определенно не обязательно.

Ответы [ 3 ]

1 голос
/ 14 декабря 2010

Я не знаю теорию цвета, но вы можете попробовать случайным образом сгенерировать 3 компонента в RGB (xxx, xxx, xxx) таким образом, чтобы сумма компонентов была больше X (X зависит от требуемой контрастности)) и конвертировать в HSB.

1 голос
/ 15 декабря 2010

HSV и HSL - сломанные модели, которые не имеют ничего общего с восприятием. Вы должны генерировать свои цвета в пространстве YUV (также известном как YCbCr), где канал интенсивности (Y) не просто R + G + B, а скорее моделирует воспринимаемые интенсивности красного, зеленого и синего. Хорошей отправной точкой было бы попробовать случайные значения Y по крайней мере 200 и случайные значения U и V между -50 и 50.

1 голос
/ 14 декабря 2010

Генерирует только цвета с высокими значениями яркости - например, если вы использовали диапазон 0-255 для каждого из {H, S, V}, вы сгенерировали бы H в [0,255], S в [0,255] V в [168, 255]. Это должно дать вам цвета, которые достаточно яркие. Возможно, вы также захотите ограничить насыщенность (например, S в [0,192]), поскольку черный цвет на полностью ярких и насыщенных цветах может быть не очень читабельным.

Возможно, вам придется поиграть со значениями, чтобы получить диапазоны, которые дадут вам используемые цвета.

...