Заголовок TGA-файла
OK, берем книжку 'Graphics File Formats, 2nd Edition' (форматы графических
файлов) авторов David C. Kay & John R. Levine, и читаем формат заголовка
файла для хранения изображения формата Targa.
Описание заголовка файла для изображения формата
Targa |
Смещение |
Длина (в байтах) |
Описание |
0 |
1 |
Длина ID-поля (ID Field
Length) |
1 |
1 |
Тип цветовой карты (Color-map
Type) |
2 |
1 |
Тип изображения (Image
Type) |
Информация о
специфике цветовой карты (Color-map-specific Info) |
3 |
2 |
Первое включение цветовой карты
(First Color-map Entry) |
5 |
2 |
Длина цветовой карты (Color-map
Length) |
7 |
1 |
Размер цветовой карты (Color-map
Entry Size) |
Информация о
специфике изображения (Image-specific Info) |
8 |
2 |
Горизонтальная координата начала
изображения (Image X Origin) |
10 |
2 |
Вертикальная координата начала
изображения (Image Y Origin) |
12 |
2 |
Ширина изображения (Image
Width) |
14 |
2 |
Высота изображения (Image
Height) |
16 |
1 |
Бит на пиксел
(Bits-Per-Pixel) |
17 |
1 |
Биты дескриптора изображения
(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 |
Байт |
Длина |
Описание |
0 |
4 |
32-битное смещение расширенной
области |
4 |
4 |
32-битное смещение каталога
сборки |
8 |
17 |
TRUEVISION-TARGA. |
25 |
1 |
Двоичный ноль ($0) |
Я не собираюсь давать полные описания каталога сборки и области расширения.
Вместо этого я приведу описание "почтовой марки", которая может содержаться в
формате Targa V2.0. Данная "марка"-иконка должна иметь размеры 64 X 64 пикселей,
представляет собой уменьшенный образ изображения, может включаться в файл по
желанию компоновщика и не является обязательной.
Область расширения |
Смещение |
Длина |
Описание |
0 |
2 |
Размер области расширения
(должна быть 495) |
2 |
41 |
Имя автора |
43 |
81 |
Авторские
комментарии |
124 |
81 |
Авторские
комментарии |
205 |
81 |
Авторские
комментарии |
286 |
81 |
Авторские
комментарии |
367 |
2 |
Месяц создания |
369 |
2 |
День создания |
371 |
2 |
Год создания |
... |
... |
... |
482 |
4 |
Смещение в файле таблицы
цветовой коррекции |
486 |
4 |
Смещение в файле изображения
"почтовой марки" |
490 |
4 |
Смещение в файле таблицы
чередования линий |
494 |
1 |
Байты атрибутов |
Данная "почтовая марка", при наличии, может быть использована вами
непосредственно. Она хранится в виде несжатого изоюражения в том же цветовом
формате (цветовой карте или True-color), как и исходное изображение.
|