Критерий выбора формата хранения.
Для того, чтобы выбрать формат, существует 4 требования:
1. Требуемое качество изображения.
2. Гибкость.
3. Эффективность.
4. Возможность поддержки.
Все форматы сформированы в группы по их области применения. Основные – это форматы для хранения файлов, форматы для мультимедиа приложений, форматы для обмена между компьютерами, форматы для передачи по электронной почте, форматы для передачи по модему.
Когда мы определились для чего нам надо сделать, то смотрится из какого приложения организуется формат. Современные пакеты поддерживают до 20 форматов. Из оставшихся выбираем векторный или растровый. Область выбора резко сужается. Это связано с конкретным устройством ввода-вывода. Как правило остаётся несколько форматов. Анализируем критерии.
Качество изображения. Считается, что для векторных изображений самое высокое качество получается в пакете Corel Draw. Он содержит самый большой набор вспомогательных функций. Здесь есть и управление толщиной, сложная работа с цветом, возможность построения кривых и пространств сплайнов. Такого широкого набора функций ни в одном пакете нет. Corel Draw содержит набор драйверов, позволяющий работать с любыми устройствами ввода-вывода. Может работать и под UNIX (хотя это крайне редко). Однако этот пакет довольно громоздкий, требует много ресурсов, и включает ряд функций, которые для САПР являются излишними. Однако одновременно мы получаем и пакет для работы с растровыми изображениями Corel Photo Paint.
Стандартным является использование формата DXF. Этот формат был разработан для пакета AUTOCAD. Он оказался очень надёжным.
Ещё одним векторным форматом является HPGL. Первоначально применяется HPGL для своих драйверов и устройств ввода-вывода. Он оказался наименее конфликтным.
С растровыми форматами изображений всё гораздо сложнее. Здесь 90% выбора формата зависит от типа изображения и его особенностей. Прежде всего надо обратить внимание на то, требуется ли векторизация изображения или нет. Программы, выполняющие векторизацию, работают с небольшим количеством форматов. Если векторизация не требуется, то чаще всего используеются форматы PCX, BMP, TIFF.
PCX – уступает свои позиции.
BMP – наиболее распространён, так как он наиболее распространён в Windows для хранения изображений.
TIFF – традиционно используется при передаче данных. Это довольно конфликтный формат, так как его предыдущие и последующие версии могут не стыковаться. Разработчики часто не указывают его версию.
Широко используется формат JPEG. Действительная полная информация о формате имеется у фирмы разработчика. Встречаются ситуации, когда формально расширение пакета есть для работы с файлом, а работа с этим типом файлов невозможна. Связано это со следующими причинами:
1. Чаще всего внутри пакета идут настройки по умолчанию. От фирменных пакетов той же фирмы всё будет нормально. Если взять тот же формат от другой фирмы, то он может оказаться неработоспособным с нашим пакетом.
2. Открыть файл не можем, но сохранять в этом формате мы можем.
3. Работа с чёрно-белым изображением корректная, а с цветным нет, либо есть искажения.
4. Часть функций работает нормально, а часть не работает вообще.
Наиболее распространены пакеты:
1. Пакеты САПР (Система Автоматизированного ПРоектирования).
DXF, IGES, HPGL, IBM CAD, EPS, TIFF, IFF, PIF, GDF, а также метафайлы.
2. AUTODESK: DXF, IGES, HPGL, EPS.
3. Verga CAD: DXF, IGES, HPGL, EPS, PICT, BMP, SUN Raster File.
4. HP MEIO: DXF, IGES, HPGL, PCL.
5. Пакеты деловой графики:
Lotus Free Lance Plus: CGM, EPS, HPGL.
Hardvard Graphics: CGM, EPS, HPGL, PCX, TIFF.
Corel Draw: CGM, EPS, PCX, PIC, TIFF, DXF, BMP.
Micrografix Designer: CGM, EPS, HPGL, TIFF, WMF, DXF, PIC.
Издательские системы:
Ventura: CGM, HPGL, GEM, PIC, BMP, WMF.
PageMaker: CGM, EPS, HPGL, PIC, PCX, WMF, Video Show, Micrographix, BMP.
Каждая последующая версия программ всегда имеет расширенный набор поддерживаемых форматов. Также учтены новые устройства ввода-вывода. Большинство устройств формируют растровые изображения (сканер, принтер, монитор). Но например планшеты и дигитайзеры (есть и «трёхмерные») формируют векторные изображения. Кроме того надо знать, что пакет может изменять тип изображения, например сканируем точечное изображение, а в программе в результате обработки получаем векторное изображение. Используется при копировании чертежей.
Принтеры и графопостроители (плоттеры) работают в собственном формате. Ряд принтеров преобразовывают в свой формат внутри, а для некоторых требуется установка специальных драйверов. У принтеров также существует ещё проблема со шрифтами. Есть ряд принтеров, у которых шрифты зашиты в ПЗУ и их нельзя изменить, в результате приходится печатать в графическом режиме, в результате чего, скорость печати на некоторых моделях уменьшается очень существенно.
Также надо учитывать платформу. Например в России 90% рынка за IBM-совместимыми компьютерами, в то время в США около 40% – это Macintosh. В России, например, если требуется конфиденциальность, то лучше применять компьютеры Макинтош, так как они не распространены.
Ряд форматов поддерживают обе платформы, но есть некоторые особенности.
PC: TIFF, IFF, IMG, TGA, DXF, HPGL, WMF.
Apple: PICT, TIFF, CGM.
UNIX: BMP, TIFF, DXF, JPG, MPC.
Существуют специальные языки (Post Script), которые описывают изображения.
Новое направление, которое является универсальным средством – это гибкость. Гибкость – это возможность сохранить работоспособность при переходе к новому оборудованию.
Постскрипты например, очень сложны и требуют ресурсы машины. К сожалению на 100% предсказать работоспособность нельзя.
Эффективность оценивается по тем ресурсам, которые нужно затратить на обработку, хранение и передачу данных в этом формате. Надо рассматривать конкретный случай. Во-первых, исходят из реальных возможностей машины. Программное обеспечение на порядок сложнее у векторных программ, тем не менее стараются их внедрять. Когда мы привязаны к точечным изображениям прежде всего надо разумно выбрать разрешение для данного изображения, количество бит на пиксел. Подход чем больше тем лучше здесь наиболее подходящий, но обычно для изготовления качественных изображений применяют не более 700 dpi. Выигрыш может быть на методе сжатия файла. Для каждого изображения надо выбирать свой индивидуальный способ.
Формат IFF.
Для хранения изображения и звука. Имеет расширение .lbv. Первоначально был разработан фирмой Electronic Arts для пакета Deluxe Paint. Также имеет блочную структуру. Состоит из заголовка и набора блоков данных, причём сами блоки могут иметь произвольную длину. Заголовок имеет длину 12 байт. Фактически это 3 записи по 4 байта.
В первой строке содержится FORM – идентификатор того, что файл в формате IFF.
Во второй строке содержится длина данных в байтах.
В третьей строке содержится тип данных, записываются в виде ASCII.
Таким образом, выбирается нужная длина. Типов данных определено восемь. Эта запись содержится в третьей строке. Если данные тесктовые, то там пишется WORD. Прочая графика – PBM. Ещё один вид текстовых данных – FTXT. Звук – AIFF, музыка – SMUS, семь бит выборки данных – 8SUX.
Таким образом, в файле можно упаковать графику, поясняющий текст и звук. Именно для этого формат IFF и разрабатывался.
Блоки имеют тоже похожую запись. Первым пишется имя блока длиной 4 байта, затем длина данных 4 байта и потом сами данные. Необязательно соблюдается правило: первый блок содержит особенности текущего режима. В этом формате нормированы имена блоков. Имя несёт информацию о содержимом блока. Новый блок всегда должен начинаться с чётного адреса. Если количество данных нечётное, то вводится пустая строка из нулей.
BM HD (Bitmap Header). При наличии такого имени описывается размер изображения.
CMAP – Color Map.
CRNG – Color Cycle Deluxe Paint.
CGPT – Color Cycle Graphic Art.
BODY
VHDR – хранят данные о темпе, октаве.
NAME – имя звука.
AUTH – имя автора.
ANNO – дата.
ATAK – модуляционная огибающая звука.
RLSE и так далее.
При обмене информацией с другими компьютерами следует пользоваться стандартными именами.
Рассмотрим блоки ILBM:
1) 4 байта. Блок с именем BM HD. Здесь содержится общая информация о графическом режиме. Первая запись о том, какой это блок идентификатор.
2) 4 байта. Длина блока. На ширину и высоту в пикселах отводится по 2 байта.
3) 2 байта. Координаты левого верхнего окна вывода.
4) Запись о числе битовых плоскостей.
5) Указатель – упакованы или неупакованы данные.
6) Ширина и высота пикселов.
7) Максимальная ширнна и высота изображения.
CMAP – Color Map – палитра.
1. Метка (имя).
2. Длина блока в байтах (3n).
3. Таблица цветов для данного изображения (3n).
Пакеты графики работают с 16777216 цветами, таким образом здесь выбраны 2 в степени n цветов, которые используются в этой конкретной картинке.
CRNG – список индексов стандартных цветов пакета Deluxe Paint.
CGPT – список индексов стандартных цветов пакета Graphic Art.
BODY – блок данных. В нём содержится сам рисунок.
Данные записываются построчно. Данные уплотняются или неуплотняются – это указано в BM HD. Первый байт данных управляющий. Если значение меньше 128, то далее следует такое количество неповторяющихся данных, если больше 128, то далее идут повторяющиеся данные, число повторений которых вычисляется по формуле через значение первого байта.
DEST – как будет накладываться этот байт на исходные.
CLUT – используется для описания палитры (есть разбиение на монохромное и цветное изображение).
DPPV – описывает перспективу вращающегося трёхмерного объекта (здесь задаётся способ).
TINK – позволяет разбивать некоторые изображения на части и работать с ними в отдельности.
Для ряда программ порядок следования блоков важен, а для некоторых нет, поэтому чтобы не возникало проблем, то лучше блоки располагать в перечисленной последовательности.
ЭТО ЕДИНСТВЕННЫЙ ФОРМАТ У КОТОРОГО МЛАДШИЙ И СТАРШИЙ БАЙТЫ ПЕРЕСТАВЛЕНЫ МЕСТАМИ.
Есть пакеты, где содержится набор прототипов, есть программы, содержащие прообразы инструментов.
Звук описывается по требованиям пакета Deluxe Paint.
VHDR – в нём хранится основная информация. Это:
1. Длина в байтах числа, преобразуемого в образ аккорда.
2. Число байтов для конкретного звука.
3. Задаётся число используемых октав.
4. Громкость звука.
5. Нормируется скорость считывания данных.
6. Задаётся число байт для формирования модуляции.
7. Тип инструмента.
8. Затухание, усиление.
Для простых мелодий чаще используется восьмибитный формат AIFF для Sound Manager Apple Macintosh. Также есть целый набор блоков для авторских прав.
Формат IFF используется очень редко, так как он предназначен для программных продуктов, с которыми работают профессиональные музыканты. Этот формат может использоваться для телеконференций.
Форматы PCX и BMP.
Первым был разработан формат PCX и предназначался для Paintbrush. Этот формат хранит точечные изображения в самом примитивном виде, однако он является самым малоконфликтным. Он –используется во многих серьёзных программных продуктах, например, в большинстве издательских систем. Также есть в простых графических пакетах.
Формат BMP очень похож на PCX и имеет ту же идеалогию и запись с разложением на битовые плоскости. В настоящий момент хранение изображений в формате BMP есть во всех графических пакетах. Растровые изображения разбиваются на строки и столбцы и дальнейшее хранение выполняется построчно.
В этом формате можно хранить цветные и монохромные изображения. С тем, сколько разрядов и сколько цветов в картинке, проявляется разница в версиях формата.
Для обоих форматов:
0 – синий цвет
1 – зелёный цвет
2 – красный цвет
3 – интенсивность
Этот порядок нестандартный. Последовательно записаны биты плоскостей 0, 1, 2, 3.
Уплотнение.
1. В первых версиях всё сводилось к стандартной палитре в 256 цветов. Начиная с версий 3 – 4 палитру можно передавать вместе с файлом.
Заголовок.
Имеет длину 128 байт.
Запись 1. Это идентификатор типа файла.
0A – PCX
BM – BMP
Запись 2. Версия формата. Версия 2.х – с передачей палитры, 3.х – без передачи палитры.
Запись 3. Уплотнение. Применяется RLE –метод сжатия.
Запись 4. Количество бит на пиксел.
Запись 5. Окно изображения.
Хmin
Ymin
Xmax
Ymax
Также смотри примечание.
Запись 6. Разрешение по горизонтали и вертикали (dpi).
Далее может следовать описание палитры (16×3 байт). Затем идёт число битовых плоскостей. Максимум 4, минимум 1.
Затем кодируется монохромное или цветное изображение по записанному числу: 1 – монохромное, 2 – градации серого. Другие уровни записи не допускаются. Далее следует резервная часть, которая до конца заполнена нулями.
ПРИМЕЧАНИЕ. Число строк должно быть кратно 8, а число точек в строке кратно 16. Если размер изображения не кратен, то выполняется дополнение до ближайшего кратного. При больших размерах изображения эти дополнения не влияют на размер файла. Добавленные участки заполняются нулями по всем битовым плоскостям. Уплотнение данных проводят по каждой плоскости отдельно по способу RLE. Особенность в том, что код уплотнён или неуплотнён – это 6-ой и 7-ой разряды.
11 – уплотнено
00 – неуплотнено
В ряде случаев из-за применения такого способа сжатия возможен обратный эффект – размер файла может оказаться больше. Уплотнение фактически никогда не происходит, чтобы его выполнить, надо при сохранении файла отметить специальный флажок. Так же способ задания палитры зависит от конкретного типа графического адаптера (CGA, EGA, VGA).
Начиналось всё с CGA. Работает с 16 цветами. Соответственно полезная информация не может занимать полный байт. Записи разбиты на тройки. Для CGA в первом слове из трёх информацию несут 4 старших бита, это цвет фона. Все остальные игнорируются. Во втором слове информацию несут три разряда.
7-ой разряд: 0 – монохромное, 1 – цветное.
5-ый разряд: 0 – тёмный, 1 – светлый.
6-ой разряд. Цвета для смешивания:
0 – зелёный, красный, жёлтый.
1 – синий, белый, оттенок красного.
Таким образом можно получить 8 вариантов палитры на одном из 16 фонов.
Стандартные адаптеры EGA/VGA также используют 16 цветов, но их формируют совершенно по другому.
VGA – 16 цветов. Базовые цвета – красный, синий, зелёный. Используются все три байта записи. Количество уровней каждого цвета должно быть 4, чтобы формировать 16 цветов.
EGA. Значение каждого байта должно делиться на 4. Может принимать значения 0, 1, 2, 3. Два бита дадут 4 уровня яркости.
VGA (256 цветов). Образуют палитру по аналогии с EGA путём деления значения байта, только делится он на 4. Таким образом формируется доля базового цвета и получают стандартную палитру в 256 цветов. Если мы хотим работать с выбранными 256 цветами из 16777216 цветов, то в конце файла добавляется нестандартная палитра. С полным набором в 16777216 цветов формат PCX никогда не работает.
Если стоит монитор SVGA/XGA, то будут использоваться только 256 цветов. А выбор 256 цветов будет описываться в палитре, которая будет дописываться в конец файла.
Дата добавления: 2016-07-27; просмотров: 1309;