Способ хранения векторной графики не зависит от

Содержание
  1. Векторная графика
  2. Содержание
  3. Обзор
  4. Способ хранения изображения
  5. Преимущества векторного способа описания графики над растровой графикой
  6. Фундаментальные недостатки векторной графики
  7. Типичные примитивные объекты
  8. Векторные операции
  9. См. также
  10. Ссылки
  11. Полезное
  12. Смотреть что такое «Векторная графика» в других словарях:
  13. Способы хранения изображений векторной графики. Перечень и краткий анализ. Примеры.
  14. Программы для работы с векторной графикой. Бесплатные программы для работы с векторами. Краткий обзор и анализ.
  15. Фрактальная графика и ее назначение. Особенности формирования изображения. Примеры.
  16. Достоинства и недостатки фрактальной графики. Примеры.
  17. 21 Программные средства фрактальной графики. Краткий обзор возможностей. Сферы применения.
  18. —>ХОЧУ ВСЁ ЗНАТЬ. —>
  19. Векторные файлы
  20. Метафайлы.
  21. Платформная зависимость

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

Пример, показывающий разницу между векторной, фрактальной и растровой графикой при увеличении.
a: исходное векторное изображение;
b: иллюстрация, увеличенная в 8 раз как векторное изображение;
c: иллюстрация, увеличенная в 8 раз как растровое изображение.

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

Ве́кторная гра́фика — способ представления объектов и изображений в компьютерной графике, основанный на использовании элементарных геометрических объектов, таких как точки, линии, сплайны и многоугольники. Объекты векторной графики являются графическими изображениями математических функций. Термин используется в противоположность к растровой графике, которая представляет изображение как матрицу фиксированного размера, состоящую из точек (пикселей) со своими геометрическими параметрами.

Содержание

Обзор

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

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

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

Термин «векторная графика» используется в основном в контексте двухмерной компьютерной графики.

Способ хранения изображения

Рассмотрим, к примеру, такой графический примитив, как окружность радиуса r. Для её построения необходимо и достаточно следующих исходных данных:

  1. координаты центра окружности;
  2. значение радиуса r;
  3. цвет заполнения (если окружность не прозрачная);
  4. цвет и толщина контура (в случае наличия контура).

Преимущества векторного способа описания графики над растровой графикой

  • Размер, занимаемый описательной частью, не зависит от реальной величины объекта, что позволяет, используя минимальное количество информации, описать сколько угодно большой объект файлом минимального размера.
  • В связи с тем, что информация об объекте хранится в описательной форме, можно бесконечно увеличить графический примитив, например, дугу окружности, и она останется гладкой. С другой стороны, если кривая представлена в виде ломаной линии, увеличение покажет, что она на самом деле не кривая.
  • Параметры объектов хранятся и могут быть легко изменены. Также это означает что перемещение, масштабирование, вращение, заполнение и т. д. не ухудшает качества рисунка. Более того, обычно указывают размеры в аппаратно-независимых единицах (англ.device-independent unit ), которые ведут к наилучшей возможной растеризации на растровых устройствах.
  • При увеличении или уменьшении объектов толщина линий может быть задана постоянной величиной, независимо от реального контура.

Фундаментальные недостатки векторной графики

  • Не каждый объект может быть легко изображен в векторном виде — для подобного оригинальному изображению может потребоваться очень большое количество объектов с высокой сложностью, что негативно влияет на количество памяти, занимаемой изображением, и на время для его отображения (отрисовки).
  • Перевод векторной графики в растр достаточно прост. Но обратного пути, как правило, нет — трассировка растра, при том что требует значительных вычислительных мощностей и времени, не всегда обеспечивает высокое качество векторного рисунка.
  • Преимущество векторной картинки — масштабируемость — пропадает, когда начинаем иметь дело с особо малыми разрешениями графики (например, иконки 32×32 или 16×16). Чтобы не было «грязи», картинку под такие разрешения приходится подгонять вручную.

Типичные примитивные объекты

  • Линии и ломаные линии.
  • Многоугольники.
  • Окружности и эллипсы.
  • Кривые Безье.
  • Безигоны.
  • Текст (в компьютерных шрифтах, таких как TrueType, каждая буква создаётся из кривых Безье).

