logo search
CG

18. Цвет в растре. Модель rgb.Кодировка цвета и яркости.

Цвет в компьютерной графике нужен для того, что:

– он несет в себе определенную информацию об объектах.

– цвет необходим также для того, чтобы различать объекты.

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

– без увеличения размера при помощи цвета можно передать некоторые детали изображения.

– в двумерной графике, именно при помощи цвета, точнее оттенков, имитируется (передается) объем.

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

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

Глубина цвета определяет количество бит информации на один пиксель. Чем больше глубина цвета, тем шире диапазон доступных цветов.

Наиболее распространены изображения с глубиной цвета

· 1 бит - двухцветные;

· 4 бита - 16 цветов;

· 8 бит - 256 цветов;

· 16 бит - 65536 цветов;

· 24 бит – 16.7 млн. цветов.

Цветовые модели и их виды

В цифровых технологиях используются, как минимум четыре, основных модели: RGB, CMYK(Cyan Magenta Yellow Key, причем Key означает черный цвет), HSB в различных вариантах и Lab. По принципу действия перечисленные цветовые модели можно условно разить на три класса:

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

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

Данная цветовая модель базируется на трех основных цветах: Red – красном, Green – зеленом и Blue – синем. Каждая из вышеперечисленных составляющих может варьироваться в пределах от 0 до 255, образовывая разные цвета и обеспечивая, таким образом, доступ ко всем 16 миллионам (полное количество цветов, представляемых этой моделью равно 256*256*256 = 16 777 216.).

Эта модель аддитивная. Слово аддитивная (сложение) подчеркивает, что цвет получается при сложении точек трех базовых цветов, каждая своей яркости. Яркость каждого базового цвета может принимать значения от 0 до 255 (256 значений), таким образом, модель позволяет кодировать 2563 или около 16,7 млн цветов. Эти тройки базовых точек (светящиеся точки) расположены очень близко друг к другу, так что каждая тройка сливается для нас в большую точку определенного цвета. Чем ярче цветная точка (красная, зеленая, синяя), тем большее количество этого цвета добавится к результирующей (тройной) точке. При увеличении яркости отдельных составляющих будет увеличиваться и яркость результирующего цвета: если смешать все три цвета с максимальной интенсивностью, то результатом будет белый цвет; напротив, при отсутствии всех цветов получается черный.

Модель является аппаратно–зависимой, так как значения базовых цветов (а также точка белого) определяются качеством примененного в мониторе люминофора. В результате на разных мониторах одно и то же изображение выглядит неодинаково.

Система координат RGB – куб с началом отсчета (0,0,0), соответствующим черному цвету.Максимальное значение RGB – (1,1,1) соответствует белому цвету.

Рис. Цветовой куб модели RGB

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

Тремя байтами кодируются числа от 0 до 256*256*256-1, или, в шестнадцатиричном виде, от #000000 до #FFFFFF. Здесь мы использовали синтаксис языка BARSIC для представления чисел в шестнадцатиричном виде (см. предыдущий пункт). Каждому числу из этого диапазона соответствует цвет в RGB кодировке, где старший байт числа дает интенсивность красного цвета, средний – синего и младший байт – зеленого цвета. Например, число #FF0000 кодирует ярко-красный цвет (первый байт – 255, или #FF в шестнадцатиричной форме, максимальная интенсивность, остальные байты – 0, интенсивность нулевая). Число #00FF00 кодирует ярко-зеленый цвет, а число #0000FF – ярко-синий. Смесь ярко-красного и ярко-зеленого цветов (#FFFF00) дает желтый цвет; смесь синего и зеленого (#00FFFF) – голубой; смесь красного и синего (#FF00FF) – малиновый; смесь всех цветов с максимальной интенсивностью (#FFFFFF) дает белый цвет.

Таким образом, цвет в RGB кодировке представляет собой целое число, лежащее в диапазоне от 0 до 16777215 (от #000000 до #FFFFFF в 16-ричной форме). Приведем 16 наиболее часто употребляемых цветов:

#000000 – черный;

#FFFFFF – белый;

#FF0000 – ярко-красный;

#00FF00 – ярко-зеленый;

#0000FF – ярко-синий;

#FFFF00 – желтый;

#00FFFF – ярко-голубой;

#FF00FF – ярко-малиновый;

#808080 – темно-серый;

#C0C0C0 – светло-серый;

#800000 – темно-красный, кирпичный;

#008000 – зеленый;

#000080 – темно-синий;

#808000 – голубой, как экран в Windows по-умолчанию;

#008080 – оливковый;

#800080 – темно-малиновый;