Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Инженерка.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
5.69 Mб
Скачать

8.2 Растровые форматы

Растровые форматы служат для описания растровой графической информации. Каждый отдельный пиксел изображения представляет самого себя, вне зависимости от его располо­жения и роли, которую он играет в рисунке. Наиболее распространенные из них: TIFF, BMP, PCX, GIF, JPEG, PNG. Графические компоненты всемирной сети Internet в подав­ляющем большинстве представлены последними тремя форматами.

Разрешающая способность файлов таких форматов, как BMP, GIF, JPEG, зависит от видеосистемы компьютера. В старых компьютерах Macintosh приходилось 72 пиксела на дюйм экрана (экранная разрешающая способность), для Windows наиболее часто употреб­ляется значение 96 пикселов на дюйм экрана. Однако теперь эти параметры стали довольно условными, так как почти все видеосистемы современных компьютеров позволяют изменять количество отображаемых на экране пикселов. Растровые файлы, предназначенные для подготовки изданий в печать, имеют, подобно большинству векторных форматов, параметр Print Size - печатный размер. Растровые форматы один от другого отличаются следующими свойствами: цветовыми моделями, методами сжатия, максимальным размером обеспечиваемого изображения, под­держкой слоев разных типов, наличием Alpha-канала или канала платковых (8роl)-цветов, возможностью осуществлять анимацию, наличием чересстрочного развертывания и т. п, Некоторые характеристики популярных растровых форматов приведены в таблице 8.2.

Таблица 8.2 Характеристики растровых форматов

Фор-

мат

Фирма-

разработчик

Максимальное

количество цветов

(бит на пиксел)

Максималь-

ный размер

изображения

Метод

сжатия

Запись

нескольких изображений

BMP

Microsoft

16'777'216 (24 бита)

65535x65535

RLE (ис­пользу­ется редко)

-

GIF

CompuServe

256 (8 бит)

65535x65535

LZW

+

JPEG

Joint

Photographic

Experts

Group

16'777'216 (24 бита)

65535x65535

JPEG

-

PCX

Z-Soft

16'777'216

(24-бита)

65535x65535

RLE

-

PNG

W3C

281'474'976'710'656 (48 бит)

2147483647* 2147483647

Deflate

-

TGA

Truevision

4'294'967'296

(32 бита)

65535x65535

RLE

-

TIFF

Aldus Corporation

16'777'216

(24-бита)

Всего 4'294'967'295

LZW, RLE, JPEG и прочие

+

В файлах растровых форматов запоминаются:

• размер изображения - количество видеопикселей в рисунке по горизонтали и вертикали

• битовая глубина - число битов, используемых для хранения цвета одного видеопикселя

• данные, описывающие рисунок (цвет каждого видеопикселя рисунка), а также некоторая дополнительная информация.

В файлах растровой графики разных форматов эти характеристики хранятся различными способами.

Поскольку размер изображения хранится в виде отдельной записи, цвета всех видеопикселей рисунка запоминаются как один большой блок данных. Так как растровое представление изображения кораблика достаточно громоздко, рассмотрим как сохраняется в растровом файле простое чёрно-белое изображение (рис. 8.1).

Рис. 8.1. В растровом файле сохраняется информация о цвете каждого видеопикселя

На рис. 8.2 показан результат восстановления изображения по информации, сохранённой в растровом файле, представленном на рис. 8.1. В изображении, восстановленном по файлу, видеопиксели располагаются согласно размеру изображения; а именно, сначала - первая десятка видеопикселей, в следующей строке - вторая десятка и т. д., в десятой строке - последние десять видеопикселей.

Рис. 8.2. Растровый рисунок, восстановленный по файлу растровой графики

Изображения фотографического качества, полученные с помощью сканеров с высокой разрешающей способностью, часто занимают несколько мегабайт. Например, если размер изображения 1766 х 1528, а количество используемых цветов - 16777216, то объём растрового файла составляет около 8 Мб (информация о цвете видеопикселей в файле занимает 1766 х 1528 х 24/8/1024/1024 Мб).

Решением проблемы хранения растровых изображений является сжатие, т. е. уменьшение размера файла за счёт изменения способа организации данных. Никому пока не удалось даже приблизиться к созданию идеального алгоритма сжатия. Каждый алгоритм хорошо сжимает только данные вполне определённой структуры. Основные алгоритмы сжатия рассматриваются ниже.

Краткое описание основных растрвых форматов

BMP (Windows Device Independent Bitmap)