Этот список неполон. Есть разные типы кривых (Catmull-Rom сплайны, NURBS и т. д.), которые используются в различных приложениях.

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

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

Векторные графические редакторы, типично, позволяют вращать, перемещать, отражать, растягивать, скашивать, выполнять основные аффинные преобразования над объектами, изменять z-order и комбинировать примитивы в более сложные объекты.

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

См. также

  • SVG
  • DXF
  • OpenVG
  • GXL
  • WMF
  • Растеризация
  • Трёхмерная графика
  • Векторный графический редактор
  • Редактор Corel Draw
  • Редактор Inkscape
  • Cairo

Ссылки

  • Ч. А. Кариев, Масштабируемая векторная графика (Scalable Vector Graphics) (бесплатный курс), 07.11.2007

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «Векторная графика» в других словарях:

Векторная графика — метод графического представления объекта в виде отрезков прямых (векторов). В полиграфии векторная графика обычно используется для подготовки макетов. По английски: Vector graphics См. также: Векторная графика Компьютерная графика Финансовый… … Финансовый словарь

ВЕКТОРНАЯ ГРАФИКА — (vector graphics) вид компьютерной графики, используемой в приложениях для рисования. В отличие от растровой графики позволяет пользователю создавать и модифицировать исходные изобразительные образы при подготовке рисунков, технических чертежей и … Энциклопедический словарь

ВЕКТОРНАЯ ГРАФИКА — Описывает изображение с помощью математических формул. Основное преимущество векторной графики состоит в том, что при изменении масштаба изображения оно не теряет своего качества. Отсюда следует и еще одно преимущество при изменении размеров… … Словарь бизнес-терминов

векторная графика — Технология создания рисунков. Изображение представляется в виде совокупности отрезков прямых, а не методом расчета каждой точки (пикселя), как это делается в растровой графике. Векторное изображение может быть легко масштабировано без потери… … Справочник технического переводчика

Векторная графика — вид кодировки графических изображений на основе геометрии кривых. Объекты В. г. можно преобразовывать (масштабировать, вращать, вытягивать и пр.) без потери качества изображения … Реклама и полиграфия

Векторная графика — графическое представление объекта в виде множества векторов (совершенно не подходит для представления фотографий, но очень хорош для макетов, например, визитной карточки или вывески); Разновидность компьютерной графики, построенная на работе с… … Краткий толковый словарь по полиграфии

Векторная графика (Vector) — Рисунок в виде штрихов и ограниченных шрихами одноцветных зон (в отличие от записи изображения в виде цветовых пятен растров). В цифровом виде штрихи записываются в виде математических уравнений (чаще всего кривых Безье) и в таком виде хранятся и … Краткий толковый словарь по полиграфии

масштабируемая векторная графика — Основанный на XML формат отображения векторной графики в Web страницах. Позволяет выводить изображение одинаково вне зависимости от разрешения экрана. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом EN Scalable Vector… … Справочник технического переводчика

Машинная графика — Компьютерная графика (также машинная графика) область деятельности, в которой компьютеры используются как для синтеза изображений, так и для обработки визуальной информации, полученной из реального мира. Также компьютерной графикой называют и… … Википедия

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

Источник

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

Для векторной графики характерно разбиение изображения на ряд графических примитивов – точки, прямые, ломаные, дуги, полигоны. Таким образом, появляется возможность хранить не все точки изображения, а координаты узлов примитивов и их свойства (цвет, связь с другими узлами и т. д.). При кодировании векторного изображения хранится не само изображение объекта, а координаты четырех точек, поэтому объем памяти очень мал по сравнению с точечной графикой. Вывод: Векторная графика — очень экономичный способ кодирования. Элементы изображения хранятся в виде формул в память.

Программы для работы с векторной графикой. Бесплатные программы для работы с векторами. Краткий обзор и анализ.

Для работы с векторной графикой в основном применяются следующие программы: Corel Draw, Adobe Illustrator, Micrografx Designer, Macromedia FreeHand, Corel Xara и мн.др. Во всех программах есть не только общие принципы работы, но и различия в скорости проведения операций, количестве операций, при работе с отдельными возможностями.

AutoCAD — двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией Autodesk.

Microsoft Visioвекторный графический редактор, редактор диаграмм и блок-схем для Windows.

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

Фрактальная графика и ее назначение. Особенности формирования изображения. Примеры.

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

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

Читайте также:  Word способы перемещения таблицы

Достоинства и недостатки фрактальной графики. Примеры.

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

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

21 Программные средства фрактальной графики. Краткий обзор возможностей. Сферы применения.

Программные средства Среди программных средств можно выделить продукты фирмы Golden SoftWare: Surfer — создание трехмерных поверхностей; Grapher — создание двухмерных графиков; Map Viewer — просмотр карт. Surfer позволяет обработать и визуализировать двумерный набор данных, описанных функцией z=f(x,y). Grapher предназначен для обработки и вывода графиков, которые описаны функциями y=f(x). Map Viewer позволяет производить корректировку карт — изменять масштаб, обрабатывать и приводить к графическому виду числовую информацию, привязаных к карте.

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

Источник

—>ХОЧУ ВСЁ ЗНАТЬ. —>

—>

« Ноябрь 2021 »
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

—>

—> —> —> —> —> —> —> —>

—> —>Друзья сайта —>
—> —>
  • Официальный блог
  • Сообщество uCoz
  • База знаний uCoz

—>

—> —> —> —>

—> —>Вход на сайт —>
—>

Войти через uID

Векторные файлы

Принципиальное отличие векторных файлов от растровых

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

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

Что такое векторные данные

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

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

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

Независимость от устройств отображения

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

Источники файлов в векторном формате

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

CGM (Computer Graphics Metafile, метафайл компьютерной графики) — это пример формата, разработанного для обмена векторными данными. Этот формат стандартизован. Все элементы файла в формате CGM сконструированы из простейших объектов (линий и многоугольников), доступных для использования любой программой визуализации. Очень сложные объекты разбиваются на более простые элементы.

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

Как организованы векторные файлы

Несмотря на то, что векторные файлы значительно отличаются друг от друга, большинство из них, подобно растровым, имеет определенную базовую структуру: заголовок, раздел данных и маркер конца файла. Такая структура позволяет корректно хранить векторные данные и интерпретировать их при визуализации. Общая информация, описывающая структуру файла, обычно помещается в заголовок, хотя иногда для этих целей может использоваться и концовка. Структура векторных файлов, как правило, проще, чем у большинства растровых; часто они организованы в виде потоков данных. Большая часть информации, содержащейся в файле, — данные изображения.

Основными компонентами простого векторного файла являются:

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

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

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

;CIRCLE, 40, 100, 100, BLUE; LINE, 200, 50, 136, 227, BLACK; RECT, 80, 65, 25, 78, RED;

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

;CIRCLE, 40, 100, 100, BLUE; 200, 50, 136, 227, BLACK; RECT, 80, 65, 25, 78, RED;

Можем также не указывать черный цвет (по умолчанию):

; CIRCLE, 40, 100, 100, BLUE; 200, 50, 136, 227, RECT, 80, 65, 25, 78, RED;

Во многих форматах применяются аббревиатуры:

;С, 40, 100, 100, BL; 200, 50, 136, 227; R, 80, 65, 25, 78, R;

Обратите внимание на то, что использование символа R для определения и прямоугольника (RECT), и красного цвета (RED) не вызывает конфликтов, так как эти определения отличаются контекстом. Выбор ASCII вроде бы позволяет значительно облегчить чтение и анализ данных, но, к сожалению, может существенно увеличить их объем. В таком случае разработчик принимает решение уменьшить объем данных за счет применения правил и соглашении, а также использовать аббревиатуры (что делает формат неудобочитаемым). За данными изображения обычно следует маркер конца раздела данных или конца файла. Таким маркером может служить даже строка EOF в конце файла. Информация, сохраненная в концовке, обычно не является необходимой для корректной интерпретации данных при визуализации. Это могут быть дополнительные сведения, например, о времени и дате создания файла, имени создавшей его программы, количестве объектов, составляющих данное изображение.

Палитры и цветовая информация

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

;С, 40, 100, 100, BL; 200, 50, 136, 227; R, 80, 65, 25, 78, R;

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

Атрибуты заполнения и цветовые атрибуты

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

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

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

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

Размер векторного файла

Если не принимать в расчет палитру и информацию об атрибутах, можно сказать, что размер векторного файла прямо пропорционален количеству содержащихся в нем объектов. Это специфическая особенность векторных файлов, поскольку размер растрового файла не зависит от сложности описанного в нем изображения (на него может повлиять только способ сжатия данных). Размеры векторных файлов могут быть самыми разными. Формат может эффективно сохранять изображение, применяя некоторую форму сокращенной нотации, которая позволяет кратко определять сложные элементы. Например, один векторный формат может представлять кривую Безье в виде единственного сложного элемента, а другой формат, не поддерживающий кривых Безье, представит ту же кривую менее эффективно, возможно, в виде нескольких линий. Во втором случае размер файла значительно больше, чем в первом, поскольку каждая линия, представляющая какую-либо часть кривой Безье, хранится как отдельный элемент. Вероятно, одним из способов уменьшения размера файла может быть поддержка создания и присваивания имен составным элементам. Очень большой объем в файле занимают повторяющиеся в изображении элементы. Проблему можно разрешить следующим способом: определить один оригинальный элемент, а остальные сохранять в файле в виде указателя на его определение, а также в виде атрибутов и специфической информации для каждого повторяющегося элемента. Кроме того, на размер файла влияет способ сохранения в нем информации. Разные форматы могут поддерживать идентичную информацию множеством различных способов. Например, в формате CGM штриховой шаблон представляется в виде одного объекта, а в форматах PIC и Autodesk DXF каждая линия этого шаблона хранится как отдельный элемент. Векторные данные хранятся в виде чисел, поэтому масштабирование, вращение и другие манипуляции с векторными изображениями осуществляются проще и быстрее, чем с растровыми. Кроме того, поскольку масштабирование упрошено, то векторные файлы не ограничивают размеры изображения. Векторные форматы, в отличие от растровых, не поддерживают сжатие данных. Однако некоторые форматы допускают альтернативный метод кодирования и таким образом позволяют уменьшить объем файлов, не сокращая количество содержащейся в них информации. Например, уже упоминавшийся CGM обычно хранит векторную информацию в удобном для чтения символьном формате ASCII, однако позволяет записать ту же информацию в двоичном формате, уменьшив объем файла за счет читабельности и межплатформной переносимости. Формат DXF также имеет двоичный аналог, называемый DXB (Data eXchange Binaiy, обмен двоичными данными), который не только меньше по размеру, но и быстрее загружается порождающей его программой (AutoCAD). Однако этот формат не поддерживается другими программами.

Масштабирование векторных данных

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

Текст в векторных файлах

Сохранить символьные строки в векторных форматах можно одним из двух способов. Простейший подход позволяет записывать текст в виде литеральных ASCII-строк, сопровождаемых информацией о шрифте, позиции, цвете и атрибутах. Хотя текст в этом случае хранится в компактной форме, применение такой схемы подразумевает, что программа визуализации распознает используемые шрифты, а это всегда проблематично. Поскольку названия шрифтов большей частью определяются распространителями, точно задать изображаемый шрифт довольно сложно. В формате CGM для решения этой проблемы применяется международный регистр имен шрифтов и связанных с ними описательных данных. Любая программа визуализации, поддерживающая CGM, должна иметь доступ к этим данным либо применять метрики шрифта, приведенные в заголовке данного CGM-файла. Поскольку текст хранится в формате, пригодном для чтения, то он может редактироваться. Второй и, пожалуй, более гибкий подход заключается в том, чтобы сохранять отдельные символы. Тогда символьная строка превращается в набор контуров, созданных из множества простейших элементов векторных данных. Согласно этой схеме, каждая программа, создающая файл, должна иметь доступ к шрифтовым контурам; поскольку эти контуры хранятся аналогично другим векторным данным, они могут быть масштабированы, повернуты и т.д. До недавних пор доступ к данным шрифтовых контуров был не всегда возможным, но распространители, осознав важность поддержки контурных шрифтов, теперь стали предоставлять такую возможность на уровне операционной системы. Поскольку графическая и шрифтовая индустрии развиваются параллельно, то естественна некоторая несовместимость в моделях хранения данных. Например, большинство шрифтов хранится в виде множеств сплайнов, а тип этих сплайнов может не поддерживаться используемым файловым форматом. В этом случае при создании файла нужно преобразовать сплайны в дуги или линии, однако такое преобразование может повлечь за собой появление нежелательных эффектов. Разработчики программ могут применять векторные или штриховые шрифты, которые представляют собой примитивные наборы контуров символов; их разработка не доставляет особых хлопот. Чаще всего распространители используют собственные штриховые шрифты. Применение векторных, штриховых или контурных шрифтов обычно катастрофически увеличивает размер файла, но оправдывается высоким качеством визуализации (особенно это касается контурных шрифтов, основанных на сплайнах). Штриховые шрифты в настоящее время применяются редко.

