Форматы графических файлов
Знание файловых форматов и их возможностей является одним из ключевых факторов в допечатной подготовке изданий, подготовке изображений для web и в компьютерной графике вообще. Каждый, из утвердившихся сегодня форматов имеет какие-то характерные особенности и возможности, делающие его незаменимыми в работе. Все графические данные в компьютере можно разделить на две большие ветви: растровую и векторную. Векторы представляют собой математическое описание объектов относительно точки начала координат. Большинство векторных форматов могут так же содержать внедренные в файл растровые объекты или ссылку на растровый файл (технология OPI[4]). Сложность при передаче данных из одного векторного формата в другой заключается в использовании программами различных алгоритмов, разной математики при построении векторных и описании растровых объектов. Растровый файл устроен проще. Он представляет собой прямоугольную матрицу (bitmap), разделенную на пиксели. Растровые файлы можно разделить на два типа: предназначенные для вывода на экран и для печати. Растровые форматы, предназначенные исключительно для вывода на экран имеют только экранное разрешение, то есть один пиксель в файле соответствует одному экранному пикселю. На печать они выводятся так же с экранным разрешением. Растровые файлы, предназначенные для допечатной подготовки изданий имеют, подобно большинству векторных форматов, параметр Print Size - печатный размер. С ним связано понятие печатного разрешения, которое представляет из себя соотношение количества пикселей на один квадратный дюйм страницы (ppi, pixels per inch или dpi - dots per inch). Печатное разрешение может быть от 130 dpi (для газеты) до 300 (высококачественная печать). Растровые форматы, так же отличаются друг от друга способностью нести дополнительную информацию: различные цветовые модели, вектора, альфа-каналы, слои различных типов, Interlaced, анимация, возможности сжатия и т.п. BMP (Windows Device Independent Bitmap). Формат ВМР является родным форматом Windows, он поддерживается всеми графическими редакторами, работающими под ее управлением. Применяется для хранения растровых изображений, предназначенных для использования в Windows. Способен хранить как индексированный (до 256 цветов), так и RGB-цвет (16 млн. оттенков). Таблица 2.1. Структура ВМР файла
Первым элементом любого BMP-файла является заголовок BITMAPFILEHEADER. typedef struct tagBITMAPFILEHEADER { UINT bfType; DWORD bfSize; UINT bfReserved1; UINT bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; • bfType - должен содержать два ASCII-символа: «B» и «M», означающие bitmap. Соответствующие шестнадцатеричные значения равны 0x42 и 0x4D. При других значениях этого поля файл не является растровым изображением, принятым в Windows. • bfSize - равен размеру файла в байтах. Используется для проверки целостности файла и для распределения памяти под весь файл. • bfReserved1 и bfReserved2 - не документировано и не используется, должно быть равно 0. • bfOffBits - специфицирует байтовое смещение до начала растрового изображения. Используется для определения местонахождения массива aBitmapBits в файле. Следующей частью BMP-файла является структура BITMAPINFOHEADER, которая полностью описывает растровое изображение. typedef struct tagBITMAPINFOHEADER { DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER; • biSize - специфицирует собственный размер структуры в байтах. Должен быть равен 40 (28 в шестнадцатеричной системе). • biWidth и biHeight - содержат ширину и высоту изображения в пикселях соответственно. • biPlanes - должен быть равен единице, так как BMP-файлы содержат только одну цветовую плоскость. • biBitCount - содержит число битов на пиксель. Кроме того, отличает монохромное изображение от цветного. Должно быть равно 1, 4, 8 или 24. 1 - помечает изображение как монохромное. Показывает, что массив aColors содержит два элемента типа RGBQUAD. Каждый бит изображения, хранимый в массиве aBitmapBits, служит индексом массива aColors. Бит, равный 0, окрашен в соответствии с содержимым bmiColors[0], единичный бит – в соответствии с содержимым bmiColors[1]. 4 - показывает, что массив aColors содержит до 14 цветовых значений типа RGBQUAD. В этом формате каждый байт содержит два четырехбитовых пикселя, а каждый пиксель есть индекс массива aColors, определяющего цвет. 8 - показывает, что массив aColors содержит до 256 цветовых значений типа RGBQUAD. Каждый байт в массиве aBitmapBits представляет собой отдельный пиксель, являющийся индексом массива. 24 - этот формат может описывать изображение с более чем 16-ю миллионами цветовых оттенков. Иногда называемые полноцветными (true color), эти изображения обычно используются для представления фотографий. В данном формате массив aColors отсутствует. Вместо этого 24-разрядные значения массива aBitmapBits представляют каждый пиксель как красно-зелено-синюю триаду (тип RGBTRIPLE). BMP-файл этого типа может занимать огромное пространство на диске и в памяти. • biCompression - показывает, хранится ли данное изображение в сжатом виде, а также метод его упаковки. Равен BI_RGB (изображение не сжато), BI_RLE8 (8-разрядное групповое кодирование) или BI_RLE4 (4-разрядное групповое кодирование). • biSizeImage - содержит размер растрового изображения в байтах. • biXPelsPerMeter, biYPelsPerMeter - указывают предпочтительное разрешение в пикселях на метр по горизонтали и вертикали соответственно. • biClrUsed – обычно содержит число цветов, используемое в растровом изображении и определяемое массивом aColors типа RGBQUAD. Если biClrUsed равен 0, в изображении используется максимальное количество цветов, возможное для изображения данного типа. • biClrImportant – содержит число важных цветов изображения. Например, если это значение равно 3, первые три значения цвета в массиве aColors должны отображаться на экране с как можно более точным соответствием. Другие пиксели могут отображаться с измененным цветом или безболезненно пропускаться. Если biClrImportant равен 0, все цвета считаются важными. В BMP-файле элемент aBitmapBits содержит массив структур типа RGBQUAD. typedef struct tagRGBQUAD { BYTE rgbBlue; BYTE rgbGreen; BYTE rgbRed; BYTE rgbReserved; } RGBQUAD; • rgbBlue – содержит относительную интенсивность синего цвета от 0 до 255. • rgbGreen – содержит относительную интенсивность зеленого цвета от 0 до 255. • rgbRed – содержит относительную интенсивность красного цвета от 0 до 255. • rgbReserved – не используется. Предполагается равным 0, хотя, его физическое значение не важно. Массив aBitmapBits содержит пиксели, которые различаются по формату в зависимости от типа растрового изображения. Байты хранятся строками слева направо, а каждая строка представляет собой линию развертки (scan line), которая может быть дополнена до 32-разрядной границы. Линии развертки упорядочены снизу вверх, то есть первый элемент массива содержит пиксели последней строки изображения. В растровых изображениях с 24-разрядным представлением цвета, где массив aColors отсутствует, байты aBitmapBits непосредственно представляют 24-разрядные триадные цвета пикселей. WMF (Windows Metafile). Еще один родной формат Windows. Служит для передачи векторов через буфер обмена (Clipboard). Понимается практически всеми программами Windows, так или иначе связанными с векторной графикой. Пользоваться форматом WMF стоит только в крайних случаях для передачи "голых" векторов. WMF искажает цвет, не может сохранять ряд параметров, которые могут быть присвоены объектам в различных векторных редакторах. GIF (CompuServe Graphics Interchange Format). Разработан для передачи растровых изображений по сетям. Он использует LZW-компрессию, что позволяет хорошо сжимать файлы, в которых много однородных заливок (логотипы, надписи, схемы). GIF-формат позволяет записывать изображение "через строчку" (Interlaced), благодаря чему, имея только часть файла, можно увидеть изображение целиком, но с меньшим разрешением. Кроме того, файл GIF может содержать не одну, а несколько растровых картинок, которые браузеры могут подгружать одну за другой с указанной в файле частотой. Это называется GIF-анимация. Основное ограничение формата GIF состоит в том, что цветное изображение может быть записано только в режиме 256 цветов. PNG (Portable Network Graphics). PNG - формат для Сети, призванный заменить собой GIF. Использует сжатие без потерь. Глубина цвета может быть любой, вплоть до 48 бит (RGB, для сравнения, - 24), используется Interlacing, причем не только строк, но и столбцов, поддерживается плавно переходящая прозрачность. В файл формата PNG записывается информация о гамма-коррекции. Это число, считанное из файла, позволяет ввести поправку яркости при отображении. Эта особенность помогает реализации основной идеи WWW - одинакового отображения информации независимо от аппаратуры пользователя. PNG поддерживается в Microsoft Internet Explorer начиная с версии 4 для Windows и с версии 4.5 на Макинтош. JPEG (Joint Photographic Experts Group). Строго говоря, JPEG - не формат, а алгоритм сжатия, основанный не на поиске одинаковых элементов, а на разнице между пикселями. JPEG ищет плавные цветовые переходы. Лишнюю, цветовую информацию он отбрасывает, усредняя некоторые значения. Вместо действительных значений JPEG хранит скорость изменения от пикселя к пикселю. Можно задать уровень компрессии. Чем выше уровень компрессии, тем больше данных отбрасывается и тем ниже качество. Используя JPEG, можно получить файл в 10-500 раз меньше, чем ВМР. Формат аппаратно независим. В JPEG следует сохранять только конечный вариант работы, потому что каждое пересохранение приводит к новым потерям (отбрасыванию) данных. TIFF (Tagged Image File Format). Аппаратно независимый формат TIFF на сегодняшний день является одним из самых распространенных и надежных, его поддерживают практически все программы на РС и Macintosh так или иначе связанные с графикой. Ему доступен весь диапазон цветовых моделей от монохромной до RGB, CMYK и дополнительных цветов Pantone. TIFF может сохранять векторы Photoshop и массу других дополнительных данных. Ряд программ (например, QuarkXPress 3.x и Adobe Streamline) не умеют читать такие файлы, кроме того, они могут дольше выводиться на принтеры и фотонаборные автоматы. PSD (Adobe Photoshop Document). PSD - родной формат растрового редактора Photoshop. Он позволяет записывать изображение со многими слоями, их масками, дополнительными каналами, контурами и другой информацией - все, что может сделать Photoshop. Однослойный Photoshop Document понимают ряд программ, многослойные - могут импортировать Illustrator и InDesidn. Fractal Design Painter и Corel PHOTO-PAINT открывают на редакцию многослойные документы Photoshop, причем лишь PHOTO-PAINT 8 открывает файл Photoshop 100-процентно корректно. CDR (CorelDraw Document). Формат известен в прошлом низкой устойчивостью и плохой совместимостью файлов, тем не менее, пользоваться CorelDraw чрезвычайно удобно, он имеет неоспоримое лидерство на платформе РС. Многие программы на РС (FreeHand, Illustrator, PageMaker, ...) могут импортировать файлы CDR. 7-ю и 8-ю версии CorelDraw можно без натяжек назвать профессиональными. В файлах этих версий применяется компрессия для векторов и растра отдельно, могут внедряться шрифты, файлы CDR имеют огромное рабочее поле 45х45 метров (этот параметр важен для наружной рекламы); начиная с 4-й версии, поддерживается многостраничность.
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (935)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |