Есть ли наилучшая практика о том, как хэш произвольной строки в значение цвета RGB? Или быть более общим: до 3 байт.Хэш-строка в цвет RGB
Вы спрашиваете: когда мне это понадобится? Для меня это не имеет значения, но представьте эти диаграммы на любом GitHub network page. Там вы можете увидеть что-то вроде этого:
Где каждый цвет линии означает отчетливую GIT ветвь. Низкотехнологичный подход для окраски этих ветвей был бы CLUT (таблица цветового поиска). Более сложная версия будет:
$branchColor = hashStringToColor(concat($username,$branchname));
Потому что вы хотите статический цвет каждый раз, когда видите представление ветвей. И для бонусных очков: как вы обеспечиваете равномерное распределение цветов этой хэш-функции?
Таким образом, ответ на мой вопрос сводится к реализации hashStringToColor()
.
Работал отлично, спасибо. – clayzermk1
Хотя если вы хотите обеспечить читаемые цвета (например, обеспечить достаточно высокий контраст и насыщенность), вам придется немного поработать над этим. Может быть проще работать в HSV или LAB и конвертировать в RGB. – naught101
Прекрасное решение! –