Способы хранения графической информации форматы графических файлов

Способы хранения графической информации форматы графических файлов

В этом разделе:

      • что такое формат графического файла;
      • хранение информации в файлах векторных форматов;
      • особенности стандартных векторных форматов;
      • представление информации в файлах растровых форматов;
      • особенности стандартных растровых форматов;
      • сохранение изображений в собственных и «чужих» форматах графических программ;
      • преобразование форматов файлов.

Проблема сохранения изображений для последующей их обработки чрезвычайно важна. С ней сталкиваются пользователи любых графических систем. Изображение может быть обработано несколькими графическими программами прежде, чем примет свой окончательный вид. Например, исходная фотография сначала сканируется, затем улучшается её чёткость и производится коррекция цветов в программе Adobe PhotoShop . После этого изображение может быть экспортировано в программу рисования, такую как CorelDRAW или Adobe Illustrator, для добавления рисованных картинок. Если изображение создаётся для статьи в журнале или книги, то оно должно быть импортировано в издательскую систему QuarkXPress или Adobe PageMaker. Если же изображение должно появиться в мультимедиа-презентации, то оно, вероятнее всего, будет использовано в Microsoft PowerPoint, Macromedia Director или размещено на Web-странице.

Формат графического файла способ представления и расположения графических данных на внешнем носителе.

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

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

Важно различать векторные и растровые форматы.

Векторные форматы

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

В качестве примера рассмотрим описание простого рисунка в виде последовательности векторных команд. Пусть в вашем распоряжении имеются следующие векторные команды:

Установить X, Y — установить в качестве текущей позицию ( X, Y ).

Линия к X I, Y 1 — нарисовать линию от текущей позиции до позиции ( X I, Y 1), при этом позиция ( X I, Y 1) становится текущей.

Линия X I, Y l, X 2, Y 2 — нарисовать линию с координатами её начала ( X I, Y 1) и координатами конца (Х 2 , Y 2), при этом текущая позиция не устанавливается.

Окружность X, Y, — нарисовать окружность, где ( X, Y ) — координаты центра, — радиус в пикселях.

Эллипс X 1, Y 1, X 2, Y 2 — нарисовать эллипс, ограниченный прямоугольником, где (X I, Y 1) — координаты левого верхнего угла этого прямоугольника, a (X 2, Y 2) — правого нижнего.

Прямоугольник X 1, Y 1, X 2, Y 2 — нарисовать прямоугольник, где ( X I , Y 1) — координаты левого верхнего угла этого прямоугольника, а (Х 2, Y 2) — правого нижнего.

Цвет рисования — установить текущий цвет рисования .

Цвет закраски — установить текущий цвет закраски .

Закрасить X, Y, — закрасить произвольную замкнутую фигуру, где (X, Y) — координаты любой точки внутри замкнутой фигуры, — цвет граничной линии.

Требуется описать с помощью векторных команд изображение кораблика.

Координаты рисунка задаются в прямоугольной декартовой системе координат, начало которой находится в верхнем левом углу.

Цвет рисования Голубой

Установить 270 ,1 00

Линия к 440, 100

Линия к 400, 140

Линия к 310, 140

Линия к 270, 100

Цвет закраски Голубой

Закрасить 320, 130, Голубой

Цвет рисования Белый

Цвет закраски Белый

Окружность 310, 120, 5

Закрасить 310,120, Белый

Окружность 350, 120, 5

Закрасить 350,120, Белый

Окружность 400,120, 5

Закрасить 400,120, Белый

Цвет рисования Синий

Цвет закраски Красный

Установить 300,100

Линия к 340, 20

Линия к 340,100

Линия к 300,100

Закрасить 320,90, Синий

Цвет рисования Коричневый

Установить 340, 20

Линия к 340,100

Линия к 400, 100

Линия к 340,20

Цвет закраски Белый

Закрасить 390, 90, Коричневый

Рис. 1. Координаты рисунка кораблика

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

Особенности некоторых векторных форматов приведены в Таблице 1.

WMF
Windows MetaFile

Большинство приложений WINDOWS EPS
Encapsulated PostScript Большинство настольных издательских систем и векторных программ, некоторые растровые программы DXF
Drawing Interchange Format Все программы САПР, многие векторные редакторы,некоторые настольные издательские системы CGM
Computer Graphics Metafile Большинство программ редактирования векторных рисунков, САПР и издательские системы

Читайте также:  Назовите группу организмов по способу питания которые образуют растительное сообщество

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

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

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

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

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

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

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

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

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

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

