Назначение случайных цветов за сеанс для чата - PullRequest
0 голосов
/ 12 апреля 2009

У меня есть система чата AJAX, над которой я работаю, и пока она у меня работает. Одна вещь, которую я хочу сделать, это сделать так, чтобы при отображении имени пользователя на экране это был уникальный цвет (как в окне AIM). Как бы я сгенерировал случайный цвет, чтобы назначить имя пользователя для определенного сеанса, для которого он вошел в систему?

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

РЕДАКТИРОВАТЬ Спасибо, я думаю, предопределенный список будет самым простым способом. Если у меня есть этот список в файле конфигурации, и я назначаю цвет, когда пользователь входит в систему, как я должен убедиться, что ни один из двух вошедших в систему пользователей не имеет одинаковый цвет?

Ответы [ 3 ]

7 голосов
/ 12 апреля 2009

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

Отредактировано, чтобы добавить:

Что касается удержания более чем одного пользователя от одного и того же цвета, то, что я видел в системах, я просто назначал цвета локально на компьютере пользователя, используя Javascript. Обычно не так важно, чтобы разные пользователи видели одинаковые цвета для других людей. Мне все равно, будут ли цвета на моем экране такими же, как на экране другого пользователя, если все цвета на моем экране уникальны. На самом деле может быть желательно, чтобы текст каждого пользователя был разным (например, черный, у всех - цветной).

1 голос
/ 12 апреля 2009

Вы не хотите идти слишком случайно с цветами, если вы также хотите, чтобы они контрастировали друг с другом и были на темной стороне белого.

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

1 голос
/ 12 апреля 2009

Создайте список цветов (от руки), которые достаточно темные и легко различимы, а затем выберите один случайным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...