"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.
Цвет в цифровом изображении задаётся не самим зрительным ощущением, а числами, которые описывают его для компьютера и устройства отображения. На экране цвет получают смешением света красного, зелёного и синего каналов RGB, а каждый канал можно настроить отдельно. От этого зависит, как кодировать изображения, сколько памяти они занимают и почему экранная картинка иногда отличается от печатной. Для экранов обычно используют RGB, для печати — CMYK.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Цвет — зрительное ощущение, которое возникает, когда глаз воспринимает свет. У цифрового изображения нет собственного ощущения: в нём хранятся числа, по которым экран или другое устройство воспроизводит цвет. Такое описание позволяет сохранять изображение и передавать его компьютерам.
Цветовая модель RGB — способ задавать цвет сочетанием интенсивностей красного (R), зелёного (G) и синего (B) каналов. Название образовано начальными буквами английских названий этих цветов. Модель нужна, чтобы экран мог представить цвет набором понятных устройству чисел.
Цветовой канал — часть цветовой модели, отвечающая за интенсивность одного основного цвета. В RGB каналов три: красный, зелёный и синий. Раздельное управление ими позволяет менять оттенок и яркость итогового цвета.
Код цвета — числовая запись значений каналов, по которой компьютер или устройство отображает заданный цвет. Например, три числа RGB указывают, насколько ярко должен светить каждый канал. Код нужен, чтобы цвет можно было хранить, передавать и воспроизводить без словесного описания.
Экран образует цвет, смешивая свет трёх RGB-каналов. Если все каналы выключены, экран не излучает свет в этой точке, и мы видим чёрный. При максимальной интенсивности всех каналов их свет складывается и воспринимается как белый. Это происходит потому, что RGB описывает добавление света, а не смешивание красок.
В распространённой 24-битной записи каждому из трёх каналов отводят по 8 бит. Восемь бит дают 2⁸ = 256 вариантов значения: от 0 до 255 включительно. Значение 0 означает отсутствие света данного канала, а 255 — его максимальную интенсивность. Поскольку у каждого канала есть 256 вариантов и они независимы, общее число сочетаний равно 256 × 256 × 256 = 256³.
Меняя значения каналов, можно получить разные оттенки. Например, равные значения красного и зелёного при нулевом синем дают жёлтый: красная и зелёная составляющие света вместе создают это цветовое ощущение. Если изменить лишь один канал, изменится вклад соответствующего цвета, а значит, изменится и итоговый оттенок. Поэтому порядок чисел в RGB важен.
Значения каналов записывают десятичными числами, например (255, 0, 0), или шестнадцатеричными символами. В коде вида #RRGGBB каждая пара обозначает один канал, причём порядок остаётся тем же: красный, зелёный, синий. Шестнадцатеричная запись компактна: вместо десятичного значения от 0 до 255 используют пару символов от 00 до FF. Чтобы прочитать код, пары нужно рассматривать отдельно и при необходимости переводить в десятичную систему.
Для печати чаще применяют модель CMYK, которая описывает сочетания красок, а не световых каналов. На экране добавление света ведёт к белому, тогда как при смешивании красок результат зависит от того, какой свет краски отражают и поглощают. Поэтому CMYK подходит для принтеров и печатной продукции, а RGB — для экранов. Из-за разных способов воспроизведения один и тот же код не всегда даёт совершенно одинаковый оттенок на мониторе и бумаге.
| Характеристика | RGB | CMYK |
|---|---|---|
| Основные компоненты | Красный, зелёный, синий | Голубая, пурпурная, жёлтая краски и чёрная краска |
| Способ смешения | Смешение света | Смешение красок |
| Где применяется | Экраны | Печать |
| Что получается при максимальных значениях компонентов | Белый при максимуме всех трёх каналов | Тёмный цвет при максимуме красок; для глубокого чёрного используют отдельную чёрную краску |
| Пример записи | (255, 0, 0) или #FF0000 | Набор значений C, M, Y и K |
Сравнивайте модели по тому, что именно смешивается: свет или краска. По строке о применении можно быстро определить, какую модель обычно выбирают для экрана, а какую — для печати. Примеры записи показывают, что у RGB три компонента, а у CMYK — четыре.
Задача 1. Для цвета заданы значения RGB: (255, 0, 0). Определите его и объясните ответ. Сначала сопоставим числа с порядком каналов: красный, зелёный, синий. Затем проверим, какой канал включён и насколько сильно.
Ответ: красный. Этот вывод следует из порядка RGB и значений каналов, а не только из запоминания кода.
Задача 2. Сколько различных цветов можно закодировать, если на каждый из трёх каналов RGB отведено по 8 бит? Нужно найти число вариантов для одного канала и учесть независимый выбор для каждого из трёх каналов. Число вариантов перемножается, а не складывается.
Ответ: 16 777 216 цветов. Такой результат соответствует 24 битам на пиксель, если на каждый канал выделено по 8 бит.
Задача 3. Дан шестнадцатеричный код цвета #00FF80. Определите значения каналов RGB и опишите получившийся цвет. Сначала разобьём запись после знака # на пары, а затем истолкуем их в установленном порядке каналов.
Ответ: RGB (0, 255, 128), яркий зеленовато-бирюзовый оттенок. Точное восприятие зависит от экрана.
Считать, что экран смешивает цвета как краски, — неверно: RGB складывает свет. Эту ошибку допускают, потому что в быту часто говорят о смешивании красок и не учитывают принцип работы дисплея. Проверьте себя по крайним случаям: все каналы на нуле дают чёрный, а все на максимуме — белый.
Путать порядок каналов опасно: RGB читают строго как красный, зелёный, синий. Если поменять местами числа, код будет описывать другой цвет, даже если сами числа не изменились. Перед ответом подпишите каждую позицию R, G и B и затем проверьте, какой канал получает какое значение.
Иногда думают, что 8 бит дают только 8 уровней. Число бит показывает количество двоичных разрядов, а 8 разрядов позволяют получить 2⁸ = 256 вариантов, от 0 до 255. Чтобы проверить вычисление, можно перечислить диапазон значений или воспользоваться степенью двойки.
Нельзя ожидать, что экранный цвет обязательно совпадёт с печатным. Причина в том, что RGB создаёт цвет светом, а CMYK — красками; кроме того, устройства воспроизводят оттенки по-разному. Проверяя результат, учитывайте назначение модели и помните, что точное совпадение цветов не гарантируется.
Для чтения кодов RGB полезно знать двоичную и шестнадцатеричную системы счисления: они помогают понять, как числа представлены в компьютере. Цветовые модели применяются при создании и обработке растровых изображений и веб-страниц. Связь с кодированием информации показывает, как изображение хранится в виде данных. Число битов, выделенных для цвета каждого пикселя, влияет на объём файла.
Почему экранный цвет задают тремя числами?
В модели RGB цвет задаётся интенсивностью трёх световых каналов: красного, зелёного и синего. Для каждого канала записывают отдельное число, поэтому вместе они образуют три значения.
Почему максимальные значения RGB дают белый цвет?
Экран смешивает свет, а не краски. Когда красный, зелёный и синий каналы светят с максимальной интенсивностью, их свет вместе воспринимается как белый.
Сколько цветов можно закодировать тремя каналами по 8 бит?
Каждый канал имеет 256 возможных значений — от 0 до 255. Независимые значения трёх каналов дают 256 × 256 × 256 = 16 777 216 цветов.
Как прочитать шестнадцатеричный код цвета?
После символа # идут три пары шестнадцатеричных цифр: сначала красный канал, затем зелёный, потом синий. Каждую пару нужно перевести в десятичное число, чтобы получить значения RGB.
Почему цвет на экране может отличаться от цвета на бумаге?
Экран создаёт цвет светом по модели RGB, а принтер смешивает краски по модели CMYK. Кроме того, устройства могут по-разному воспроизводить оттенки, поэтому точное совпадение не гарантировано.
Цвет