Легко описать векторное представление рис. 3:

Линия к 3, 0

Линия к 5, 0

Линия к 8, 3

Линия к 8, 5

Линия к 5, 8

Линия к 3, 8

Линия к 0, 5

Линия к 0, 3.

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

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

Методы сжатия делятся на две категории:

• сжатие файла с помощью программ — архиваторов;

• сжатие, алгоритм которого включён в формат файла.

В первом случае специальная программа считывает исходный файл, применяет к нему некоторый сжимающий алгоритм (архивирует) и создаёт новый файл. Выигрыш в размере нового файла может быть значительным. Однако этот файл не может быть использован ни одной программой до тех пор, пока он не будет преобразован в исходное состояние (разархивирован). Поэтому такое сжатие применимо только для длительного хранения и пересылки данных, но для повседневной работы оно неудобно. В системах DOS и WINDOWS наиболее популярными программами сжатия файлов являются ZIP, ARJ, RAR и другие.

Если же алгоритм сжатия включён в формат файла, то соответствующие программы чтения правильно интерпретируют сжатые данные. Таким образом, такой вид сжатия очень удобен для постоянной работы с графическими файлами большого размера. Например, пусть в CorelDRAW получен рисунок, который нужно разместить в документе, созданном в программе Adobe PhotoShop. TIFF — один из растровых форматов, с которыми может работать Adobe PhotoShop. При формировании файла формата TIFF выполняется сжатие графических данных. Именно это обстоятельство учитывается соответствующей программой чтения. Поэтому для достижения поставленной цели можно поступить следующим образом:

• сохранить рисунок, созданный в CorelDRAW, в файле формата TIFF;

• импортировать этот файл в программу Adobe PhotoShop.

Методы сжатия графических данных

При сжатии методом RLE (Run — Length Encoding) последовательность повторяющихся величин (в нашем случае — набор бит для представления видеопикселя ) заменяется парой — повторяющейся величиной и числом её повторений.

Метод сжатия RLE включается в некоторые графические форматы, например, в формат PCX .

Программа сжатия файла может сначала записывать количество видеопикселей, а затем их цвет или наоборот. Поэтому возможна такая ситуация, когда программа, считывающая файл, ожидает появления данных в ином порядке, чем программа, сохраняющая этот файл на диске. Если при попытке открыть файл, сжатый методом RLE, появляется сообщение об ошибке или полностью искажённое изображение, нужно считать этот файл с помощью другой программы или преобразовать его в иной формат.

Сжатие методом RLE наиболее эффективно для изображений, которые содержат большие области однотонной закраски, и наименее эффективно — для отсканированных фотографий, так как в них нет длинных последовательностей одинаковых видеопикселей .

Метод сжатия LZW (назван так по первым буквам его разработчиков Lempel, Ziv, Welch ) основан на поиске повторяющихся узоров в изображении. Сильно насыщенные узорами рисунки могут сжиматься до 0,1 их первоначального размера. Метод сжатия LZW применяется для файлов форматов TIFF и GIF; при этом данные формата GIF сжимаются всегда, а в случае формата TIFF право выбора возможности сжатия предоставляется пользователю. Существуют варианты формата TIFF, которые используют другие методы сжатия. Из-за различных схем сжатия некоторые версии формата TIFF могут оказаться несовместимыми друг с другом. Это означает, что возможна ситуация, когда файл в формате TIFF не может быть прочитан в некоторой графической программе, хотя она должна «понимать» этот формат. Другими словами, не все форматы TIFF одинаковы. Но, несмотря на эту проблему, TIFF является одним из самых популярных растровых форматов в настоящее время.

Читайте также:  Способ ведения морского боя до появления тарана 7 букв

Рис. 4. Сжатие методом RLE

