Типы точечных рисунков

Растровое изображение — это массив битов, указывающий цвет каждого пикселя в прямоугольном массиве пикселей. Количество битов, выделенных для отдельного пикселя, определяет количество цветов, которые могут быть назначены этому пикселю. Например, если каждый пиксель представлен четырьмя битами, можно назначить один из 16 различных цветов (2^4 = 16). В таблице ниже представлено несколько примеров количества цветов, которые можно назначить пикселю, представленному определенным числом битов.

Бит на пиксель Количество цветов, которые можно назначить пикселю
1 2^1 = 2
2 2^2 = 4
4 2^4 = 16
8 2^8 = 256
16 2^16 = 65,536
24 2^24 = 16, 777, 216

 

Файлы дисков, в которых хранятся растровые изображения, обычно содержат один или несколько блоков информации, в которых хранятся такие сведения, как количество битов на пиксель, количество пикселей в каждой строке и количество строк в массиве. Такой файл также может содержать таблицу цветов (иногда называемую цветовой палитрой). Таблица цветов сопоставляет числа в растровом изображении с определенными цветами. На рисунке ниже показано увеличенное изображение вместе с соответствующим растровым изображением и таблицей цветов. Каждый пиксель представлен 4-разрядным числом, поэтому в таблице цветов 2^4 = 16 цветов. Каждый цвет в таблице представлен 24-разрядным числом: 8 битов для красного цвета, 8 — для зеленого и 8 — для синего. Числа отображаются в шестнадцатеричной форме (основание 16): A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Иллюстрация, показывающая матрицу чисел, изображение и таблицу, которая сопоставляет числа матрицы с цветами

Посмотрим на пиксель в строке 3, столбце 5 изображения. Соответствующее число на растровом изображении — 1. Таблица цветов говорит нам, что 1 представляет красный цвет, поэтому пиксель является красным. Все элементы в верхней строке растрового изображения равны 3. Из таблицы цветов следует, что 3 представляет синий цвет, поэтому все пиксели в верхней строке изображения синего цвета.

Примечание

Некоторые растровые изображения хранятся в перевернутом формате: числа в первой строке растрового изображения соответствуют пикселям в нижней строке изображения.

 

Растровое изображение, в котором хранятся индексы в таблице цветов, называется растровым рисунком с индексированием палитры . Некоторым растровым изображениям таблица цветов не нужна. Например, если растровое изображение использует 24 бита на пиксель, то в нем могут храниться сами цвета, а не индексы из таблицы цветов. На рисунке ниже показано растровое изображение, в котором цвета указываются напрямую (24 бита на пиксель), а не с помощью таблицы цветов. На рисунке также показано само изображение в увеличенном виде. На растровом изображении FFFFFF представляет белый цвет, FF0000 — красный, 00FF00 — зеленый, а 0000FF — синий.

Иллюстрация матрицы шестнадцатеричных значений, за которой следует точечный рисунок, который представляют числа

 

Форматы графических файлов

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

Точечный рисунок (BMP)

BMP — это стандартный формат, используемый ОС Windows для хранения изображений независимо от устройства и приложения. Количество битов на пиксель (1, 4, 8, 15, 24, 32 или 64) для данного BMP-файла указывается в его заголовке. Обычно используются BMP-файлы с 24 битами на пиксель.

GIF

GIF — это распространенный формат изображений на веб-страницах. GIF-файлы хорошо подходят для рисунков, изображений с участками сплошного цвета и изображений с резкими границами между цветами. GIF-файлы сжимаются, но без потери данных: распакованное изображение в точности совпадает с исходным. Один цвет в GIF-файле можно назначить прозрачным, чтобы изображение имело цвет фона веб-страницы, на которой оно отображается. Последовательность GIF-изображений может храниться в одном файле, образуя GIF с анимацией. В GIF-файлах хранится не более восьми бит на пиксель, поэтому они ограничены 256 цветами.

JPEG

JPEG — это схема сжатия, которая хорошо подходит для естественных сцен, таких как отсканированные фотографии. Некоторые сведения в процессе сжатия теряются, но зачастую потери незаметны для человеческого глаза. Цветные изображения JPEG хранят 24 бита на пиксель, поэтому они могут отображать более 16 миллионов цветов. Существует также формат JPEG в оттенках серого, в котором хранится 8 бит на пиксель. JPEG-файлы не поддерживают прозрачность или анимацию.

Уровень сжатия изображений JPEG настраивается, но чем он выше (чем меньше файл), тем больше информации теряется. Изображение с коэффициентом сжатия 20:1 часто трудно отличимо человеческим зрением от оригинала. На рисунке ниже показано изображение BMP и два сжатых из него изображения JPEG. Первое изображение JPEG имеет коэффициент сжатия 4:1, а второе — примерно 8:1.

иллюстрация, показывающая точечный рисунок и два сжатия jpeg этого изображения; максимальное сжатие имеет больше отличий от исходного

Сжатие JPEG плохо подходит для рисунков, участков сплошного цвета и резких границ. На рисунке ниже показано изображение BMP, а также два изображения JPEG и одно GIF. Изображения JPEG и GIF были получены из BMP со сжатием. Коэффициент сжатия составляет 4:1 для GIF, 4:1 для меньшего JPEG и 8:3 для большего JPEG. Обратите внимание, что GIF поддерживает четкие границы вдоль линий, но JPEG, как правило, размывают границы.

иллюстрация, сравнивающая точечное изображение графика с двумя эквивалентами jpeg и одним GIF-файлом; gif лучше всего сохраняет цвет и резкость линий

JPEG — это схема сжатия, а не формат файла. Формат обмена файлами JPEG (JFIF) — это формат файла, часто используемый для хранения и передачи изображений, которые были сжаты в соответствии со схемой JPEG. Файлы JFIF, отображаемые в веб-браузерах, имеют расширение JPG.

Файл с обменом изображения (Exif)

Exif — это формат файла, используемый для фотографий, снятых цифровыми камерами. Exif-файл содержит изображение, сжатое в соответствии со спецификацией JPEG. Файл Exif также содержит сведения о фотографии (дата съемки, скорость затвора, время экспозиции и т. д.) и сведения о камере (производитель, модель и т. д.).

PNG

Формат PNG сохраняет многие преимущества формата GIF, но также дает дополнительные возможности. Как и GIF-файлы, PNG-файлы сжимаются без потери информации. PNG-файлы могут хранить цвета с 8, 24 или 48 битами на пиксель и серые шкалы с 1, 2, 4, 8 или 16 бит на пиксель. В отличие от этого, в GIF-файлах могут использоваться только 1, 2, 4 или 8 бит на пиксель. В PNG-файле также может храниться альфа-фактор для каждого пикселя, указывающий степень, с которой цвет этого пикселя смешивается с цветом фона.

PNG улучшает GIF в его способности постепенно отображать изображение; т. е. для отображения лучшего и лучшего приближения изображения по мере его поступления через сетевое подключение. PNG-файлы могут содержать сведения о гамма-коррекции и цветовой коррекции, что позволяет правильно преобразовывать их для просмотра на различных устройствах.

TIFF

TIFF — это гибкий и расширяемый формат, поддерживаемый различными платформами и приложениями для обработки изображений. В TIFF-файлах могут храниться изображения с произвольным количеством битов на пиксель и могут использоваться различные алгоритмы сжатия. Несколько изображений можно хранить в одном многостраничном TIFF-файле. Сведения, связанные с изображением (модель сканера, главный компьютер, тип сжатия, ориентация, число выборок на пиксель и т. д.), могут храниться в файле и упорядочиваться с помощью тегов. Формат TIFF можно расширять по мере необходимости путем утверждения и добавления новых тегов.