Реферат: Описание графического формата TGA
0-3 биты – количество битов атрибутов в пикселе. Определенные биты находятся только в пикселе на 16 и 32 битных форматах TGA (альфа-канал, оверлейные биты и биты прерывания). Это связано с работой адаптеров Tagra.
4-5 биты определяют позицию начала изображения. Если оба бита равны 0, то изображение начинается в левом нижнем углу.
6-7 биты – не используются (резерв) и должны быть всегда на 0.
1.3. Изображение ID .
Изображение ID поля хранит информацию, которая идентифицирует изображение по нескольким критериям (название файла, имя автора, серийный номер и т.д.). Если ID длина поля не 0, следующее поле должно быть в пределах TGA файла. Размер этого поля указывает на величину поля длины ID в заголовке. Эта величина может быть в диапазоне от 0 до 255. Величина 0 указывает на то, что изображение ID файла не присутствует в файле TGA.
1.4. Цветовая карта .
Размер изображения TGA ограничен до 65,535 пикселей в высоту и до 65,535 пикселей в ширину. Это происходит потому, что 16-ти битное поле используется, чтобы сохранить размер изображения в заголовке. В противном случае, размер изображения TGA будет неограничен. Типичный размер для Tagra 16, 24 и 32 – это 512 х 482 пиксель; для NuVista – 640 х 480 пиксель; и для ATVista – 756 х 486 пиксель.
TGA формат определяет три метода устройства даты изображения: псевдоцвет, прямой цвет и точный цвет.
Псевдоцвет изображения хранит величину, указывающую на палитру в каждом пикселе данных. Это палитра содержит и показывает действительную величину пикселя. Псевдоцвет изображения палитры хранит каждую пиксель величину также, как и отдельный элемент в палитре. Для каждого пикселя нет индивидуального цветового канала.
Прямой цвет изображения подобен изображению псевдоцвета, только каждый цвет канала (красный, зеленый или синий) хранится в отдельном элементе и может быть индивидуально видоизменен. Каждая пиксель-величина прямого цвета данных изображения содержит три указывающих величины, одна для каждого цветового канала в цветной карте.
Точный цвет изображения хранит информацию о цвете пикселя в адресной книге при изображении данных и не используется в палитре. Присутствие палитры и формата данных изображения, находящихся в файле TGA определяет тип точного изображения, который был использован, чтобы создать данные изображения. TGA изображение созданное с помощьюTagra 24 имеют точный цвет изображения и поэтому никогда не используется в палитре.
Палитра присутствует в файле TGA, если цветовая карта поля находится на 1. Величина ноль указывает, что палитра не присутствует в файле TGA. Важно понять, что палитра должна присутствовать в файле изображения TGA даже если не используются данные изображения. Все файлы изображения TGA созданные по программе TIPS содержат палитру, чтобы сохранять 256 цветов, находящихся в цветовой палитре TIPS.
TGA формат содержит меняющуюся величину палитры. Палитра нужна другому формату, чтобы понимать фиксированный номер цвета, основанного на глубине пиксель данных изображения. 8-битное изображение содержит 256 цветовую палитру, даже если нужны лишь четыре цвета для воспроизведения картины изображения.
Формат TGA, тем не менее, не определяет номер элемента цветовой карты, основанной на глубине пикселя, таким образом 57 цветовое изображение может иметь только 57 элементов палитры. Номер элемента в палитре содержится в заголовке CmapLength.
Величина каждого элемента в палитре находится в заголовке CMapDepth, глубина пикселя и глубина элемента палитры не всегда одинакова. 24-х битное изображение должно содержать 256 элементов палитры, при этом каждый элемент должен иметь глубину 24 бита, оно должно содержать данные о пикселях только с 8-ми битной глубиной. Потому что все 8 битов нужны, чтобы указать 256 элементов палитры. Также возможно использовать и 4096 элементную палитру, где каждый элемент имеет 8 бит в глубину. Следовательно, каждый пиксель изображения нужен, для того чтобы иметь минимальную 16 битную глубину. Глубина элемента палитры всегда содержит в себе альфа-канал, находящийся выше, или прерывает бит информацию.
1.5. Кодировка данных изображения.
Данные изображения, хранящиеся в файле TGA несжаты. По этой причине файлы TGA бывают больших размеров, особенно когда данные биткарты имеют глубину 24 или 32 бита. В связи с этим в спецификацию TGA помещена простая, но эффективная схема RLE сжатия.
Метод кодирования RLE, используемый в формате TGA сжимает в режиме работы идентичного пикселя лучше, чем в режиме работы идентичных битов или байтов. Этим достигается высокий коэффициент уплотнения (степень сжатия) по схеме RLE битов или байтов, потому что данные пикселя TGA часто используются на многобайтовые файлы лучше, чем на единичные файлы. Поэтому смежный код идентичных байтов в изображении данных TGA чаще распространяется на небольшие файлы.
Сжатые данные, использующие схему TGA RLE могут содержать два вида: зашифрованные и необработанные данные. Используя эти термины, RLE сжатия для TGA может быть представлено так:
Если используется незакодированный пакет:
Счетчик устанавливается на 0
Считывает пиксель и сканирует диапазон данных
Считывает второй пиксель и сканирует диапазон данных
Если первый пиксель такой же как второй
Увеличивает счетчик
Иначе
Пишет величину счетчика
Пишет величину пикселя
Иначе используется необработанный пакет:
Счетчик устанавливается на 0
Считывает количество пикселей и сканирует диапазон данных
Увеличивает счетчик на каждый читаемый пиксель