Советы по Delphi

         

Заголовок TGA-файла


OK, берем книжку 'Graphics File Formats, 2nd Edition' (форматы графических файлов) авторов David C. Kay & John R. Levine, и читаем формат заголовка файла для хранения изображения формата Targa.



Описание заголовка файла для изображения формата Targa
Смещение Длина (в байтах) Описание
01Длина ID-поля (ID Field Length)
11 Тип цветовой карты (Color-map Type)
21 Тип изображения (Image Type)
      Информация о специфике цветовой карты (Color-map-specific Info)
32 Первое включение цветовой карты (First Color-map Entry)
52 Длина цветовой карты (Color-map Length)
71 Размер цветовой карты (Color-map Entry Size)
      Информация о специфике изображения (Image-specific Info)
82 Горизонтальная координата начала изображения (Image X Origin)
102 Вертикальная координата начала изображения (Image Y Origin)
122 Ширина изображения (Image Width)
142 Высота изображения (Image Height)
161 Бит на пиксел (Bits-Per-Pixel)
171 Биты дескриптора изображения (Image-Descriptor Bits)

Для изображений с разрешением True-color значение типа цветовой карты должно равняться нулю, в остальных случаях единице. В случае, когда цветовая карта присутствует, ее размер должен равняться значению 15, 16, 24 или 32. Для значений 15 и 16 каждая цветовая карта при загрузке использует 2 байта в формате:

Верхний байт Нижний байт A RRRRR GG GGG BBBBB

где бит 'A' устанавливается в 0 для 15-битных цветовых величин. 24-битный размер карты хранится как три байта в следующем порядке: (B)lue (синий), (G)reen (зеленый), и (R)ed (красный). 32-битный размер цветовой карты использует четыре байта, ее порядок такой: (B)lue (синий), (G)reen (зеленый), (R)ed (красный) и значение атрибута - (A)ttribute.

Наконец, код, хранящий тип изображения (Image Type) должен содержать одно из следующих значений:

Код Описание ---- ----------- 0 Изображение отсутствует 1 Цветовая карта, без компрессии 2 True-color, без компрессии 3 Черно-белое, без компрессии 9 Цветовая карта, RLE-компрессия 10 True-color, RLE-компрессия 11 Черно-белое, RLE-компрессия Горизонтальная и вертикальная координата начала изображения (Image X & Y Origins) и размеры изображения (Image Width & Height) разъяснений не требуют. Бит на пиксел (Bits-Per-Pixel) обозначает количество битов, содержащихся в точке изображения и может быть равен значению 8, 16, 24, и 32.

Биыт дескриптора изображения (The Image Descriptor bytes) содержит несколько полей битов, которые содержат следующую информацию:

Биты Описание ---- ----------- 0-3 Биты атрибутов (описаны ниже) 4 Ориентация Слева-на-Право 0=Л/П 1=П/Л 5 Ориентация Вехр/Низ 0=Н/В 1=В/Н 6-7 Чередование линий 00H=Нет, 40H=2 линии, 80H=4 линии Биты атрибутов используются для определения атрибутов цветов в цветовой карте или true-color пикселах. 0 - alpha-данные (alpha-канал) отсутствуют, 1 - игнорирование или неопределено, 2 - не определено, но должно быть сохранено, 3 - наличие alpha-данных и 4 - информация о пикселе уже была умножена на alpha-величину.

Файлы версии Targa 2.0 также имеют файловый колонтитул, который может содержать дополнительное изображение или комментарии. Эти файлы всегда заканчиваются строкой-терминатором 'TRUEVISION-TARGA.'. Так, если ваше Targa-изображение заканчивается значением 'TRUEVISION-TARGA.' + 00H, то вы можете извлечь восемь байтов до строки, чтобы найти начало расширенной области и месторасположение каталога сборки данного файла. Обычно файловый колонтитул версии 2.0 имеет следующий формат:

Формат файлового колонтитула Targa версии 2.0
Байт Длина Описание
0432-битное смещение расширенной области
44 32-битное смещение каталога сборки
817 TRUEVISION-TARGA.
251 Двоичный ноль ($0)

Я не собираюсь давать полные описания каталога сборки и области расширения. Вместо этого я приведу описание "почтовой марки", которая может содержаться в формате Targa V2.0. Данная "марка"-иконка должна иметь размеры 64 X 64 пикселей, представляет собой уменьшенный образ изображения, может включаться в файл по желанию компоновщика и не является обязательной.

Область расширения
Смещение Длина Описание
02Размер области расширения (должна быть 495)
241 Имя автора
4381 Авторские комментарии
12481 Авторские комментарии
20581 Авторские комментарии
28681 Авторские комментарии
3672 Месяц создания
3692 День создания
3712 Год создания
...... ...
4824 Смещение в файле таблицы цветовой коррекции
4864 Смещение в файле изображения "почтовой марки"
4904 Смещение в файле таблицы чередования линий
4941 Байты атрибутов

Данная "почтовая марка", при наличии, может быть использована вами непосредственно. Она хранится в виде несжатого изоюражения в том же цветовом формате (цветовой карте или True-color), как и исходное изображение. [000108]



Содержание раздела