Типы точечных рисунков
Растровое изображение — это массив битов, задающих цвет каждого пикселя в прямоугольном массиве пикселей. Количество битов, выделенных для отдельного пикселя, определяет количество цветов, которые могут быть назначены этому пикселю. Например, если каждый пиксель представлен четырьмя битами, можно назначить один из 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 — синий.
Форматы графических файлов
Существует множество стандартных форматов для хранения растровых изображений в файлах на диске. GDI+ поддерживает форматы графических файлов, описанные в следующих абзацах.
BMP
BMP — это стандартный формат, используемый ОС Windows для хранения изображений независимо от устройства и приложения. Количество битов на пиксель (1, 4, 8, 15, 24, 32 или 64) для данного BMP-файла указывается в его заголовке. Обычно используются BMP-файлы с 24 битами на пиксель. BMP-файлы обычно не сжимаются и, следовательно, плохо подходят для передачи через Интернет.
Формат GIF (Graphics Interchange Format)
GIF — это распространенный формат изображений на веб-страницах. GIF-файлы хорошо подходят для рисунков, изображений с участками сплошного цвета и изображений с резкими границами между цветами. GIF-файлы сжимаются, но без потери данных: распакованное изображение в точности совпадает с исходным. Один цвет в GIF-файле можно назначить прозрачным, чтобы изображение имело цвет фона веб-страницы, на которой оно отображается. Последовательность GIF-изображений может храниться в одном файле, образуя GIF с анимацией. В GIF-файлах хранится не более восьми бит на пиксель, поэтому они ограничены 256 цветами.
Совместная группа экспертов по фотографии (JPEG)
JPEG — это схема сжатия, которая хорошо подходит для естественных изображений, таких как отсканированные фотографии. Некоторые сведения в процессе сжатия теряются, но зачастую потери незаметны для человеческого глаза. В JPEG-файлах хранится 24 бита на пиксель, поэтому они позволяют отображать более 16 миллионов цветов. JPEG-файлы не поддерживают прозрачность или анимацию.
Уровень сжатия изображений JPEG настраивается, но чем он выше (чем меньше файл), тем больше информации теряется. Изображение с коэффициентом сжатия 20:1 часто трудно отличимо человеческим зрением от оригинала. На рисунке ниже показано изображение BMP и два сжатых из него изображения JPEG. Первое изображение JPEG имеет коэффициент сжатия 4:1, а второе — примерно 8:1.
Сжатие JPEG плохо подходит для рисунков, участков сплошного цвета и резких границ. На рисунке ниже показано изображение BMP, а также два изображения JPEG и одно GIF. Изображения JPEG и GIF были получены из BMP со сжатием. Коэффициент сжатия составляет 4:1 для GIF, 4:1 для меньшего JPEG и 8:3 для большего JPEG. Обратите внимание, что в GIF сохраняются четкие границы вдоль линий, но в JPEG они размываются.
JPEG — это схема сжатия, а не формат файла. Формат обмена файлами JPEG (JFIF) — это формат файла, часто используемый для хранения и передачи изображений, которые были сжаты в соответствии со схемой JPEG. Файлы JFIF, отображаемые в веб-браузерах, имеют расширение JPG.
EXIF
EXIF — это формат файла, используемый для фотографий, снятых цифровыми камерами. EXIF-файл содержит изображение, сжатое в соответствии со спецификацией JPEG. EXIF-файл также содержит сведения о фотографии (дата съемки, выдержка, время экспозиции и т. д.) и камере (производитель, модель и т. д.).
Формат PNG (Portable Network Graphics)
Формат 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 можно расширять по мере необходимости путем утверждения и добавления новых тегов.
См. также
.NET Desktop feedback