Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція комп. графіка.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
77.31 Кб
Скачать

Заголовок

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

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

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

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

Векторные данные

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

После заголовка обычно размещаются данные изображения. Они состоят из элементов, являющихся наименьшими частями изображения. Каждый элемент либо однозначно связан с информацией по умолчанию, либо сопровождается информацией, задающей его размер, форму, относительную позицию в изображении, цвет и другие атрибуты. Векторные данные в формате 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 в конце файла. Информация, сохраненная в концовке, обычно не является необходимой для корректной интерпретации данных при визуализации. Это могут быть дополнительные сведения, например, о времени и дате создания файла, имени создавшей его программы, количестве объектов, составляющих данное изображение.