Метод сжатия JPEG обеспечивает высокий коэффициент сжатия для рисунков фотографического качества. Формат файла JPEG , использующий этот метод сжатия, разработан объединенной группой экспертов по фотографии (Joint Photographic Experts Group ). Сжатие по методу JPEG сильно уменьшает размер файла с растровым рисунком (возможен коэффициент сжатия 100 : 1). Высокий коэффициент сжатия достигается за счет сжатия с потерями, при котором в результирующем файле теряется часть исходной информации. Метод JPEG использует тот факт, что человеческий глаз очень чувствителен к изменению яркости, но изменения цвета он замечает хуже. Поэтому при сжатии этим методом запоминается больше информации о разнице между яркостями видеопикселей и меньше — о разнице между их цветами. Так как вероятность заметить минимальные различия в цвете соседних пикселей мала, изображение после восстановления выглядит почти неизменным. Пользователю предоставляется возможность контролировать уровень потерь, указывая степень сжатия. Благодаря этому, можно выбрать наиболее подходящий режим обработки каждого изображения: возможность задания коэффициента сжатия позволяет сделать выбор между качеством изображения и экономией памяти. Если сохраняемое изображение — фотография, предназначенная для высокохудожественного издания , то ни о каких потерях не может быть и речи, так как рисунок должен быть воспроизведён как можно точнее. Если же изображение — фотография, которая будет размещена на поздравительной открытке, то потеря части исходной информации не имеет большого значения. Эксперимент поможет определить наиболее допустимый уровень потерь для каждого изображения.

Информация о методах сжатия, используемых в растровых форматах файлов, приведена в таблице 2.

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

BMP
Windows Device
Independent Bitmap Все программы WINDOWS, которые используют растровую графику RLE для 16- и 256- цветных изображений (по желанию) PCX
Z — Soft PaintBrush Почти все графические приложения для PC RLE (всегда) GIF
Graphic Interchange Format Почти все растровые редакторы; большинство издательских пакетов; векторные редакторы, поддерживающие растровые объекты LZW (всегда) TIFF
Tagged Image File Format Большинство растровых редакторов и настольных издательских систем; векторные редакторы, поддерживающие растровые объекты LZW (по желанию) и др. TGA
TrueVision Targa Программы редактирования растровой графики RLE (по желанию) IMG
Digital Research GEM Bitmap Некоторые настольные издательские системы и редакторы изображений WINDOWS RLE (всегда) JPEG
Joint Photographic Experts Group Последние версии программ редактирования растровой графики; векторные редакторы, поддерживающие растровые объекты JPEG (можно выбрать степень сжатия)

О сохранении изображений в собственных и «чужих» форматах

Как правило, графические программы используют свои собственные форматы для сохранения изображений во внешней памяти. Собственный файловый формат — частный и наиболее эффективный формат для хранения файлов отдельного графического приложения. Например, «родной» формат CorelDRAW — CDR , Adobe PhotoShop — PSD, Fractal Design Painter — RIFF, Paint (стандартная программа WINDOWS ) — BMP. При сохранении изображения в файле всегда нужно указывать тип формата. На рис. 5 показано диалоговое окно (Ехроrt \Экспорт), используемое в программе CorelDRAW.

Кроме того, для каждого «чужого» графического формата открываются дополнительные диалоговые окна, с помощью которых пользователь устанавливает параметры формата (количество используемых цветов, необходимость сжатия — для BMP и TIFF, коэффициент сжатия — для JPEG и др.).

Рис. 5. Диалоговое окно для сохранения в CorelDRAW изображения в формате JPEG

Преобразование файлов из одного формата в другой

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

• программа, с которой работает пользователь, не воспринимает формат его файла;

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

Преобразование файлов из растрового формата в векторный

Существуют два способа преобразования файлов из растрового формата в векторный :

1) преобразование растрового файла в растровый объект векторного изображения;

2) трассировка растрового изображения для создания векторного объекта.

Первый способ используется в программе CorelDRAW, которая, как правило, успешно импортирует файлы различных растровых форматов. К примеру, если растровая картинка содержит 16 миллионов цветов, CorelDRAW покажет изображение, приближенное по качеству к телевизионному. Однако, импортируемый растровый объект может становиться довольно большим даже в том случае, если исходный файл невелик. В файлах растровых форматов информация хранится достаточно эффективно, так как часто используются методы сжатия. Векторные форматы такой способностью не обладают. Поэтому растровый объект, хранящийся в векторном файле, может значительно превосходить по размерам исходный растровый файл.

Особенность второго способа преобразования растрового изображения в векторное заключается в следующем. Программа трассировки растровых изображений (например, CorelTRACE) ищет группы пикселей с одинаковым цветом, а затем создает соответствующие им векторные объекты. После трассировки векторизованные рисунки можно редактировать как угодно. На рис. 6 показано растровое изображение, которое хорошо преобразуется в векторное. Дело в том, что растровые рисунки, имеющие четко выраженные границы между группами пикселей одинакового цвета, хорошо переводятся в векторные. В то же время результат трассировки растрового изображения фотографического качества со сложными цветовыми переходами выглядит хуже оригинала.

