RGB

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Аддитивное смешение цветов
Глубина цвета

битовое изображение
8-битная шкала серого

8-битный цвет
15/16-bit: Highcolor
24-bit: Truecolor
30/36/48-bit: Deep Color

См. также

Цветовая модель RGB
Цветовая модель CMYK
Цветовая палитра
Видимое излучение

Цвета в Web (Цвета HTML)

RGB (аббревиатура английских слов Red, Green, Blue — красный, зелёный, синий) — аддитивная цветовая модель, как правило, описывающая способ синтеза цвета для цветовоспроизведения.

Выбор основных цветов обусловлен особенностями физиологии восприятия цвета сетчаткой человеческого глаза. Цветовая модель RGB нашла широкое применение в технике.

Аддитивной она называется потому, что цвета получаются путём добавления (англ. addition) к чёрному цвету. Иначе говоря, если цвет экрана, освещённого цветным прожектором, обозначается в RGB как (r1, g1, b1), а цвет того же экрана, освещенного другим прожектором, — (r2, g2, b2), то при освещении двумя прожекторами цвет экрана будет обозначаться как (r1+r2, g1+g2, b1+b2).

Изображение в данной цветовой модели состоит из трёх каналов. При смешении основных цветов (основными цветами считаются красный, зелёный и синий) — например, синего (B) и красного (R), мы получаем пурпурный (M magenta), при смешении зелёного (G) и красного (R) — жёлтый (Y yellow), при смешении зелёного (G) и синего (B) — циановый (С cyan). При смешении всех трёх цветовых компонентов мы получаем белый цвет (W).

В телевизорах и мониторах применяются три электронных пушки (светодиода, светофильтра) для красного, зелёного и синего каналов.

История[править | править вики-текст]

Джеймс Максвелл предложил аддитивный синтез цвета как способ получения цветных изображений в 1861 году.[1]

Определение[править | править вики-текст]

Ограничение sRGB по возможности передачи цветов

Цветовая модель RGB является зависимой от устройства. Поскольку мониторы разных моделей и производителей различаются, было предложено несколько стандартов цветовых пространств для этой модели. Например, sRGB является стандартом для изображения на мониторе (профиль «по умолчанию» для компьютерной графики). Также распространён Adobe RGB, а при редактировании используется ProPhoto.

Цветовая модель RGB может использовать разные базовые цвета (в том числе, цвета не реализуемые физически), разную цветовую температуру для «белой точки», и разный показатель гамма-коррекции.

Числовое представление[править | править вики-текст]

RGB-цветовая модель, представленная в виде куба

Для большинства приложений значения координат r, g и b можно считать принадлежащими отрезку [0,1], что представляет пространство RGB в виде куба 1×1×1.

В компьютерах для представления каждой из координат представляются в виде одного октета, значения которого обозначаются для удобства целыми числами от 0 до 255 включительно, где 0 — минимальная, а 255 — максимальная интенсивность. В этом случае чаще используется гамма-компенсированое цветовое пространство sRGB, обычно с показателем 1,8 (Mac) или 2,2 (PC).

Вместе с тем, используются также 16 битный цвет (с диапазонами 0 — 65535 или 0 — 32768, в зависимости от конкретной реализации), а для изображений HDR — 32 битный цвет (в целых значения или в числах с плавающей запятой). В последнем случае возможны яркости «белее белого» и даже «отрицательные яркости», которые не выводятся на экран, но хранятся в памяти и учитываются при различной фильтрации.

В HTML используется #RrGgBb-запись, называемая также шестнадцатеричной: каждая координата записывается в виде двух шестнадцатеричных цифр, без пробелов (см. цвета HTML). Например, #RrGgBb-запись белого цвета — #FFFFFF.

COLORREF[править | править вики-текст]

COLORREF — стандартный тип для представления цветов в Win32. Используется для определения цвета в RGB виде. Размер — 4 байта. При определении какого-либо RGB цвета, значение переменной типа COLORREF можно представить в шестнадцатеричном виде так:

0x00bbggrr

rr, gg, bb — значение интенсивности соответственно красной, зелёной и синей составляющих цвета. Максимальное их значение — 0xFF.

Определить переменную типа COLORREF можно следующим образом:

COLORREF C = RGB( r, g, b );

r, g и b — интенсивность (в диапазоне от 0 до 255) соответственно красной, зелёной и синей составляющих определяемого цвета C. То есть ярко-синий цвет может быть определён как (0,0,255), красный как (255,0,0), ярко-фиолетовый — (255,0,255), чёрный — (0,0,0), а белый — (255,255,255)

Примечания[править | править вики-текст]

  1. Синтез цвета // Фотокинотехника: Энциклопедия / Главный редактор Е. А. Иофис. — М.: Советская энциклопедия, 1981.