Преимущества и недостатки векторных файлов

К преимуществам векторных файлов можно отнести следующее:

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

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

• Многие векторные файлы, содержащие данные только в формате ASCII, могут быть модифицированы с помощью простых средств редактирования текстов. Отдельные элементы могут быть добавлены, удалены или изменены без ущерба для других объектов изображения.

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

Ниже перечислены недостатки векторных файлов:

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

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

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

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

Метафайлы.

Метафайлы широко применяются для переноса растровых и векторных данных на разные аппаратные платформы. Поскольку они ориентированы на символы ASCII, то их использование разрешает, в частности, проблемы, связанные с применением определенного порядка байтов. Кроме того, снимаются проблемы при обменах двоичными файлами между сетями, где восьмой бит каждого байта »съедается», что приводит к необходимости восстанавливать файлы. Способность метафайлов поддерживать и растровые, и векторные данные позволяет разработчику программы обеспечить поддержку одного (метафайлового) формата вместо двух — растрового и векторного. Метафайлы применяются и для обмена данными изображения между программными платформами. Например, создатель программы в метафайле может сохранить изображение и в растровой, и в векторной форме. Затем этот файл может быть прочитан любой программой (обрабатывающей либо растровые, либо векторные данные), которая поддерживает данный метафайловый формат. Например, многие настольные издательские системы могут манипулировать векторными данными и распечатывать их, но по разным причинам не в состоянии отображать их на экране. Чтобы избежать неприятностей такого рода, в метафайл часто включают растровое представление того же изображения. Тогда программа может прочесть из метафайла это растровое представление, воспроизвести изображение на экране и манипулировать им. Для вывода изображения на печать применяются векторные данные из того же метафайла. Отображение и печать файлов PostScript служит примером такой организации данных. Форматы метафайлов настолько разнообразны, что бессмысленно пытаться обнаружить общую для них иерархическую структуру. Большинство метафайлов содержит заголовок, за которым следуют один или несколько типов данных изображения. Некоторые метафайлы не хранят ничего, кроме растровых данных, другие вообще не содержат данных изображения в явном виде, заменяя их зашифрованными инструкциями отображения или, подобно векторным файлам, числовыми данными. Метафайлы в некотором смысле представляют собой «гибрид» растровых и векторных данных, поэтому на них распространяются и преимущества, и недостатки форматов обоих типов. Выбирая конкретный метафайловый формат, вы должны ориентироваться на преобладающий в файле тип данных (растровые или векторные), учитывая его особенности.

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

• Размер метафайла, содержащего смесь векторных и растровых данных, в некоторых случаях может оказаться меньше, чем размер растровой версии того же изображения.

• Поскольку метафайлы могут содержать данные в формате ASCII, они обычно отлично сжимаются.

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

Платформная зависимость

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

