лекции. Лекции по компьютерной графике(ИСиТ-1 курс). Связь традиционной и компьютерной графики, с одной стороны, определяет
Скачать 0.87 Mb.
|
7.7. Форматы файлов растровой графики Знание файловых форматов и их возможностей является одним из ключевых факторов в допечатной подготовке изданий, подготовке изображений для web и в компьютерной графике вообще. Каждый из утвердившихся 54 форматов прошел естественный отбор и доказал свою жизнеспособность. Все они имеют какие-то характерные особенности и возможности, делающие их незаменимыми в работе. Формат PCX Формат графических файлов разработанный фирмой ZSoft для работы с графическим редактором PC Paintbrush. Поддерживается множеством графических редакторов, программами сканирования изображений, настольными издательскими системами, программами рассылки факсов. Наряду с ограниченностью цветовой палитры, другим серьезным недостатком PCX формата является наличие многочисленных версий. Последнее обусловлено тем, что PCX стандарт является открытым и используется многими независимыми разработчиками программного обеспечения. Формат PCX использует простейший способ сжатия изображений, позволяющий выполнять быструю перезапись изображения из файла в видеопамять и обратно. Формат BMP Разработка фирмы Microsoft для операционной системы Windows ( сокращение от слова bitmap). Он поддерживается всеми графическими редакторами, работающими под управлением этой операционной системы. Представляет собой чрезвычайно простую структуру и служит для описания и визуализации небольших пиктограмм – иконок (icons), применяемых в графических интерфейсах. Способен хранить как индексированный (до 256 цветов), так и RGB-цвет (16 700 оттенков). Возможно применение сжатия по принципу RLE. Существует разновидность формата ВМР для операционной системы OS/2. 55 Формат GIF Формат GIF (Graphics Interchange Format) является одним из двух форматов файлов, наиболее часто используемых для изображений в Internet, который поддерживается почти всеми web-браузерами. Этот формат позволяет отобразить не более 256 цветов, поэтому его лучше всего использовать для черно-белых графических изображений, цветных картинок и рисунков, содержащих крупные фрагменты одного цвета. Существует две разновидности формата. Первая официальная версия GIF была GIF87a, названная так по году выхода официальной документации. Затем вышла новая усовершенствованная версия формата, обладающая дополнительными возможностями и получившая название GIF89a. Обе эти разновидности поддерживают технологию чередования строк (interlacing) при помощи которой изображение может отрисовываться на экране путем постепенного увеличения четкости. Это особенно полезно, когда изображения выводятся на экран по мере поступления данных, как в случае с программами просмотра (браузерами) World Wide Web. Кроме того, формат GIF89a позволяет добиваться еще целого ряда сильных визуальных эффектов: o маски прозрачности; o включение нескольких изображений; o глобальные цветовые палитры для нескольких изображений; o анимация (попеременный показ нескольких изображений); o включение текстовых комментариев; o настраиваемые задержки показа и чередование (interlacing); o ожидание реакции пользователя. Разработчики программ, использующих формат GIF (читающих и 56 записывающих файлы в этом формате), должны заплатить за лицензию на алгоритм сжатия LZW, примененный в GIF. Формат PNG PNG ( произносится как «пинг») — аббревиатура словосочетания Portable Network Graphics. Как видно из названия, этот формат предназначен специально для передачи изображений по сетям. Формат PNG мог бы сделать революцию в web-дизайне, если бы Microsoft Internet Explorer поддерживал его. Спецификация 1.0 формата PNG выглядит впечатляюще: как и GIF, формат поддерживает сжатие без потерь, чересстрочность (interlacing), прозрачность цвета (transparency), хранение пользовательских данных (например, комментариев). Но, в отличие от GIF, он может сохранять truecolor- изображения с глубиной цвета до 48 бит на пиксель, изображения в шкале серого цвета с глубиной до 16 бит на пиксель, поддерживает альфа-канал и гамма-индикатор. Кроме того, PNG может использоваться абсолютно бесплатно. Правда, PNG 1.0 не может хранить несколько изображений в одном файле, и, следовательно, анимация, одна из самых привлекательных черт формата GIF, в PNG пока не доступна. Существует два подформата: PNG8 и PNG24. Цифры в названии обозначают максимально возможную глубину цвета. В PNG24 реализована поддержка 256 градаций прозрачности, за счет дополнительного альфа-канала с 256 градациями серого. Формат JPEG Формат JPEG (Joint Photographic Experts Group) повсеместно используется для отображения фотографий и других тоновых изображений в WWW и в других сетях. 57 В отличие от формата GIF, формат JPEG сохраняет всю информацию о цвете. Кроме того, формат JPEG использует очень эффективный алгоритм уплотнения, который нередко дает значительное сокращение объема файла за счет удаления избыточной информации (от 10 до 60 процентов от начального объема файла), не влияющей на видимое качество отображения документа. При открытии JPEG-файла происходит его автоматическая распаковка. Недостатком JPEG-уплотнения является то, что оно приводит к частичной потере данных: если упаковать изображение, а затем вновь распаковать его, то результат не будет идентичным оригиналу. Между качеством изображения и степенью уплотнения существует обратная зависимость: чем более высокое качество вы зададите для результирующего изображения, тем менее компактным будет упакованный файл. Существует три подформата JPEG: обычный, optimized (файлы несколько меньше, но не поддерживаются старыми программами) и progressive ( чересстрочное отображение, аналог interlaced в gif). Некоторые приложения позволяют хранить изображение в jpeg в режиме CMYK и включать в файл обтравочные контуры. Однако использовать JPEG для полиграфических нужд категорически не рекомендуется. Взаимодействие регулярной структуры блоков 8х8 пикселей, получающихся в результате компрессии, с не менее регулярной структурой типографского растра в итоге приводит к образованию муара. Формат PSD Формат PSD (Photoshop Document) является внутренним для Photoshop, и позволяет хранить информацию о контурах, каналах, слоях, векторных надписях. Поддерживаются все цветовые модели и любая глубина цвета. Используется сжатие без потерь. Начиная с версии 3.0, Adobe добавила поддержку слоев и контуров, поэтому 58 формат версии 2.5 и ранее выделяется в отдельный подформат. Для совместимости с ним в более поздних версиях Photoshop имеется возможность включить режим добавления в файл одного базового слоя, в котором слиты все слои. Формат TIFF Формат TIFF (Tagged Image File Format) обеспечивает очень высокое качество изображений. Разработан фирмой Aldus Corporation для хранения графических изображений высокого разрешения. Основное преимущество TIFF-формата заключается в том, что он поддерживает очень большие изображения, файлы, содержащие несколько изображений (слоев), и разнообразные методы сжатия. Хранит данные в структурированном виде, что позволяет приложениям осуществлять быстрый доступ к различным фрагментам большого изображения. Спецификация TIFF 5.0 определяет несколько различных подмножеств формата, называемых классами. Класс В поддерживает двухцветные изображения, класс G – изображения с различными оттенками серого, P – изображения с палитрой, R – полноцветные изображения. Спецификация TIFF 6.0 определяет Baseline TIFF, который должен поддерживать все программы чтения TIFF-файлов. Baseline TIFF включает минимальную поддержку всех четырех классов, имеет большое число различных дополнительных особенностей. Важным достоинством формата является его переносимость на разные платформы. Формат RAW Формат RAW (переводится как – сырой) сравнительно молод, в файлах сохраняется информация, которая непосредственно передается с ПЗС- 59 матрицы цифровой камеры, минуя все возможные процессы обработки изображения (интерполяцию, повышение резкости, урезание цветности). Для открытия подобного файла в графическом редакторе необходимо проинсталлировать специальное дополнение, которое обычно поставляется вместе с драйверами аппарата. В целом RAW более предпочтителен, чем TIFF, для записи кадров в цифровых камерах, во-первых, потому, что позволяет сохранять изначальную цветовую информацию снимка без использования встроенных алгоритмов, а во-вторых, потому что файлы формата RAW занимают примерно в два раза меньший объем памяти, нежели TIFF. Формат DjVu Графический формат DjVu (произносится Дежавю) разработан фирмой AT&T в первую очередь для размещения в Internet отсканированных изображений. Его уникальной особенностью является чрезвычайная компактность при хранении изображений в высоком разрешении (300 DPI и выше). Таким образом, DjVu является уникальным инструментом для открытия Internet-доступа к фондам библиотек. Для просмотра необходимо либо установить плагин для браузера, либо воспользоваться одной из программ просмотра графических файлов, поддерживающей формат DjVu. При сжатии текст и контрастные рисунки сохраняются с разрешением 300 dpi, все остальное считается фоном и сохраняется с пониженным разрешением. Это позволяет хорошо сжать электронный документ без потери его читаемости. Формат поддерживает гиперссылки и многостраничные документы. 60 8. Векторная графика Программные средства для работы с векторной графикой предназначены, в первую очередь, для создания иллюстраций и в меньшей степени для их обработки. Принципы векторной графики основаны на отличном от пиксельной графики математическом аппарате и имеют целью построение линейных контуров, составленных из элементарных кривых, описываемых математическими уравнениями. Векторная графика – вид компьютерной графики, в котором изображение представляется в виде совокупности отдельных объектов, описанных математически. Как в растровой графике основным элементом изображения является точка, так в векторной графике основным элементом изображения является линия ( при этом не важно, прямая это линия или кривая). Разумеется, в растровой графике тоже существуют линии, но там они рассматриваются как комбинации точек. Для каждой точки линии в растровой графике отводится одна или несколько ячеек памяти (чем больше цветов могут иметь точки, тем больше ячеек им выделяется). Соответственно, чем длиннее растровая линия, тем больше памяти она занимает. В векторной графике объем памяти, занимаемый линией, не зависит от размеров линии, поскольку линия представляется в виде формулы, а точнее говоря, в виде нескольких параметров. Что бы мы ни делали с этой линией, меняются только ее параметры, хранящиеся в ячейках памяти. Количество же ячеек остается неизменным. 61 Линия — это элементарный объект векторной графики. Все, что есть в векторной иллюстрации, состоит из линий. Простейшие объекты объединяются в более сложные. Например, объект четырехугольник можно рассматривать как четыре связанные линии. При редактировании элементов векторной графики изменяются параметры прямых и изогнутых линий, описывающих форму этих элементов. Можно переносить элементы, менять их размер, форму и цвет, но это не отразится на качестве их визуального представления. Векторная графика не зависит от разрешения, т.е. может быть показана в разнообразных выходных устройствах с различным разрешением без потери качества. Векторный формат более компактный, но он совершенно не пригоден для хранения фотографических изображений. В этом формате задавать их математически было бы очень громоздко. А вот рисунки и чертежи гораздо удобнее и практичнее делать именно в векторном виде. Основными достоинствами векторной графики являются: o изменение масштаба без потери качества и практически без увеличения размеров исходного файла; o огромная точность (до сотой доли микрона); o небольшой размер файла по сравнению с растровыми изображениями; o высокое качество печати; o отсутствие проблем с экспортом векторного изображения в растровое; o возможность редактирования каждого элемента изображения в отдельности. Основные недостатки: o сложность экспорта из растрового в векторный формат; 62 o невозможность применения обширной библиотеки эффектов, используемых при работе с растровыми изображениями. 8.1. Математические основы векторной графики В основе векторной графики лежат математические представления о свойствах геометрических фигур. Как мы сказали выше, простейшим объектом векторной графики является линия. Поэтому в основе векторной графики лежит, прежде всего, математическое представление линии. Рассмотрим несколько видов линий, но начнем с точки. Точка Точка на плоскости задается двумя числами ( , x y ), определяющими ее положение относительно начала координат. Прямая линия Известно, что для задания прямой линии достаточно двух параметров. Обычно график прямой линии описывается уравнением y kx b = + Зная параметры k и b , всегда можно нарисовать бесконечную прямую линию в известной системе координат. Кривая второго порядка К кривым второго порядка относятся параболы, гиперболы, эллипсы, окружности и другие линии, уравнения которых не содержат степеней выше второй. Отличаются кривые второго порядка тем, что не имеют точек перегиба. Самая общая формула кривой второго порядка может выглядеть, например, так: 63 2 2 1 2 3 4 5 0 х а у а ху а х а у а + + + + + = Как видите, пяти параметров вполне достаточно для описания бесконечной кривой второго порядка. Кривая третьего порядка Отличительная особенность этих более сложных кривых состоит в том, что они могут иметь точку перегиба. Кривые третьего порядка хорошо соответствуют тем линиям, которые мы наблюдаем в живой природе, например линиям изгиба человеческого тела, поэтому в качестве основных объектов векторной графики используют именно такие линии. Все прямые и кривые второго порядка (например, окружности или эллипсы) являются частными случаями кривых третьего порядка. В общем случае уравнение кривой третьего порядка можно записать так: 3 3 2 2 2 2 1 2 3 4 5 6 7 8 9 0 х а у а х у а ху а х а у а ху а х а у а + + + + + + + + + = Видно, что для записи кривой третьего порядка достаточно девяти параметров. Кривые Безье Рисовать кривую третьего порядка по заданным коэффициентам ее уравнения — занятие не слишком интересное. Для упрощения этой процедуры в векторных редакторах применяют не любые кривые третьего порядка, а их особый вид, называемый кривыми Безье. Вопрос о построении аппроксимирующего многочлена привлек многих ма- тематиков. Среди них одну из решающих ролей сыграл выдающийся ученый Сергей Натанович Бернштейн, который окончил Харьковский университет, 64 учился в Сорбонне, а в начале XX века предложил новое доказательство теоремы Вейерштрасса с помощью теории вероятностей. В этом случае не- обходимый полином строится в явном виде (не параметрически). Именно данный полином и стал основой сплайновых кривых, в частности NURBS- кривых и кривых Безье. К сожалению, нашему великому соотечественнику не очень повезло, по- скольку чаще известны имена людей, применивших открытия, чем их авто- ров. То же случилось с кривыми, которые известны всему миру под именем кривых Безье. Отрезки кривых Безье — это частный случай отрезков кривых третьего порядка. Они описываются не одиннадцатью параметрами, как произвольные отрезки кривых третьего порядка, а лишь восемью, и потому работать с ними удобнее. Метод построения кривой Безье основан на использовании пары касательных, проведенных к линии в точках ее окончания (рис. 8.1). Для построения кривой требуется 4 контрольные точки. Но кривая физически проходит только через две из них, они получили название опорных. Одна из этих точек называется начальной (start point), а другая – конечной (end point). Две точки остаются в стороне, они получили название управляющих (control point). Для того чтобы их не «потерять», в программах векторной графики управляющие точки соединяются с опорными точками линией. Как же изменить форму канонической кривой Безье, чтобы с ее помощью получить огромное многообразие форм, из которых можно составить объект любой сложности? 65 Рис. 8.1. Канонический вид кривой Безье В программах векторной графики существует единственный способ – это интерактивное перемещение опорных и управляющих точек (рис. 8.2). Если перемещаются начальная или конечная точки, то кривая станет соответствующим образом изменяться (вытягиваться или сжиматься как упругая резинка). Перемещение управляющих точек изменяет кривизну соответствующей части кривой Безье. Таким образом, с помощью перемещения этих четырех точек получают неограниченное количество форм кривой Безье, которая может быть всего- навсего одним отдельным сегментом сложного векторного контура. В каждом сегменте можно добавлять опорные точки, которые тоже позволяют изменять форму кривой. Добавление новых опорных точек в пределах одного сегмента кривой не противоречит тому условию, что отдельные кривые соединяются в цепь. Просто кривая Безье добавляется не к концу контура, а размещается внутри уже имеющегося контура. P 1 ( управляющая точка) P 0 ( опорная точка) P 3 ( управляющая точка) ( опорная точка) P 2 кривая Безье 66 Рис. 8.2. Способы изменения формы сегмента По сути дела любая векторная конструкция (векторный контур или векторная форма) создается из векторных сегментов, каждый из которых идентичен отдельной элементарной кривой Безье. Отсюда следует, что между ними образуются соединительные точки, которые иногда называются узлами (например, nodes – в графическом редакторе Corel Draw). Для поддержки соотношения между элементарными сегментами существуют разные типы опорных точек. Перемещение сегмента Перемещение опорной точки Перемещение управляющей точки |