logo search
43121

Глава 4. Форматы статичной графики

Итак, с пользовательским интерфейсом Macromedia Flash мы разобрались. Как выполняются типичные для всех Windows-приложений задачи, выяснили. Теперь самое время приступить к работе над графикой.

Да, мы так и поступим. Сначала рассмотрим создание статичной графики, потом перейдем к анимации. Ну, а уж после того, как мы научимся делать анимированные картинки, можно рассмотреть и программирование во Flash: интерактивные фильмы, пользовательские интерфейсы интернет-программ и т. п. Таким образом, к концу этой книги вы узнаете все, что может Flash, и сможете использовать это "все" в своих целях.

Но не торопитесь. Сначала немного поговорим о самой компьютерной графике.

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

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

Форматов хранения графической информацией трудолюбивое человечество наплодило великое множество. Основная их масса была создана достаточно давно, вместе с программами для обработки графики, т. е. они являлись фирменным, "родным" форматом для той или иной программы. Очень немногие графические форматы были задуманы специально для обмена графическими файлами между разными программами (межпрограммные или программно-независимые форматы). К первым форматам можно отнести известный формат BMP, созданный специально для хранения графики в Windows-программах, а ко вторым - популярнейший формат GIF. В дальнейшем многие форматы графики исчезли (зачастую вместе с программами, для которых они были созданы), и лишь малое число их дожило до нашего времени.

В живом мире действует жестокий закон эволюции. Это же справедливо и для мира компьютеров. Любое устройство, программа, любая технология нежизнеспособны, если они не найдут для себя "экологическую нишу", т. е. будут использоваться людьми. Так же как и любой графический формат. Те из них, что остались "живы", более или менее активно используются и покрывают практически все нужды современных компьютерных художников. Их-то и поддерживает большая часть современного графического программного обеспечения.

Растровая графика

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

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

Векторная графика

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

Такая графика, состоящая из отдельных примитивов, называется векторной графикой. Именно в таком виде сохраняются изображения Flash.

Гибридная графика

Собственно, гибридная графика - это разновидность векторной графики, содержащей внутри себя растровые изображения. Благодаря этому часто удается преодолеть главнейшие недостатки и растровой, и векторной графики: большой размер (у растровой графики) и невозможность точной передачи полутоновых изображений (векторной графикой).

Гибридное изображение разбито на фрагменты, часть из которых выполнена в растровом, а часть - в векторном виде. Обычно все полутоновые фрагменты выноски, схемы, карты и т. п. Таким образом достигается компромисс между качеством изображения и размером файла.

Все современные редакторы векторной графики, в том числе Flash, предоставляют возможность создания гибридной графики. Фактических можно даже назвать редакторами гибридной графики. Также гибридную графику создают и программы настольных издательств.

Применение разных видов графики

Если на свете существует два вида компьютерной графики, значит, это кому-то нужно. Давайте же выясним, кому и, главное, в каких случаях это нужно.

Главный козырь растровой графики - точность передачи сканированных изображений. При этом растровая графика занимает тем больший объем, чем больше само изображение, и не предоставляет никаких возможностей по его обработке (масштабированию, искажению, повороту, перекрашиванию). Главный козырь векторной графики - исключительные возможности обработки изображения. Недостаток - невозможность сохранения в векторном виде полутоновых изображений в близком к оригиналу виде. Исходя из этого, можно определить область применения для каждого вида компьютерной графики.

Итак, растровая графика применяется для:

сохранения полутоновых изображений (сканированные или изначально нарисованные на компьютере картины, фотографии);

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

Векторная графика лучше всего подойдет, если нужно:

сохранить штриховые изображения (карты, чертежи, рисунки карандашом, гравюры) в электронном виде;

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

Большинство распространенных графических форматов - растровые. Сначала их и рассмотрим.

BMP

Формат BMP (BitMaP - битовая матрица) - простейший формат записи растровых изображений. Разработан фирмой Microsoft для сохранения графики в операционной системе Windows и совместимых с ней программах.

Для этого поддержка формата BMP была встроена непосредственно в ядро системы Windows. Также известен под названием DIB (Device Independent Bitmap - битовая матрица, не зависимая от устройства вывода).

Графика сохраняется в файлах с расширением bmp или dib (встречается очень редко). Поддерживает все цветовые видеорежимы. Графические данные могут быть сжаты с использованием простейшего алгоритма RLE (Run Length Encoding - кодирование с переменной длиной строки). Если сжатие не используется, размер графического файла может быть очень велик.