Еще один родной формат Windows. Он поддерживается всеми графическими редакторами, работающими под управлением этой операционной системы. Применяется для хранения растровых изображений, предназначенных для использования в Windows и, по сути, больше ни на что не пригоден. Способен хранить как индексированный (до 256 цветов), так и RGB-цвет (более 16 млн. оттенков). Возможно применение сжатия по принципу RLE, но делать это не рекомендуется, так как очень многие программы таких файлов (они могут иметь расширение .rle) не понимают. Существует разновидность формата ВМР для операционной системы OS/2.

Общая структура BMP-файла такая:

BITMAPFILEHEADER

BITMAPINFOHEADER

Палитра

Битовый массив растрового изображения

Заголовок файла BMP называется BITMAPFILEHEADER. В нем помешается общее опи­сание файла. Заголовок имеет такие поля, приведенные в таблице 8.3.

Таблица 8.3. Поля заголовка формата BMP

Название поля

Длина

в байтах

Что означает

bfType

2

Содержит символы "ВМ". Это код формата.

bfSize

4

Общий размер файла в байтах

bfReservedl

2

Зарезервировано, пока что равняется 0

bfReserved2

2

Зарезервировано, пока что равняется 0

BfOffBits

4

Адрес битового массива в данном файле

Далее в файле идет еще один заголовок - BITMAPINFOHEADER, в котором хранится описание размеров растра и цветового формата пикселов (табл. 8.4).

Таблица 8.4.Описание формата BMP - продолжение

Название поля

Длина в байтах

Что означает

biSize

4

Размер заголовка, равняется 40

biWidth

4

Ширина растра в пикселах

biHeigbt

4

Высота растра в пикселах

biPlanes

2

Должно быть равно1

biBitCount

2

Бит на пиксел. Может быть 1,4,8,16, 24 или 32

biCompression

4

Компрессия:

0 - без компрессии

1 - компрессия RLE8 (8 бит на пиксел)

2 - омпрессия RLE4 (4 бита на пиксел)

3 - без компрессии, для 16, 32 бита на пиксел

biSizelmage

4

Размер в байтах битового массива растра

biXPelsPerMeter

4

Разрешающая способность по X в пикселах на метр

biYPelsPerMeter

4

Разрешающая способность по V в пикселах на метр

biClrUsed

4

Если равняется 0, то используется максималь­ное число цветов

biClrlmportant

4

Равняется 0, если biClrUsed = 0

Далее в файле помешается палитра в виде нескольких записей RGBQUAD. Каждая за­пись содержит четыре поля (табл. 8.5).

Таблица 8.5. Описание формата BMP - окончание

Название поля

Длина

в байтах

Что означает

rgbBlue

1

Цветовой компонент В, от 0 до 255

rgbGreen

1

Компонент G, от 0 до 255

rgbRed

1

Компонент R, от 0 до 255

rgbReserved

1

Не используется, равняется 0

Количество записей RGBQUAD равняется количеству используемых цветов, Палитра отсутствует, если число битов на пиксел равняется 24. Также палитра не нужна и для некоторых цветовых форматов 16 и 32 бита на пиксел.

После палитры (если она есть) в файле BMP записывается растр в виде битового (а точ­нее, байтового массива). В битовом массиве последовательно записываются байты строк растра. Количество байтов в строке должно быть кратным четырем, поэтому, если количе­ство пикселов по горизонтали не соответствует такому условию, то по правую сторону в каждую строку дописывается определенное количество битов (выравнивание строк на гра­ницу двойного слова).

Можно сказать, что файлы BMP имеют наибольший размер по сравнению с файлами других растровых форматов, Растр здесь сохраняется почти в том же виде (если не учитывать выравнивания строк по длине, кратной 4 байтам), в котором он записывается в опера­тивную память для отображения и обработки. Обычно программы так и записывают файлы BMP, хотя в этом формате предусмотрено сжатие, (компрессия, compressing англ.) растра методом RLE. BMP-файлы с компрессией могут иметь расширение .DIB или .RLE.

Существует разновидность формата BMP для операционной системы OS/2.

GIF (CompuServe Graphics Interchange Format)

Независящий от аппаратного обеспечения формат GIF был разработан в 1987 году (GIF87a) фирмой CompuServe для передачи растровых изображений по сетям. В 1989-м формат был модифицирован (GIF89a), были добавлены поддержка прозрачности и анимации. GIF использует LZW-компрессию, что позволяет неплохо сжимать файлы, в которых много однородных заливок (логотипы, надписи, схемы).

GIF позволяет записывать изображение "через строчку" (Interlaced), благодаря чему, имея только часть файла, можно увидеть изображение целиком, но с меньшим разрешением. Это достигается за счет записи, а затем подгрузки, сначала 1, 5, 10 и т.д. строчек пикселов и растягивания данных между ними, вторым проходом следуют 2, 6, 11 строчки, разрешение изображения в интернетовском браузере увеличивается. Таким образом, задолго до окончания загрузки файла пользователь может понять, что внутри и решить, стоит ли ждать, когда файл поднимется весь. Черезстрочная запись незначительно увеличивает размер файла, но это, как правило, оправдывается приобретаемым свойством.

В GIF’e можно назначить один или более цветов прозрачными, они станут невидимыми в интернетовских браузерах и некоторых других программах. Прозрачность обеспечивается за счет дополнительного Alpha-канала, сохраняемого вместе с файлом. Кроме того файл GIF может содержать не одну, а несколько растровых картинок, которые браузеры могут подгружать одну за другой с указанной в файле частотой. Так достигается иллюзия движения (GIF-анимация).

Основное ограничение формата GIF состоит в том, что цветное изображение может быть записано только в режиме 256 цветов.

PNG (Portable Network Graphics)

PNG - разработанный относительно недавно формат для Сети, призванный заменить собой устаревший GIF. Использует сжатие без потерь Deflate, сходное с LZW (именно из-за патентования в 1995-м году алгоритма LZW возник PNG). Сжатые индексированные файлы PNG, как правило, меньше аналогичных GIF'ов, PNG RGB меньше соответствующего файла в формате TIFF.

Глубина цвета файлах PNG может быть любой, вплоть до 48 бит. Используется двумерный interlacing (не только строк, но и столбцов), который, так же, как и в GIF'е, несколько увеличивает размер файла. В отличие от GIF'а, где прозрачность как мед - либо есть, либо нет, PNG поддерживает также полупрозрачные пикселы за счет Альфа-канала с 256 градациями серого.

В файл формата PNG записывается информация о гамма-коррекции. Гамма представляет собой некое число, характеризующее зависимость яркости свечения экрана вашего монитора от напряжения на электродах кинескопа. Это число, считанное из файла, позволяет ввести поправку яркости при отображении. Нужно оно для того, чтобы картинка, созданная на Мас’е, выглядела одинаково и на Windows, и на различных UNIX'ах. Таким образом, эта особенность помогает реализации основной идеи WWW - одинакового отображения информации независимо от аппаратуры пользователя.

PNG поддерживается в Microsoft Internet Explorer начиная с версии 4 для Windows и с версии 4.5 на Макинтош. Netscape добавила поддержку PNG для своего браузера в версиях, начиная с 4.0.4 для обеих платформ. Тем не менее до сих пор не реализована поддержка таких важных функций формата, как плавно переходящая прозрачность и гамма-коррекция.

TIFF (Tagged Image File Format)

Аппаратно независимый формат TIFF появился как внутренний формат программы Aldus PhotoStyler. Его модульная архитектура оказалась настолько удачной, что, успешно пережив смерть родной программы, TIFF и в наши дни продолжает совершенствоваться и развиваться. Сегодня он является одним из самых распространенных и надежных, его поддерживают практически все программы на РС и Макинтош так или иначе связанные с графикой. Как правило, TIFF является лучшим выбором при импорте растровой графики в векторные программы и издательские системы. Ему доступен весь диапазон цветовых моделей от монохромной до RGB, CMYK и дополнительных плашковых цветов. TIFF может содержать обтравочные контуры, Альфа-каналы, слои, другие дополнительные данные.

Исключение, в какой-то мере, составляет FreeHand. Иногда TIFF-файлы в нем могут произвольно менять свое местоположение при создании PostScript-файла или прямо в документе при открытии. Чаще TIFF’ы "прыгают", находясь в обтравочном контуре. С FreeHand’ом, все же, предпочтительнее использовать EPS.

TIFF может сохраняться в двух порядках записи: Macintosh и РС. Это связано с тем, что процессоры Motorola читают и записывают числа слева направо, а процессоры Intel - наоборот. Современные программы могут без проблем использовать оба варианта формата.

В формате TIFF есть возможность сохранения с применением нескольких видов сжатия: JPEG, ZIP, но, как правило используется только LZW-компрессия. Ряд старых программ (например, QuarkXPress 3.x, Adobe Streamline, многие программы-распознаватели текста) не умеют читать сжатые файлы TIFF, однако, если вы пользуетесь новым программным обеспечением, нет причины не использовать компрессию.

PCX

Формат PCX предложен компанией Z-Soft в программе Paintbrush. Может быть использо­ван на платформе Macintosh, хотя был написан для PC. Этот формат применялся многими компаниями, которые специализируются в области программного обеспечения. Он удобен для хранения изображений типа деловой графики (чертежи, диаграммы, схемы и т. п.). Поддерживаются цветовые форматы 1,4,8 и 24 бита на пиксел. К недостаткам PCX следует отнести неприспособленность к записи фотографий, а также наличие многочисленных версий.