Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по КГ рулез(доп).doc
Скачиваний:
9
Добавлен:
28.10.2018
Размер:
692.22 Кб
Скачать

Формат gem.

Этот векторный формат является стандартным для большинства объектов файлов, предусматривает работу с метафайлами, поскольку изображение хранится в виде описания, то устройство ввода/вывода используется в полную силу. Состоит из заголовка файла и части, хранящей собственно изображение. Размер заголовка постоянный – это 15 по 2 байта. 2 по 9 отведены под резерв. Это стандартный приём, учитывающий разработку новых версий формата. Кроме того, когда длина заголовка одинакова, то мы получаем своеобразную защиту от сбоев.

Смещение

Длина

Описание

0

2

0FFF

2

2

0018 длина заголовка в байтах

4

2

Номер версии формата, например 0301 – это версия 3.1

6

2

Система координат RC/NDC

8

2

Xmin

A

2

Xmax

C

2

Ymin

E

2

Ymax

10

2

Размер страницы по x

12

2

Размер страницы по y

14

2

Xmin

16

2

Xmax

18

2

Ymin

1A

2

Ymax

1C

2

Флаг битовой карты кодовой операции

1E

18

Резерв

Смещения от 8 до E. Максимально возможная площадь объекта. Если не заполнено, то формат всё равно остаётся работоспособным.

Raster Coordinates (RC) – 2.

0 32767

32767

Normal Device Coordinates (NDC) – 0

32767

0 32767

Любые другие значения (если не 0 или не 2) воспринимаются как ошибка. Идеальному устройству вывода присваивается 32767. У реального устройства намного меньше (800х600).

Высота страниц: задают высоты реальной страницы в десятых долях миллиметра. Очень удобная функция. Удобно согласовать коэффициент пересчёта при выводе на различные устройства.

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

  • Код операции

  • Количество пар x, y (количество точек)

  • Количество целочисленных значений

  • Первое целочисленное значение

В ряде операций целочисленные значения не используются, тогда в третьей строке пишется 0. Разделение похоже на формат DXF. Первые операции определяют подгруппу и подоперации. Количество подгрупп в группе может быть от 1 до 14. Давайте приведём группы без подгрупп.

06 – полилиния

03 – число пар

00

00

01 – точка 1

точка 2

точка 3

Команды закрыть сегмент здесь нет.

0B – работаем с примитивами

03 – три набора данных

01 – используем один цвет

04 – изображаем закрашенным

Xц, Yц – координаты центра окружности

н, к – начальный и конечный углы проведения

R – радиус

08 – номер цвета закраски

Здесь также может задаваться и шаблон заполнения. Команды шаблона заполнения 17, 18, 19. В команде с номером 17 четвёртая запись может применяться: 0 – не заполняется, 1 – залить цветом, 2 – узор, 3 – заштрихован. Должна быть ещё 7, в которую записан либо узор, либо штриховка.

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

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