Формат GEM Image FILE (расширение IMG)

Так же как и в файлах формата РСХ в файлах формата IMG вначале располагается заголовок, а после заголовка данные построчно. Структура заголовка файла IMG приведена в таблице 11.

 

Таблица 11. Структура заголовка файла

 

Номер слова Значение
Версия файла
Длина заголовка в словах
Число битов на пикселе
Длина шаблона заполнителя
Ширина пиксела (в микрометрах)
Высота пиксела (в микрометрах)
Длина цепочки пикселов в строке
Количество строчек пикселов (линий сканирования)

 

Данные заголовка хранятся в привычном порядке. Например, число FA01 так и будет записано: FA01.

Кодирование графических данных в формате IMG покажем на примере.

Пусть имеется некоторое изображение в колонках экрана 1, 2, 3.

1 2 3

R G B

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

Строка 1, плоскость красная 100

Строка 1, плоскость зеленая 010

Строка 1, плоскость синяя 001

Строка 1, плоскость интенсивности 000.

Изображение будет записано в виде следующей цепочки битов 100 010 001 000.

Таким образом, для хранения такой информации необходимо (число строк * число столбцов * 4) битов памяти.

Существуют следующие методы уплотнения изображения в файлах

Solid Run,

Bit String,

Patfern Run,

Vertical Replication Count.

Кодирование Solid Run.

Формат записи Solid Run представлен на рисунке 30.

 

РИС.30

 

В этом формате в седьмом бите, записывается значение 0 или 1. В битах 6 – 0 записывается число повторений значения седьмого бита. Например, число 8А (10001010) соответствует следующей битовой маске: 1111111111, а число 0А (00001010) маске – 0000000000. В первом случае единичный бит повторялся А раз, во втором – нулевой.

Кодирование Bit String

Формат записи Bit String приведен на рис.31.

Рис.31

 

В первом байте записывается маркер (80Н).

Второй байт является счетчиком числа n байтов данных. В последующих байтах помещены данные. Например, запись 8003FFAC01 означает наличие трех байтов данных в виде: FFAC01.

Кодирование Pattern Run.

Формат записи Pattern Run представлен на рисунке 32.

 

РИС.32

 

В первом байте записывается маркер 00Н. Во втором записано число повторений рисунка, представленного байтами данного рисунка. Например, запись 00 06 FFAA означает, что рисунок, представленный шестнадцатеричным числом FFAA повторяется 6 раз.

Кодирование Vertical Replication Count.

Настоящий способ применяется для записи повторяющихся совершенно одинаковых строк. Структура этой записи представлена на рис.33.

 

РИС.33

 

Например запись 00 00 FF0383 означает, что строка из трех битов 111 повторяется три раза. Таким образом получается следующее изображение

На рис. 34 представлен дамп GEM – файла.

 

РИС.34