В настоящее время - один из самых распространенных графических форматов. Поддерживается практически всеми графическими программами. Из-за своей простоты требует для вывода очень мало системных ресурсов, поэтому основное его предназначение - хранение изображений, используемых как элементы пользовательского интерфейса операционной системы. В частности, именно в формате BMP хранятся системные "обои", заставки, иконки и т. п.

PCX

Формат PCX - один из самых старых графических форматов. Он был разработан в начале восьмидесятых годов не существующей ныне фирмой Z-Soft для собственного растрового графического редактора PC Paintbrush, работавшего в среде MS-DOS. Также поддерживался множеством других программ, работавших в среде DOS и Windows, и продолжает поддерживаться и поныне, хотя и является устаревшим.

GIF

Формат GIF (Graphic Interchange Format - формат обмена графикой) был разработан фирмой CompuServe в 1987 году для использования в собственной одноименной компьютерной сети. Получил огромное распространение в компьютерных сетях, в частности, в Интернете. Пожалуй, в настоящее время большинство компьютерной графики, использующейся в Web-дизайне и вообще для распространения изображений в Интернет, сохранено в этом формате.

Графика хранится в файлах с расширением gif. Поддерживаются цветовые видеорежимы до 256 цветов включительно. Для сжатия графики используется алгоритм LZW, разработанный израильскими математиками Лемпелом и Зивом. Графика может быть сохранена с чередованием (по-английски -interleaving) строк; в этом случае изображение как бы постепенно "проявляется" строка за строкой по мере загрузки файла.

В 1989 году формат GIF был расширен; новая версия стандарта получила название С Р89А. Во-первых, была введена поддержка прозрачности или "прозрачного" цвета, т. е. один цвет из всех доступных на изображении мог быть помечен как прозрачный, и сквозь него будет "просвечивать" фон изображения. (Профессиональные графики часто называют "прозрачный" цвет альфа-каналом, по-английски - alpha channel или просто alpha.) Во-вторых, появилась возможность сохранять в одном файле несколько изображений, которые могут демонстрироваться как фильм (так называемые "анимированные GIF-файлы"; о них мы поговорим в главе 12).

Формат GIF прекрасно подходит для сохранения изображений с резкими цветовыми переходами. В частности, Web-дизайнеры создают в этом формате элементы оформления и рекламные баннерыдля своих страниц, а поддержка прозрачности и анимации им только на руку. Иногда в этом формате создаются начальные заставки и графические элементы интерфейса программ.

PNG

Формат PNG (Portable Network Graphic -- переносимая сетевая графика) разработан сообществом независимых профаммистов в качестве замены устаревающего и переходящего в разряд коммерческих продуктов формата GIF. Хотя он и поддерживается в настоящее время многими фафическими пакетами, однако большой популярности в Интернете пока не снискал, хотя автору встречались сайты с PNG-фафикой. Также используется для хранения фафики, разрабатываемой в пакете интернет-фафики Macromedia Fireworks.

Графика хранится в файлах с расширением png. Поддерживает все цветовые видеорежимы. Для сжатия графики применяется очень мощный алгоритм Deflate (буквально - Чс , :иии ), обеспечивающий более сильное сжатие по сравнению с LZW. Графика может быть сохранена с чередованием не только строк, но и столбцов, таким образом, изображение будет "проявляться" и по строкам, и по столбцам. Также поддерживаются 256 фадаций прозрачности (альфа-канала) против всего двух у GIF и автоматическая коррекция яркости.

Однако, по сравнению с GIF, формат PNG имеет и недостатки. Первый офомный недостаток - PNG не поддерживает анимацию. Правда, вряд ли это так уж актуально в связи с повсеместным переходом Web-аниматоров на Flash. Второй недостаток - файлы формата I'NCi больше, чем GIF, примерно на один килобайт из-за того, что в заголовке файла хранится гораздо больше информации. На мой взгляд, это тоже не очень значительный недостаток: получился файл чуть больше - ну и что? Так что, в принципе, вышеприведенные недостатки не повлияют на распространение формата PNG в Интернете.

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

JPEG

Формат JPEG (Joint Picture Encoding Group - группа кодировки неподвижных изображений) разработан одноименной группой программистов специально для распространения высококачественной графики в компьютерных сетях. Именно для этого он и используется в настоящее время. JPEG - второй по распространенности формат графики в Интернете.

