Большинство форматов файлов изображений являются открытыми стандартами. Подробные описания структуры таких файлов можно найти на сайте http://openfile.ru, а также во многих других источниках.
В качестве примера откроем в редакторе Hexplorer файл рисунка в формате BMP. Файл начинается с сигнатуры 42 4D — в ASCII-интерпретации это буквы BM.
BMP-файл состоит из четырех частей:
- заголовка файла (BITMAPFILEHEADER) — его длина составляет 54 байта;
- заголовка изображения (BITMAPINFOHEADER) — это необязательный компонент, он может отсутствовать;
- палитры, которая также может отсутствовать;
- самого изображения — каждый байт кодирует одну точку рисунка.
Чтобы исследовать заголовок, вызовите команду меню Structures | BMP Header (Структуры | Заголовок BMP). В дочернем окне откроется список полей заголовка — начало последовательности интерпретируется именно как стандартный заголовок файла BMP. Поле, выбранное в окне Structure Viewer (Просмотрщик структуры), одновременно подсвечивается в главном окне программы.
По умолчанию значения полей отображаются в десятичном виде. При желании вы можете выбрать и другие представления, нажав кнопку Radix (Основание системы счисления) на панели инструментов окна Structure Viewer. Из заголовка следует, что ширина рисунка (double word cols) равна 128 точкам, а высота (double word rows) — тоже 128 точкам (строкам). Глубина цвета (word bitsperpixel) равняется 24 битам, а сжатие не используется (double word compression = 0).
Программа Hexplorer располагает одним специфическим инструментом. Выберите в главном окне команду меню View | Pixel View (Просмотр | Просмотр пикселов). Откроется еще одно дочернее окно, в котором содержимое файла интерпретируется как точечный рисунок (bitmap).
Возможно, сначала вы увидите просто мешанину точек. Однако раньше мы выяснили, каковы должны быть размеры изображения. Задайте ширину рисунка в поле columns (колонки) и нажмите кнопку Set (Установить).
Со сжатыми изображениями такая операция не пройдет. Тем не менее, с помощью HEX-редактора удастся выяснить сигнатуру файла и точно определить его формат. Скорее всего, в заголовке встретится и упоминание программы, создавшей файл. Такие сведения могут пригодиться при дальнейшем восстановлении поврежденного изображения.