Программно изменить цвета в C # - PullRequest
5 голосов
/ 03 апреля 2010

В настоящее время я работаю над проектом, в котором различные пользователи добавляют текст в документ, и я хотел бы, чтобы цвет текста изменился.

Первоначально я использовал предопределенные значения цвета C # и просто помещал те, которые хотел использовать, в перечисление в своем приложении и циклически переключал цвета, когда разные пользователи добавляли аннотации. Это отлично работает, и я в порядке с этим решением.

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

Чтобы пояснить немного, я не хочу просто увеличивать одно из значений цвета (R, G или B), потому что это не даст мне достаточно разнообразия в моих цветах. Но я не думаю, что это также сработало бы для увеличения всех трех равных величин. Я также должен следить за повторяющимися цветами (до определенного момента). Требования для моего проекта рассчитаны максимум на 10 разных рецензентов.

1 Ответ

4 голосов
/ 03 апреля 2010

Лучшее решение для такого рода проблем - использование значений HSL или HSV и изменение только оттенка. Затем конвертируйте обратно в RGB.

См. Эту ссылку для получения дополнительной информации .

...