VladOsadchyi
@VladOsadchyi
Студент

Как последовательно сгенерировать максимально разные цвета?

Есть вот такой генератор цвета:

public static function getRandomHexColor()
   {
       return  sprintf('#%02X%02X%02X', rand(20, 200), rand(20, 200), rand(20, 200));
   }

Когда я вызываю его в цикле, то у меня часто получаются очень похожие цвета, например:

5cb894aecc444772286744.png
Какой можно использовать алгоритм, чтобы получать максимально разные цвета?
  • Вопрос задан
  • 171 просмотр
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Самый надёжный способ - заранее сгенерировать набор подходящих цветов и просто выбирать из готовой таблицы, хоть по очереди, хоть случайно с контролем повторений.
Ответ написан
Moskus
@Moskus
Если вам действительно нужны случайные цвета, то нужно не просто генерировать их, а заполнять ими массив, проверяя при генерации каждого следующего, на сколько он похож на уже полученные. По теме сравнения цветов, читать https://stackoverflow.com/questions/5392061/algori...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы