Как отобразить числовые значения для цветов в радуге в C#

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

Следующий метод MapRainbowColor отображает значение между двумя границами цвета радуги. Например, вам может понадобиться, чтобы 0 представлялось красным, а 100 - синим. В этом случае границы будут равны 0 и 100.

Код сначала преобразует значение в целое число от 0 до 1023. Затем он определяет часть радуги, которая должна удерживать цвет, вычитает соответствующую сумму из целочисленного значения, чтобы поместить ее в правильный диапазон, и вычисляет соответствующий цвет в пределах диапазона.

Следующий обработчик события Paint использует метод MapRainbowColor, чтобы заполнить форму двумя радугами.

Этот код получает размеры формы wid и hgt, а затем циклически меняет ширину формы по одному пикселю за раз. Для каждого пикселя код отображает координату X пикселя в диапазоне от 0 до wid. Он рисует вертикальный сегмент линии в верхней половине формы, используя возвращенный цвет. Результатом является радуга, которая оттеняет от красного до синего.

Затем код снова отображает координату X пикселя, на этот раз переключая роли красных и синих граничных значений. Он рисует другую вертикальную линию, на этот раз в нижней половине формы. На этот раз результат - радуга, которая оттеняет от синего до красного.

Источник: http://csharphelper.com/blog/2014/09/map-numeric-values-to-colors-in-a-rainbow-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *