Цветовая модель HSV

   
На этом шаге рассмотрим модель HSV.

   
Модель HSV (Hue, Saturation, Value — оттенок, насыщенность, значение) не смешивает основные цвета при моделировании нового цвета, как в случае с RGB, а просто изменяет их свойства. Это очень напоминает принцип, используемый художниками для получения новых цветов — подмешивая к чистым цветам белую, черную или серую краски.

   
Пространство цветов этой модели задается пирамидой с шестиконечным основанием, так называемый Hexcone (рис. 1).


Рис.1. Цветовая модель HSV

   
Координаты в этой модели имеют следующий смысл:

  • оттенок (Hue) — это "цвет" в общеупотребительном смысле этого слова, например: красный, оранжевый, синий и т. д., который задается углом в цветовом круге, изменяющимся от 0 до 360 градусов;
  • насыщенность (Saturation) обозначает наличие белого цвета в оттенке. Значение насыщенности может изменяться в диапазоне от 0 до 255. Значение, равное 255 в целочисленном числовом представлении либо единице в вещественном представлении, соответствует полностью насыщенному цвету, который не содержит оттенков белого. Частично насыщенный оттенок светлее, например оттенок красного с насыщенностью, равной 128 либо 0.5 в вещественном представлении, соответствует розовому;
  • значение (Value) или яркость — определяет интенсивность цвета. Цвет с высокой интенсивностью является ярким, а с низкой — темным. Значение этого параметра может изменяться в диапазоне от 0 до 255 в целочисленном числовом представлении (либо от 0 до 1 в вещественном представлении).

   
Установку значения цвета в координатах HSV можно выполнить с помощью метода QColor::setHsv() или QColor::setHsvF().
Для того чтобы получить цветовое значение в цветовой модели HSV, нужно передать в метод getHsv() адреса трех целочисленных значений (или вещественных, если это getHsvF()).

   
Следующий пример устанавливает CMYK-значение и получает в трех переменных его HSV-эквивалент (рис. 2):

color.setCmyk(100, 200, 0, 55);
int h, s, v;
color.getHsv(&h, &s, &v);


Рис.2. Пример эквивалента HSV

   
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий