Пишу автораскраску разделов трекера ЛОРа, накопипастил следующий код:
function hashCode(str) {
var hash = 0;
for (var i = 0; i < str.length; i++) {
hash = str.charCodeAt(i) + ((hash << 5) - hash);
}
return hash;
}
function intToRGB(i){
var b1 = ((i>>24)&0xFF).toString(16);
var b2 = ((i>>16)&0xFF).toString(16);
var b3 = ((i>>8)&0xFF).toString(16);
return b1+b2+b3;
}
Цвет получается из хеша URL раздела. Результат на 3+, хочется задать палитру, чтобы на выходе получались похожие по тону/контрастности с фоном цвета. Посоветуйте (тупому) 1С-нику алгоритмов цветогенерации, а ещё лучше реализаций на JS.
Как вариант вижу приведение полученного цвета к ближайшему в заранее сгенерированной палитре, как здесь. Но встаёт вопрос определения ближайшего.