Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_KG_rulez.doc
Скачиваний:
5
Добавлен:
25.08.2019
Размер:
726.02 Кб
Скачать

Растровые форматы. Формат imf.

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

Автоматически производится расслоение на цветовые плоскости в последовательности красный, зелёный, синий. Для каждой строки отдельно формируется запись: строка битов красного, синего, зелёного и строка интенсивности. Требуется большой объём памяти для записи. Если запоминать блок, то для размера 640х200 потребуется 512 Кб памяти.

Структура: заголовок и данные. Заголовок состоит из восьми двухбайтовых слов.

  1. Версия.

  2. Длина заголовка в словах.

  3. Число бит на пиксел.

  4. Длина шаблона заполнителя для закрашивания (0 – не используется).

  5. Ширина пиксела в микрометрах.

  6. Высота пиксела в микрометрах.

  7. Длина строки пикселов.

  8. Количество строк в выделенном участке изображения.

Сами данные могут быть сжаты одним из четырёх способов.

  1. Vertical Replication Count (VRC).

  2. Solid Run (SR).

  3. Bitmap String (BS).

  4. Pattern Run (PR).

Solid Run кодирование основано на том, что в пределах записи каждой цветовой плоскости встречаются в большом количестве группы повторяющихся пикселей. Для них легко указать счётчики повторений, для каждой записи такого типа выделяется 1 байт. Старший разряд говорит о том, уплотнено или нет, 1 – уплотнено, а 0 – не уплотнено. Следующие семь байт используются как счётчик повторений. При этом способе седьмым байтом можно уплотнить 127 бит повторяющихся данных. Если это очень длинная последовательность, то одинаковые биты объединяются в группы по 8 и тогда SR уплотнение кодирует повторяющиеся данные. 1 байт уплотняет 127 байт, а не бит. Для цветовых плоскостей характерно расположение.

Bitmap String описывает также ситуации, когда нет повторяющихся условий. Этот тип определяется тем, что байты, которые описывают неповторяющиеся последовательности, можно описать 255 байт. Для битовых картинок такая ситуация встречается крайне редко.

Pattern Run описывает элементы заполнения фигур. Первых два старших нуля, затем идёт число повторений и следом записи байт, которые описывают заполнение. Должен иметь длину кратную восьми. Длина хранения находится в заголовке. Это одно из повторений, ориентированное на повторение строк. Эти строки также характерная ситуация. Идентификаторы – это запись 00, 00, FF, число повторений строк.

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

Формат cgm.

На сегодняшний день это стандарт ISO. Драйверы обязаны быть в любой операционной системе. Разрабатывается на основе стандарта GKS. Основной особенностью является наличие различных способов кодирования символов. Символы могут быть в ASCII, в чисто двоичных кодах или в стандарте ISO 0646 (4 видимых символа).

Кодирование в ASCII – удобно для редактирования изображения. Двоичное кодирование удобно для обработки в компьютере. Кодирование в ISO 0646 – это стандарт для передачи по линиям связи.

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

  • код записи

  • длина списка параметров

  • список параметров

Заголовок может иметь краткую и полную форму. При короткой форме записи заголовка код и длина списков помещается в сам заголовок.

15 12 11 5 4 0

класс идентификатор длина списка параметров

элемента

Класс термов метафайла. Идентификатор – это и есть терм. Аналоги класса и подкласса.

30 байт – это максимальная длина параметров списков. Этого числа может быть недостаточно для записи параметров. Применяют расширенную форму записи заголовка. Использовано два слова.

5 4

11111

второе слово относится к заголовку

15 14

Флаг Длина списка параметров

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

Сам список заполняется так: отрицательные числа в дополнительной форме с плавающей запятой. Одну группу данных можно внести в несколько списков параметров. В двоичном кодировании используется 8 классов переменных с числом подклассов от 1 до 35. Этот способ кодирования ориентирован на загрузку файла WMF.

Такая запись ориентирована на создание или редактирование изображения с помощью текстового редактора. Любая команда имеет запись:

код операции___операнд

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

Символы ISO: (вид кодирования). Код операции вообще двухбайтовое слово, а символы ISO имеют 8 разрядов (8 бит), поэтому для одной операции необходимо записать два символа ISO 0646.

3/2; 2/0 SCALEMODE

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

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

BEGPIC

ENDPIC

Особенность этого формата (наличие трёх способов кодирования) позволяет адаптировать различные задачи (оператор, машина и так далее).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]