Обычно мы считаем, что информация в памяти или на диске организована в виде серий отдельных байтов данных. Эти данные читаются последовательно, в том порядке, в котором записаны байты. Такой тип организации называется байтовой организацией данных и обычно используется для хранения символьных строк и данных, созданных 8-разрядными процессорами. Однако не все компьютеры «смотрят на мир» через 8-битовое окно. Исходя из соображений эффективности, 16-, 32- и 64-разрядные процессоры предпочитают работать с байтами, организованными в 16-, 32- и 64-битовые ячейки, называемые соответственно словами, двойными словами и учетверенными словами. Порядок байтов в данных, организованных по словам, не всегда одинаков и определяется создавшим их процессором (однако обратите внимание на то, что уже есть процессоры, позволяющие изменять порядок байтов). Данные, организованные по байтам, не имеют определенного порядка и читаются одинаково на всех системах. А вот данные, организованные по словам, могут создать проблему, вероятно, наиболее распространенную среди тех, с которыми вы столкнетесь при обмене файлами между платформами. Она возникает в том случае, когда порядок байтов в словах, принятый в системе, в которой записывался файл, не совпадает с порядком, принятым в системе, в которой файл читается. Очевидно, что эти данные будут прочитаны некорректно. Порядок байтов в слове и двойном слове данных определяет то, как «оканчиваются» данные. Существует две основные схемы, определяющие порядок байтов: «оканчивается старшим», или «старший в младшем» (big-endian, буквально «тупоконечная»), и «оканчивается младшим», или «младший в младшем» (little-endian, буквально «остроконечная»). Системы, поддерживающие схему «оканчивается старшим», хранят самый старший байт (MSB) в младшем-адресе слова, обычно адресуемом как байт 0. Такие системы в основном базируются напроцессорах серии МС68000А фирмы Motorola (68000, 68020, 68030, 68040 и т.д.), включая компьютеры Amiga фирмы Commodore, Macintosh фирмы Apple и некоторые UNIX-машины. Системы, поддерживающие схему «оканчивается младшим», хранят в младшем адресе слова самый младший байт (LSB). 2-байтовое слово, содержащее значение 1234h, которое записано в файл в формате «оканчивается младшим», в системе, поддерживающей формат «оканчивается старшим», будет прочитано как 3412h. Это произойдет потому, что система «оканчивается старшим» предполагает, что MSB будет иметь значение, записанное в младшем адресе. Однако система «оканчивается младшим» поместила MSB в старший адрес. При чтении байты в слове поменялись местами. Компьютеры, поддерживающие схему «оканчивается младшим», в основном базируются на процессорах серии 1АРХ86 фирмы Intel (8088, 80286, 80386, 80486 и т.д.), включая IBM PC и клоны. Третий термин — «оканчивается в середине» (middle-endian, буквально «среднеконечный») — используется для всех компьютеров, организованных по схемам 3-4-1-2, 2-1-4-3, 2-3-0-1 и 1-0-3-2. Примером такого компьютера является PDP-11 фирмы DEC, на котором для двойных слов (DWORD) применена схема порядка байтов 2-3-0-1. Программы ввода-вывода всегда читают данные, организованные по словам, в порядке байтов, характерном для компьютера, на котором разрабатывалась программа. Из этого следует, что функции вроде fread() vifwrite() не знают порядка байтов и не могут выполнить необходимые преобразования. Однако большинство языков программирования включают функции, которые позволяют поменять местами байты в массиве. Правда, применение функции swab() для преобразования слов данных из одного порядка байтов в другой весьма неэффективно, поскольку слова резмером более двух байтов приходится вызывать многократно.

Программистам, работающим с растровыми файлами, также нужно заботиться о порядке байтов, поскольку многие популярные форматы, например Macintosh Paint (MacPaint), Interchange File Format (IFF или AmigaPaint) и Sun Raster, всегда читают и записывают файлы изображений в порядке «оканчивается старшим». Файлы формата TIFF являются уникальными и в этом смысле, поскольку любой файл TIFF может быть прочитан в любом порядке байтов, и программа чтения может применять порядок байтов, действующий в той системе, на которой она выполняется.

Размер файла и ограничение объема памяти

Еще одна распространенная проблема — это обработка больших файлов. Многие системы имеют ограниченный объем памяти, например системы, работающие в среде MS-DOS, ранние модели Macintosh или некоторые персональные компьютеры. Размер буфера памяти, доступного на таком компьютере, может оказаться меньше, чем это требуется для обработки блока данных, в то время как более мощные компьютеры легко справляются с такими объемами данных. При разработке некоторых форматов эти ограничения учитываются. Многие проблемы вызваны аппаратными ограничениями или особенностями взаимодействия аппаратных и программных средств. Несмотря на проявившуюся в последние годы ориентацию программ преимущественно на 32-разрядные платформы (

Источник

Читайте также:  Бесконечная числовая последовательность способы задания свойства
Оцените статью
Разные способы