Как я могу получить список визуально отличных цветов? - PullRequest
7 голосов
/ 24 марта 2011

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

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

Если есть один клиент, я буду использовать «красный», если есть два «красных» и «белый», ...

Конечно, я могу создать свою собственную функцию GimmeRandomColour(i: index), которая использует i и функцию RGB для создания хороших случайных цветов (но в этом случае создание хороших цветов может быть сложным). Или я могу сказать, если i равно 0, дайте мне clRed, ... (таким образом, создание многих цветов может быть проблемой).

Как получить «хороший список цветов» с приемлемым уровнем контрастности?

Ответы [ 2 ]

7 голосов
/ 24 марта 2011

Нет встроенной функции в Delphi. См. Этот вопрос о способах создания приятных цветовых схем.

Алгоритм случайного создания эстетически приятной цветовой палитры

2 голосов
/ 24 марта 2011

Обычный подход заключается в использовании значений $ 00, $ 33, $ 66, $ 99, $ CC и $ FF (Random(6) * $33) для каждого цветового компонента RGB.

Это приведет к 216 различным цветам, которые можно безопасно использовать.

См. Примеры в Википедии .

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