Читайте также:  Молочный поросята способ приготовления

Рис. 6. Растровый рисунок с четкими границами, преобразованный в векторный формат

Преобразование файлов одного векторного формата в другой

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

• считывает описания объектов на одном векторном языке,

• пытается перевести их на язык нового формата.

Рис. 7. Растровое изображение фотографического качества, преобразованное в векторный формат

Если программа-переводчик считает описание объекта, для которого в новом формате нет точного соответствия, этот объект может быть либо описан похожими командами нового языка, либо не описан вообще. Таким образом, некоторые части рисунка могут исказиться или исчезнуть. Всё зависит от сложности исходного изображения. На рис. 8 представлен один из возможных результатов преобразования файла из одного векторного формата в другие. Исходный рисунок создан в программе CorelDRAW ! и состоит из следующих элементов: импортированная растровая картинка в формате JPEG , рамка вокруг растровой картинки, текст, прямоугольник с конической заливкой.

При преобразовании рисунка 8а в формат CGM сохранились все исходные элементы (рис. 8 6 ). Формат DXF проигнорировал растровую картинку, исказил контур вокруг нее, коническую заливку, а также увеличил размер шрифта. Дело в том, что этот формат предназначен для конструкторских разработок и, следовательно, в нём отсутствуют команды для описания различных художественных эффектов.

Рис. 8. Результаты преобразования одного векторного формата в другой

Преобразование файлов из векторного формата в растровый

Преобразование изображений из векторного формата в растровый (этот процесс часто называют растрированием векторного изображения) встречается очень часто. Прежде, чем разместить рисованную (векторную) картинку на фотографии, её необходимо экспортировать в растровый формат. Например, изображение окна на рис. 9 было отсканировано и сохранено в файле формата JPEG. Рисунок утёнка создан в векторной программе CorelDRAW и затем экспортирован в файл формата TIFF. Монтаж двух растровых изображений выполнен в программе Adobe PhotoShop.

Рис. 9. Рисованная картинка, вставленная в фотографию

Каждый раз, когда векторный рисунок направляется на устройство вывода (в частности, монитор или принтер), он подвергается растрированию — преобразованию в набор видеопикселей или точек.

При экспорте векторных файлов в растровый формат может быть потеряна информация, связанная с цветом исходного изображения. Это объясняется тем, что в ряде растровых форматов количество цветов ограничено (например, формат GIF использует не более 256 цветов).

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

Этот вид преобразования обычно самый простой и заключается в чтении информации из исходного файла и записи ее в новом файле, где данные о размере изображения, битовой глубине и цвете каждого видеопикселя хранятся другим способом. Если старый формат использует больше цветов, чем новый, то возможна потеря информации. Преобразование файла с 24-битовым цветом (16777216 цветов) в файл с 8-битовым цветом (256 цветов) требует изменения цвета почти каждого пикселя. В простейшем случае это делается так: для каждого пикселя исходного файла ищется наиболее близкий к нему цвет из нового ограниченного набора цветов. При таком способе возможны нежелательные эффекты, когда часть рисунка, содержащая большое количество элементов, оказывается закрашенной одним цветом или когда плавные переходы цвета становятся резкими. На рис. 10 показано, к каким результатам может привести уменьшение количества цветов изображения.

Рис. 10. При уменьшении количества цветов появляются дефекты в изображении

Для преобразования файлов из одного формата в другой используются специальные программы — преобразователи (конверторы) форматов. Однако большинство графических программ (CorelDRAW, Adobe Illustrator, Adobe PhotoShop и др.) могут читать и создавать файлы различных форматов, т. е. являются преобразователями форматов.

Контрольные вопросы

1. Что означает термин «формат графического файла»?

2. Почему необходимо иметь общие форматы для различных приложений?

3. Как хранится изображение в файле векторного формата?

4. Перечислите несколько векторных форматов.

5. Какая информация запоминается в растровом файле?

6. Как можно уменьшить размер растрового файла?

7. Какие методы сжатия графических данных вам известны?

8. Какие форматы используются для хранения фотографий?

9. Когда возникает необходимость в преобразовании форматов файлов?

10. Какие способы преобразования растрового формата в векторный вам известны?

11. Почему при преобразовании одного векторного формата в другой некоторые части изображения могут исказиться или вообще исчезнуть?

12 . Каковы особенности преобразования одного растрового формата в другой растровый формат?

Источник

Оцените статью
Разные способы