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

Содержание


Введение

Что такое векторная графика

Векторные операции

Редакторы векторной графики

Редакторы свободного ПО и проприетарного ПО

Что такое растровая графика

Сжатие с потерями и без потерь

В чем же различие между растровой и векторной графикой?

Список использованной литературы


Введение


Векторная графика - неотъемлемая часть мировой технологии. Она появилась почти в то время, когда появились первые ЭВМ. (ЭВМ - это вычислительная машина, которая построена с использованием электронных устройств в качестве функциональных элементов.)

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

Но сначала надо определиться с таким термином, как «графический объект». Это есть не что иное, как графическое изображение или какая-то его часть. В зависимости от видов компьютерной графики под этим термином понимаются как пиксели, так и спрайты (в растровой графике), соответственно, и векторные объекты, такие как круг, квадрат, овал, линия, кривая и многие другие (в векторной графике).

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


Что такое векторная графика


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

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

программные

аппаратные (встроенные в видеокарту)

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


Рис.1 Растровое и векторное представление листа с дерева

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

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

сканеры

цифровые фотокамеры и многие другие.

Из этого сделаем вывод о преимуществах векторной графики:

Первое преимущество:

Размер, который занимает описательную часть, никак не зависит от настоящей величины объекта, что, кстати, позволяет описать большой объект файлом почти самого минимального размера при этом, используя маленькое количество информации.

Второе преимущество:

Из-за того, что информация о самом объекте хранится в описательной форме, можно увеличить графический примитив во столько раз, во сколько нам надо. Например, возьмем ту же самую дугу окружности r, и она останется гладкой.

Хотя, если кривая представлена в виде ломанной, как нам кажется, линии, увеличение покажет, что никакая она на самом деле не кривая.

Третье преимущество:

Так как параметры объектов хранятся, значит, они могут быть легко изменены.

В то же время, это означает, что перемещение, и масштабирование, и вращение,

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

Четвертое преимущество:

И при увеличении, и при уменьшении объектов толщина линий может быть задана постоянной величиной, совершенно не отталкиваясь от реального контура этого объекта.

Помимо преимуществ есть еще и недостатки:

Первый недостаток:

К сожалению, не каждый объект может быть легко изображен в векторном виде - для нарисованного «клона» оригинального изображения может потребоваться огромное количество объектов с высокой сложностью, что, на самом деле, ужасно негативно влияет на количество памяти, которое занимает изображение. Так же, требуется время для его отображения или, по-другому, отрисовки.

Второй недостаток:

Слишком прост перевод векторной графики в растр. Казалось бы : « О, так это же хорошо!», но не тут -то было. Обратного пути почти не существует - трассировка растра не всегда обеспечивает высокое качество векторного рисунка. Ибо для перевода из растровой графики в векторную требуется довольно большое количество вычислительных мощностей и немалое количество времени.

Третий недостаток:

Спецификации векторных форматов (так же как и рендереры векторной графики) намного сложнее таковых для растровой графики.

Четвертый недостаток:

Масштабируемость - это преимущество векторной графики, к сожалению, пропадает, когда мы имеем дело с очень малыми разрешениями графики (к примеру, иконки размером 32х32 или 16х16). Картинку приходится подгонять вручную, чтобы не было «грязи». Кстати, в векторных шрифтах TrueType если очень сложные коды хинтинга, которые позволяют избавиться от пропущенных, или наоборот, излишне толстых линий.

Существуют типичные примитивные объекты, такие как:

Линии и ломаные линии

Многоугольники

Окружности и эллипсы

Кривые Безье

Текст (в компьютерных шрифтах как TrueType, каждая буква создается из кривых Безье) 7

Данный список неполон. Более того, есть различные типы кривых - Catmull-Rom сплайны, NURBS и многие другие - которые используются в разных приложениях.

Также можно рассматривать растровое изображение как примитивный объект, который ведет себя как прямоугольник.


Векторные операции


Векторные графические редакторы позволяют пользователям создавать и редактировать векторные изображения на экране компьютера и, конечно, сохранять их в векторных форматах типа: CDR, Al, EPS, WMF или SVG.

Так же, эти редакторы позволяют вращать, отражать, растягивать, перемещать, скашивать и выполнять основные аффинные преобразования над объектами (Аффинное преобразование - отображение плоскости или пространства в себя). Далее, позволяет изменять z-order (порядок наложения - термин, который обозначает порядок размещения элементов (очень часто графических) по отношению к наблюдателю.) и комбинировать примитивы в более сложные объекты.


Рис.2 Различие между растровой и векторной графиками


Более долгие преобразования включают булевы операции на замкнутых фигурах: объединение, дополнение, пересечение и многие другие.

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


Редакторы векторной графики


Начнем с того, что есть редакторы, которым нужна определенная операционная система, такая как Linux, OS X, Windows, но так же есть и кроссплатформенные редакторы.

Что значит кроссплаформенный редактор?

Вообще, кроссплатформенное (межплатформенное) программное обеспечение - это такое программное обеспечение, которое работает более чем на одной аппаратной платформе и/или операционной системе. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно. Из этого делаем вывод:

Кроссплатформенный редактор - это редактор, в котором можно работать в нескольких ОС сразу.

О Linux:

Линукс - это общее название Unix-подобных операционных систем, которые основаны на

Ядро Linux создаётся и распространяется в соответствии с моделью разработки свободного и открытого программного обеспечения. Следовательно, общее название не подразумевает какой-либо единой «официальной» комплектации Linux; ибо они распространяются бесплатно в виде различных готовых дистрибутивов, которые уже настроены под нужды пользователя.

Рис.2 Логотип ОС Linux. одноименном ядре


Об OS X:X (Mac OS X до версии 10.6 включительно) - проприетарная операционная система производства Apple.

Как говорят, является преемницей Mac OS 9.

В OS X используется ядро XNU, основанное на микроядре Mach и содержащее программный код разработанный компанией Apple, так же код из ОС


Рис.3 Логотип компании Apple и ОС Mac OS X NeXTSTEP и FreeBSD

До версии 10.3 OS X работала только на компьютерах с процессорами PowerPC. Выпуски 10.4 и 10.5 поддерживали как PowerPC, так и Intel-процессоры. Начиная с 10.6 OS X, работает только с процессорами Intel.

О Windows:Windows - семейство проприетарных операционных систем корпорации Microsoft, ориентированных на применение графического интерфейса при управлении.


Рис.4 Логотип ОС Windows


Редакторы свободного ПО и проприетарного ПО


Они делятся на две группы:

. Свободное программное обеспечение;

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

. Проприетарное программное обеспечение.

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

Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в


Рис.5 Редакторы и нужные им ОС


К первой группе относятся такие редакторы, как:

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

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

. Xara Xtreme - векторный графический редактор. Последняя версия - Xara Designer 8 - выпущена в мае 2012 года.

Выпустившая Xara Designer компания Xara Ltd. раскрыла исходные коды программы на условиях лицензии GNU General Public License, однако коды нужной библиотеки CDraw остались в секрете. Сторонние разработчики начали портирование на Cairo.

. sK1- редактор для работы с векторной графикой, распространяющийся на условиях LGPL, по набору функций схожий с CorelDRAW, Adobe Illustrator, Freehand и Inkscape.

. Scribus (Скрибус) - это приложение для визуальной вёрстки документов, созданное для пользователей Linux, Unix, Mac OS X, OS2, eCS, HaikuOS и Windows, по концепции аналогичное Adobe InDesign и QuarkXPress. Программа распространяется на условиях GNU General Public License.

А ко второй группе относятся редакторы типа:

.CorelDRAW - векторный графический редактор, разработанный канадской корпорацией Corel. Текущая версия продукта - CorelDRAW Graphics Suite X7, доступна только для Microsoft Windows. Более ранние версии выпускались также для Macintosh и Linux. Последняя версия для Linux - 9-я, выпущенная в 2000 году. В 2002 году вышла последняя 11-я версия для Macintosh.

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