Графика сохраняется в файлах с расширениями jpeg, jpe или jpg. Поддерживается только цветовой видеорежим TrueColor (24-битный цвет). Для сжатия графики используется исключительно мощный алгоритм под названием JPEG, фактически включающий в себя несколько алгоритмов сжатия для разных случаев. Этот алгоритм реализует сжатие данных с потерями, когда некоторая часть информации о цвете отбрасывается, и результирующий массив данных становится меньше. Во всех других форматах графики со сжатием применяются алгоритмы сжатия данных без потерь.

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

Формат JPEG, в отличие от GIF и PNG, не поддерживает ни анимацию, ни прозрачность. Однако существует разновидность формата JPEG, называемая "прогрессивный JPEG" (progressive JPEG или p-JPEG), поддерживающая чередование строк.

Область применения формата JPEG достаточно узка - распространение высококачественной полутоновой графики в Интернете. Сканированные полутоновые изображения при использовании умеренного сжатия получаются очень даже неплохими. Особенно популярны "в народе" подборки картин Бориса Вальехо и других так называемых "фэнтезийных" живописцев, сохраненные в JPEG-файлах.

TIFF

Формат TIFF (Tag Image File Format - теговый файловый формат изображений) был разработан фирмой Aldus, разработчиком известнейшего пакета настольного издательства PageMaker, для другого своего продукта - растрового редактора PhotoStyler, не дошедшего до наших времен. Применяется для сохранения высококачественной полноцветной графики без потери качества для издательских целей. Часто используется для обмена высококачественной графикой между пользователями различных программ.

Графика записывается в файлы с расширением tif или tiff. Поддерживаются все цветовые видеорежимы, прозрачность и несколько алгоритмов сжатия: LZW, Deflate и JPEG. Фирменной особенностью этого формата является возможность записи в графический файл так называемых тегов: специальных примечаний, вносимых художником или самой программой графического редактора.

Существует две разновидности формата TIFF: совместимый с PC и с Apple Macintosh. Это вызвано различиями в архитектуре перечисленных компьютерных платформ.

Формат TIFF поддерживается всеми графическими программами профессионального уровня. Более того, поддержка какой-либо программой этого формата говорит об ее профессиональной ориентации.

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

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

Shockwave/Flash

Разумеется, мы не могли не начать рассмотрение форматов векторной графики с "родного" формата Macromedia Flash. Как-никак, именно в нем нам предстоит сохранять свои творения.

Формат Shockwave/Flash разработан фирмой Macromedia для сохранения изображений и фильмов, созданных в пакете векторной графики Shockwave. Позднее на основе Shockwave был создан пакет интернет-графики Flash, "унаследовавший" этот формат. Поэтому говорят, что существует единый формат Shockwave/Flash.

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

Документы Flash сохраняются в файлах с расширением fla. Экспортированная же графика хранится в файлах с расширением swf.

Помимо самого пакета Flash оба этих формата поддерживаются другими продуктами фирмы Macromedia: Dreamweaver, Fireworks и др. Также эти форматы поддерживаются некоторыми другими графическими программами.

Windows Metafile и Enhanced Windows Metafile

Формат Windows Metafile - простейший формат записи векторных изображений. Разработан фирмой Microsoft для сохранения векторной графики в операционной системе Windows и совместимых с ней программах. Поддержка этого формата встроена непосредственно в ядро системы Windows.

Возможности формата исключительно слабы, более-менее сложную графику сохранить в нем невозможно.

В настоящее время формат Windows Metafile, в отличие от BMP, распространен очень мало, хотя поддерживается практически всеми графическими программами и требует очень мало системных ресурсов для вывода и обработки. Используется для хранения векторных изображений в некоторых программах (например, начальных заставок или элементов пользовательского интерфейса). В частности, Microsoft Word свой комплект картинок (так называемый "клипарт" от английского clipart) хранит в формате Windows Metafile. Вероятно, фирма Microsoft, хочет показать таким образом, что этот формат тоже пригоден для распространения графики.

Формат Enhanced Windows Metafile - дальнейшее развитие Windows Metafile. Он также разработан Microsoft, однако "в народ" почему-то не продвигался и мало-мальски широкого распространения поэтому не получил. Автору за всю его достаточно длинную карьеру компьютерщика не попадалось на одного файла этого формата. Остается добавить, что формат предписывает сохранять графику в файлах и поддерживается многими современными графическими пакетами.

Adobe Illustrator

