Теория:

Создавать и хранить графические объекты в компьютере можно двумя способами: как растровое или как векторное изображение. Для каждого типа изображения используется свой способ кодирования.
Растровое изображение представляет собой совокупность точек, используемых для его отображения на экране монитора.
Объём растрового изображения определяется как произведение количества точек и информационного объёма одной точки, который зависит от количества возможных цветов. Для черно-белого изображения информационный объём одной точки равен \(1\) биту, так как точка может быть либо чёрной, либо белой, что можно закодировать одной из двух цифр — \(0\) или \(1\).
 
rastr.png
Информационный объём растрового изображения (\(V\)) определяется как произведение числа входящих в изображение точек (\(N\)) на информационный объём одной точки (\(q\)), который зависит от количества возможных цветов, т. е. V=Nq.
При чёрно-белом изображении \(q\) \(=\) \(1\) бит (например, \(1\)точка подсвечивается и \(0\) — точка не подсвечивается). Поэтому для хранения чёрно-белого (без оттенков) изображения размером \(100\)x\(100\) точек требуется \(10 000 \)бит.
 
Если между чёрным и белым цветами имеется ещё шесть оттенков серого (всего \(8\)), то информационный объём точки равен \(3\) бита (log28 = 3). Информационный объём такого изображения увеличивается в три раза: \(V\) \(=\) \(30 000 \)бит.
 
Рассмотрим, сколько потребуется бит для отображения цветной точки: для \(8\) цветов необходимо \(3\) бита; для \(16\) цветов — \(4\) бита; для \(256\) цветов — \(8\) битов (\(1\) байт). В таблице ниже представлено кодирование цветовой палитры из \(16\) цветов.
 
palitra16.png
 
Разные цвета и их оттенки получаются за счёт наличия или отсутствия трёх основных цветов (красного, синего, зеленого) и степени их яркости. Каждая точка на экране кодируется с помощью \(4\) битов.
 
Цветные изображения могут отображаться в различных режимах, соответственно изменяется и информационный объём точки (см. таблицу ниже).
 
rezhim.png
 
Описание цвета пикселя является кодом цвета.
Количество бит, отводимое на каждый пиксель для представления цвета, называют глубиной цвета (англ. color depth). От количества выделяемых бит зависит разнообразие палитры.
Наиболее распространенными значениями глубины цвета являются \(8\), \(16\), \(24\) или \(32\) бита.
Чем больше глубина цвета, тем больше объем графического файла.
Для хранения растрового изображения размером 32x32пикселя отвели 512 байтов памяти.
Каково максимально возможное число цветов в палитре изображения?
 
Решение. Число точек изображения равно 3232 = 1024. Мы знаем, что 512 байтов \(=\) 5128\(=\)4096 бит. Найдём глубину цвета 4096÷1024=4. Число цветов равно 24 = 16.
Цвет на Web-страницах кодируется в виде RGB-кода в шестнадцатеричной системе: #RRGGBB, где RR, GG и BB — яркости красного, зеленого и синего, записанные в виде двух шестнадцатеричных цифр; это позволяет закодировать \(256\) значений от \(0\) (0016) до \(255\) (FF16) для каждой составляющей.
 
Коды некоторых цветов:
 
HTML-color-code.png
 
При обозначении цветов в HTML-документах вначале ставят знак номера #. В HTML: \(#FF0000\) — интенсивно красный цвет, #00FF00 — зелёный цвет, #0000FF — синий цвет. Отсутствие цветов (#000000) даёт чёрный цвет, а самое интенсивное сочетание всех трёх каналов (#FFFFFF) даёт белый цвет.
 
FF — наибольшая яркость цветовой компоненты, для получения различных оттенков одного и того же цвета изменяют яркость.
 
Чтобы получить светлый оттенок какого-то «чистого» цвета, нужно одинаково увеличить нулевые составляющие; например, чтобы получить светло-красный цвет, нужно сделать максимальной красную составляющую и, кроме этого, одинаково увеличить остальные — синюю и зелёную: #FF9999 (сравните с красным: #FF0000).

Чтобы получить тёмный оттенок чистого цвета, нужно одинаково уменьшить все составляющие, например, #660066 — это тёмно-фиолетовый цвет (сравните с фиолетовым #FF00FF).
 
Заметим, что если старший бит в коде (первая, третья или пятая цифра) находится в диапазоне от \(0\) до \(3\), то можно считать, что эта цветовая компонента отсутствует в цвете, то есть #0F0F0F — это чёрный цвет.
 
Также следует отметить, что равное или почти равное сочетание цветовых компонент обозначает серый цвет разной интенсивности.
Векторное изображение представляет собой совокупность графических примитивов. Каждый примитив состоит из элементарных отрезков кривых, параметры которых (координаты узловых точек, радиус кривизны и пр.) описываются математическими формулами.
Для каждой линии указываются её тип (сплошная, пунктирная, штрих-пунктирная), толщина и цвет, а замкнутые фигуры дополнительно характеризуются типом заливки.
 
Рассмотрим, например, такой графический примитив, как окружность радиуса \(r\). Для её построения необходимо и достаточно следующих исходных данных:
- координаты центра окружности;
- значение радиуса \(r\);
- цвет заполнения (если окружность не прозрачная);
- цвет и толщина контура (в случае наличия контура).
 
Информация о векторном рисунке кодируется обычным способом, как хранятся тексты, формулы, числа, т. е. хранится не графическое изображение, а только координаты и характеристики изображения его деталей. Поэтому для хранения векторных изображений требуется существенно меньше памяти, чем растровых изображений.
Источники:
Самылкина Н. Н. Информатика : все темы для подготовки к ЕГЭ / Н. Н. Самылкина, А. П. Сильченко. - М. : Эксмо, 2011, стр. 40-43