. Adobe Fireworks - (также известный как FW) - растровый и векторный графический редактор компании Adobe для веб-дизайнеров и разработчиков, позволяющий быстро создавать, редактировать и оптимизировать изображения для сайтов, эскизы сайтов и веб-приложений.


Что такое растровая графика?


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

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

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

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

dpi - точек на дюйм,

ppi - пиксели на дюйм.

Более того, качество зависит еще и от количества цветов и оттенков, которые может принимать любая точка изображения.

Чем большим количеством оттенков характеризуется изображение, тем большее количество разрядов требуется для их описания.

То есть, синий цвет может быть цветом номер 003, а может быть и - 0000000003. Следовательно, чем качественнее изображение, тем больший размер имеет файл.

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


Сжатие с потерями и без потерь

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

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

Кстати, хочу Вас осведомить, что сжатие изображений подразделяют на:

сжатие с потерями качества,

сжатие без потерь.

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

Алгоритмы сжатия с потерями (при увеличении степени сжатия), как правило, порождают очень хорошо замеченные человеческому глазу, так называемые, артефакты.

Итак, вернемся к алгоритмам. Как мы уже говорили , существует всего два алгоритма. Первый - это сжатие без потерь:

RLE - этот алгоритм используется для таких форматов, как PCX (в качестве основного метода), TIFF, BMP, TGA (в качестве одного из доступных).

LZW - используется в таком формате, как GIF

LZ-Huffman -используется в формате PNG

Второй алгоритм - сжатие с потерями:

Самый популярный формат изображения, где используется сжатие с потерями - JPEG

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

JPEG 2000

Алгоритм фрактального сжатия

DXTC - это компрессия всяких текстур, которая реализована в графическом API DirectX и, которая поддерживается на аппаратном уровне, благодаря современным видеокартам.

Сжатие изображения на базе дифференциального анализа.


Рис.6 Графические форматы


Должна упомянуть еще пару алгоритмов - это:

TIFF поддерживает большой диапазон изменения глубины цвета, разные цветовые пространства, а так же разные настройки сжатия (и с потерями, и без).

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

плохая освещенность

невозможность выставить баланс белого и многое другое.

Хорошо, что почти все профессиональные и полупрофессиональные фотоаппараты позволяют сохранять в RAW изображения. Формат файла зависит от модели фотоаппарата, единого стандарта не существует. 18


В чем же различие между растровой и векторной графикой?


Для того, чтобы уяснить разницу между растровой и векторной графикой приведем простой пример. Ну, предположим, что Вы решили отсканировать Вашу фотографию размером 10х15 см чтобы затем обработать и распечатать на цветном принтере. Для получения приемлемого качества печати необходимо разрешение не менее 300 dpi. Считаем:

см = 3,9 дюйма; 15 см = 5,9 дюймов.

По вертикали: 3,9 * 300 = 1170 точек.

По горизонтали: 5,9 * 300 = 1770 точек.

Итак, число пикселей растровой матрицы 1170 * 1770 = 2 070 900.

Теперь решим, сколько цветов мы хотим использовать. Для черно-белого изображения используют обычно 256 градаций серого цвета для каждого пикселя, или 1 байт. Получаем, что для хранения нашего изображения надо 2 070 900 байт или 1,97 Мб.

Для получения качественного цветного изображения надо не менее 256 оттенков для каждого базового цвета. В модели RGB соответственно их три: красный, зеленый и синий. Получаем общее количество байт - три на каждый пиксель. Соответственно, размер хранимого изображения возрастает в три раза и составляет 5,92 Мб.

Для создания макета для полиграфии фотографии сканируют с разрешением 600 dpi, следовательно, размер файла вырастает вообще вчетверо.

С другой стороны, если изображение состоит из простых объектов, то для его хранения в векторном виде необходимо не более нескольких килобайт.

Список использованной литературы.


1. http://compgraph.tpu.ru/Picture_in_PC.htm

. http://www.coolreferat.com/Векторная_графика

. http://refoteka.ru/r-142674.html

. http://referat.znate.ru/docs/index-41360.html

. http://diakonov.com/wiki/Кроссплатформенность.html


Теги: Векторная и растровая графика  Реферат  Информационное обеспечение, программирование