Формат 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, число повторений строк.

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