Этот формат был разработан фирмой Adobe для векторного графического редактора Illustrator. В настоящее время поддерживается практически всеми пакетами векторной графики и используется для обмена векторными изображениями между пользователями различных программ.

Графика сохраняется в файлах с расширением ai. Формат очень устойчив к сбоям, испорченный файл, как правило, с большой вероятностью все же можно прочитать.

CorelDRAW!

Был разработан фирмой Corel для векторного редактора CorelDRAW!. Фактически позволяет хранить гибридную графику. Иногда используется для обмена графикой.

Графика сохраняется в файлах с расширением cdr. Имеет несколько привлекательных возможностей по сравнению с Adobe Illustrator (например, сжатие графики, причем растровая и векторная графики сжимаются отдельно), но несовместимость различных версий формата и невысокая устойчивость к сбоям отнюдь не идут на пользу ею популярности.

Этот формат Flash не поддерживается. Чтобы импортировать графическое изображение в формате CorelDRAW!, вам придется преобразовать его в другой формат, например, Adobe Illustrator или Windows Metafile, используя другую графическую программу.

Encapsulated PostScript

Этот формат был разработан фирмой Adobe для обмена векторной графикой между пользователями различных программ. Собственно, это даже не формат, а целый язык, базирующийся на языке описания графики для высококачественных принтеров PostScript. Фактически, файл в этом формате можно скопировать на поддерживающий язык PostScript принтер, набрав в командной строке: copy graphic_file.eps prn и он будет напечатан.

Графика сохраняется в файлах с расширением eps. Такой файл представляет собой простой текстовый документ, содержащий набор команд для принтера напечатать тот или иной примитив. Таким образом, EPS-файл может быть отредактирован в любом текстовом редакторе при наличии знания языка PostScript.

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

VML

Формат VML (Vector Markup Language - язык векторной разметки) разработан фирмой Microsoft для использования в собственной программе Web-обозревателя Internet Explorer версии 5.0 и более поздних. Так же, как и Encapsulated PostScript, это не столько формат, сколько текстовый язык описания векторной графики. По задумке, фрагменты таких описаний помещаются внутрь Web-страниц, среди обычного HTML-кода, и описывают их графические элементы. Таким образом, можно будет отказаться от традиционной Web-графики, представляющей собой внедренные элементы, хранящиеся в отдельных файлах.

PDF

Формат PDF (Portable Document Format - формат переносимых документов) был разработан фирмой Adobe для создания переносимых платформно-независимых электронных документов. Такие документы могут содержать, кроме форматированного текста, различную векторную и растровую графику, разбиваться на страницы, печататься на принтере или просматриваться на экране компьютера. Помимо этого, документы в этом формате имеют очень малый размер (используется сжатие, причем каждый вид графики сжимается по самому подходящему для него алгоритму), таким образом, их можно распространять через Интернет.

Документы этого формата сохраняются в файлах с расширением pdf. Они создаются с помощью пакета Adobe Acrobat, а читаются - с помощью программы чтения Adobe Acrobat Reader, распространяемой бесплатно. По названию этих двух программ формат PDF получил свое второе название - формат документов Acrobat.

Формат PDF получил огромную популярность для распространения электронных документов с богатым форматированием и графикой. Фактически, этот формат теперь стоит на втором месте, после HTML, по распространенности. Кроме Adobe Acrobat, создание документов PDF поддерживают множество других текстовых и графических пакетов. A Adobe Acrobat Reader -одна из популярнейших в мире программ.

VRML

Формат, точнее, язык, VRML (Virtual Reality Modeling Language - язык моделирования виртуальной реальности) был разработан группой независимых разработчиков. Он служит для создания так называемых виртуальных миров и распространения их через Интернет. Описание такого виртуального мира представляет собой текстовый файл с расширением vrm или vrml, содержащий набор команд на языке VRML. Такой файл может быть "проигран" с помощью особых программ -"проигрывателей" VRML; самым распространенным из них является Cortona VRML Client фирмы Parallel Graphics.

Хоть язык VRML и поддерживающее его программное обеспечение, предназначенное для создания и "проигрывания" виртуальных миров были широко разрекламированы в свое время, распространение он получил очень ограниченное. Связано это с тем, что мощностей современных компьютеров пока что не хватает для создания чего-то более сложного, чем странные геометрические фигуры из двух сфер и конуса. К тому же, виртуальная реальность, похоже, потеряла для простых людей свою притягательность. Поэтому будущее VRML так же туманно, как и настоящее...