Описание графического формата TGA

Содержание:



1. Формат Tagra…………………………....................................................1стр

1.1. Файловая структура TGA.....................................................................4стр

1.2. Описание компонентов файла TGA....................................................6стр

1.3. Изображение ID.....................................................................................7стр

1.4. Цветовая карта…………………………...............................................8стр

1.5. Кодировка данных изображения…………………………………….10стр

2. Рекламный лист Ростелеком…………………………………………...15стр

2.1 Подробное описание выполнения работы в пакете CorelDRAW......16стр

3. Чертеж……………………………………………………………………17стр

3.1. Подробное описание выполнения чертежа……………………….....18стр

4. Список литературы……………………………………………………...19стр



































1. Формат Tagra (TGA)



EPICenter (центр электронной фотографии и изображения), основанный в 1984 году, представил графический адаптер, поддерживающий файлы формата TGA. EPICenter в 1987 году  переименован в Truevision.



Первый продукт, произведенный центром был назван графическим адаптером, который имел разрешающую способность 256 х 200 и 24-битную палитру, поддерживающую шестнадцать миллионов цветов. Вместе с тем  графический адаптер конкурировал с CGA от IBM. 

В это время EPICenter закупил программу по разработке цветных графических изображений, написанную группой исландских программистов, которые позднее стали известны как TIPS (Truevision Image Paint System).Эта система дала возможность пользователям графического адаптора ICB (Tagra и Truevision) захватывать видео изображение, создавать и покрывать цветом графику и представлять различные функции изображения на bitmap данных.



Хотя первоначально имелся только один файловый формат графического адаптера применение и использование его создавало много различных расширений talename (файлов) – один на каждое табло графического изображения, который производил EPICenter, а позднее Truevision. Следовательно, VDA, ICB, TGA и VST файлы изображения, используемые при применении точного изображения, которые поддерживаются данным графическим адаптером.  Сегодня единственные поддерживаемые файловые расширения – это графический адаптер и  TPIC на Макинтоше и графические адаптеры на персональном компьютере и других платформах.



В 1989 году формат графического адаптера был пересмотрен и Truevision выпустила патч, который добавлял новые возможности к старому формату. Первоначальный формат TGA был прост в кодировке, что делало его привлекательным при работе с ним. Хотя графический адаптер стал еще более сложным, тем не менее стали необходимы дополнительные признаки формата файла такие, как хранение информации, коррекции гаммы, цвета и пикселей, степеней соотношения данных. Сегодня формат TGA широко применяется на многих различных платформах. 



TGA формат первоначально стал популярен, так как это был первый 24-битный формат с точным цветом пригодный для широкого использования на ПК. Truevision также давало разработчикам доступ к специализации файлового формата и обеспечивало им поддержку когда это необходимо, включая рабочий код и простые изображения.



Формат Tagra Image File (TGA) был изобретен как приспособление для просмотра изображений. Tagra стал популярным среди создателей сканированных изображений, был улучшен и расширен, чтобы поддерживать 15-, 16-, 24- и 32- битные цветные изображения. Формат считается уникальным, так как может вмещать сканированные ряды как сверху вниз, так и снизу вверх и пиксели в пределах каждого сканированного ряда могут быть прочитаны слева направо или справа налево. Многие из программ, создающих изображение могут вмещать окончательные изображения в TGA формат.



 	Не смотря на то, что у TGA есть способность сжимать картинки, большинство TGA файлов не используют сжатие. Таким образом, способ который используется для этого файлового формата определяется как bitmap формат без сжатия. Модуль клиента поддерживает 8-, 15-, 16-, 24- и 32- битные цветные изображения. Модуль писателя создает 8- и 24- битные TGA файлы. Хотя многие TGA файлы не сжимаются, декодер сжимает их.



Если при  считывании 32- битного TGA изображения, модуль клиента считывает, но «не знает» четвертый байт каждого пикселя, то он сразу же переводит это в 24- битное bitmap изображение. Однако, для 15- битных изображений, 5- битные цветные проекционные значения повышаются для 8- битных значений скрывая их в байты и оставшиеся 3 бита загружаются с 0. 17- битные изображения управляются также как 15- битные, кроме 6-го бита – «главного» бита, который может быть обычно проигнорирован.



Поскольку TGA формат был спроектирован на основе РС, он использует lntel-стиль, «little-endian» байтовое положение. Это упрощает структуру декодера тем, что слова и длинные значения могут не изменять байт. Это (изменение байта) вызвало бы много работы и значительно бы замедлило чтение TGA формата.



1.1. Файловая структура TGA



 	TGA формат (v 1.0) состоит из:

- заголовока, состоящего из изображения и информации о палитре;

- необязательного поля для опознания изображения;

- необязательной цветовой карты;

- bitmap данных.

Многие TGA файлы включают только  заголовок и bitmap данные.

Формат TGA (версия 2.0), который полностью повторяет оригинальный формат, дополняет его рядом новых элементов:

- необязательная директория разработчика, использующаяся для хранения различных указателей ярлыка, чтобы добавлять информацию вмещающуюся в файл TGA;

- необязательная область для разработчика;

- необязательная область расширения, которая включает последующую информацию, которую можно найти  в заголовке;

- необязательная таблица для корректировки цвета;

- необязательная почтовая марка (уменьшенное изображение);

- необязательная таблица строк развертки, включающая указатели для разработчиков;

- концовка.



Поле

Размер

Название поля

Возможные значения



IDLength



ColorMapType

ImageType



CmapStart



CmapLength



CmapDepth



Xoffset



Yoffset



Width



Height



PixelDepth



ImageDesc



byte



byte

byte



word



word



byte



 word



word



word



word



byte



byte



Размер поля ID-изображения



Тип цветной палитры

Код типа изображения



Начало палитры



Длина палитры



Глубина элементов палитры



Смещение по горизонтали



Смещение по вертикали



Ширина



Высота



Размер пикселя



Дескриптор изображения



От 0 до 255(ширина идентификационного поля)

0=черно-белая, 1=цветная

0=изображения нет, 1-3=без сжатия, 9-11=сжатие

Смещение первого элемента в таблице цветов

Количество элементов цветовой таблицы

Количество битов в элементе таблицы

Показывает смещение изображения по X

Показывает смещение изображения по Y

Ширина изображения в пикселях



Высота изображения в пикселях



Количество бит в пикселях – 8,16, 24 или 32

Биты 0-3=, биты 4-5 показывает

Все эти дополнения внесенные в конец TGA файла (v 1.0), включаются в файл по желанию разработчика изображения. Концовка необходима для того, чтобы отличить один формат от другого.

Все заголовки и обязательные структуры приведены ниже. Заголовок, общий всех версий TGA файлов, его форма: 







1.2. Описание компонентов файла TGA



 IDLength –  указывает размер поля идентификации изображения, которое идет сразу за заголовком. Начинается с 12-го байта и может быть в диапазоне от 0 до 255.  Если это поле имеет значение 0, то области идентификации изображения в файле нет. Если оно есть, то содержит информацию, понятную человеку (текст), либо понятную только той программе, которая создала этот файл.



ColorMapType – определяет наличие цветовой таблицы. Если это поле равно 1 – таблица есть, 0 – нет, если лежит в пределах от 2 до 255 – таблица есть, но формат ее понятен только программе, создавшей файл.



ImageType – показывает тип изображения. Их всего семь. Планировка цвета изображения применяет палитру.



Значение

Тип данных изображения

Цвет таблицы

Кодировка



			

В файле нет данных

изображения

Нет

			

Нет

			



Изображение с таблицей

Есть

Нет

	

	TrueColorImage

	Нет

	Нет

	

	Монохромное

	Нет

	Нет



Изображение с таблицей

Есть

Есть



TrueColorImage

Нет

Есть



Монохромное

Нет

Есть



Следующие три поля известны как общие, информация содержащаяся в этих полях используется для изменения цветовой палитры. Если типовое цветное поле имеет величину 0, то все три этих поля имеют величину ноль.



CMapStart – Смещение первого элемента в таблице цветов. Таблица может быть больше чем палитра. 



CMapLength  - устанавливает количество элементов цветовой таблицы. 

CMapDepth – содержит количество битов в элементе таблицы. 



XOffeset и YOffeset  -  описывают положение изображения на экране дисплея. По умолчанию координаты ( 0,0)  находятся в нижнем левом углу экрана, но любой из четырех углов может быть начальной точкой при описании поля  изображения.



Width и Height – ширина и высота - размер изображения в пикселях. Максимум размера TGA изображения – это 512 пикселей в ширину при 482  пикселей в высоту.



PixelDepth – это номер байта в пикселе, содержащий определенные биты. 



ImageDesc – описатель изображения. Несет в себе следующую информацию:

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

Считывает количество пикселей и сканирует диапазон данных

Увеличивает счетчик на каждый читаемый пиксель

Пишет значение счетчика

Пишет все значения читаемых пикселей.



Все форматы Tagra идентифицируются полем Data Type, которое является однобайтовым двойным целым числом, расположенным в третьем байте файла. Ниже приведены различные типы файлов, которые идентифицируются этим полем: 

0 – Нет данных, описывающих изображения 

1 - Несжатые,  color-mapped  изображения. 

2 - Несжатые, RGB изображения. 

3 - Несжатые, черно-белые изображения. 

9 - Runlength кодируемые color-mapped изображения. 

10 - Runlength кодируемые изображения RGB. 

11 - Сжатые, черно-белые изображения. 

32 – Сжатые color-mapped данные, использующие Huffman, Дельта, и runlength кодировки. 

33 - Сжатые color-mapped данные, использующие Huffman, Дельта, и runlength кодировки. Процесс quadtree-типа с 4 проходами. 



Этот документ описывает только один формат: 1.







Тип данных №1: color-mapped  изображения.





Длина

Описание

0

1

Число знаков в идентификационном поле.

Это поле – однобайтовое целое число без знака, определяющее длину поля «области идентификации изображения». Диапазон значений – от 0 до 255. Значение 0 значит, что область идентификации изображения не включена.

1

1

Тип карты цветов.

Это поле содержит бинарную единицу для изображений первого типа.

2

1

Код типа изображения.

Это поле всегда содержит бинарную единицу. (Это то, что делает его первым типом).

3



3





5





7

5



2





2





1



Спецификация набора цветов.



Координаты начала карты цветов.

Целое число – индекс первой записи цветов карты.



Длина карты цветов.

Целое число – счетчик записей цветов.



Размер записей цветов в карте.

Число битов в каждой записи цветов. 16 – для Tagra16, 24 для Tagra24, 32 для Tagra32.



8



8





10





14





16





17

10



2





2





2





1





1

Спецификация изображения.



X – компонента начала координат изображения.

Целое число – X координата нижнего левого угла изображения.



Ширина изображения.

Целое число – ширина изображения в пикселях.



Высота изображения.

Целое число – высота изображения в пикселях.



Размер пикселя изображения.

Число битов в хранящемся индексе пикселя.



Байт описания изображения.

Биты с 3 по 0 – количество битов, свойственных каждому пикселю.

Бит 4 – зарезервирован. Должен быть установлен на 0.

Бит 5 – бит начала экранных координат. (0 = начало координат нижнем левом углу, 1 = начало координат в верхнем левом углу.) Должен стоять 0 для изображений типа Truevision.

Биты с 7 по 6 – хранение данных, регулируемое флагом. (00 = без чередования; 01 = двустороннее (четное/нечетное) чередование; 10 = чередование четырьмя способами; 11 = зарезервированный.)

Весь этот байт должен быть установлен на 0. Н спрашивайте меня, почему.





18

различно

Идентифицирующее поле изображения.

Содержит идентификационное поле изображения произвольной формы, длины, которая определена в первом байте из записи изображения. Обычно, это опускается (длина в первом байте от 1 до 0), но может включать до 255 символов. Если требуется сохранить большее количество идентификационной информации, она сохраняется после данных изображения.

различно

различно

Данные о карте цветов.

Смещение определяется размером идентификационного поля изображения. Длина определяется спецификацией карты цветов, которая описывает размер каждой записи и количество записей. Каждая запись цвета – 2, 3 или 4 байта. Неиспользованные биты нужны для того, чтобы определить свойства бита. 



4 байтная запись включает: 1 байт для синего, 1 байт для зеленого, 1 байт для красного и 1 байт информации о свойствах.



3 байтная запись по 1 байту на каждый цвет: синий, зеленый и красный.



2 байтная запись разбивается следующим образом: 

ARRRRRGG GGGBBBBB, где каждый символ представляет собой бит. Но, из-за особенностей хранения, первым байтом, полученным из файла, является GGGBBBBB, а вторым – ARRRRRGG. «A» представляет бит, содержащий описание свойств.

различно

различно

Поле данных изображения.

Это поле определяет ширину и высоту цветовых индексов карты. Каждый индекс сохранен как целое чисто байтов (обычно 1 или 2). Все поля не содержат знаков. Младший байт сохраняется раньше двух-байтового поля.





Итак, из всего выше изложенного следует, что TGA разрабатывался как графический формат, рассчитанный не только на профессионалов, но и на обычных пользователей ПК. И все же по ряду причин он заинтересовал именно профессионалов компьютерной графики.



Во-первых, надо отметить, то что к достоинствам этого формата надо отнести  то, что он позволяет содержать в себе информацию о графическом файле. Это, кстати, было одним из нововведений разработчиков, впоследствии еще несколько форматов стали поддерживать эту возможность. Эта возможность называлась «Альфа» каналом, по мимо трех уже вошедших в стандарт RGB (Red, Green, Blue).

Во-вторых, этот формат имеет возможность отображения картинки не только сверху вниз, но также и снизу вверх, причем это можно менять не только на этапе создания картинки.

В третьих, TGA имеет уникальные функции сжатия картинки.

К настоящему времени этот формат включен в программные продукты многих компаний, к числу которых относится и Adobe Photoshop. TGA формат использует многоканальную организацию цветных изображений. Однако в формате TGA для реализации RGB цветовой модели, Photoshop требуется 32 битового цветового разрешения. Поэтому TGA файл наряду с тремя стандартными каналами имеет дополнительный информационный Альфа-канал. Из-за возможности использования Альфа-канала TGA формат получил широкое распространение телевизионных изображений.



















































































2.1. Подробное описание выполнения работы в пакете CorelDRAW.



Фон: с помощью инструмента “прямоугольник” создаём контур,

который закрашиваем однотонной заливкой помощью инструмента “равномерное заполнение”.

Антенна: с помощью инструмента “свободная рука” создаём

треугольник, далее с помощью инструмента “эллипс” создаем окружность, после чего с помощью инструмента “ластик” стираем половину окружности, и соединяем оба края прямой линией. После чего заливаем получившиеся фигуры.

Спутник: с помощью инструмента “эллипс” создаем окружность, после проводим две линии с обеих сторон от окружности, направленных по касательной. Заливаем окружность.

Дуги: с помощью инструмента “эллипс” создаём несколько дуг, которые растягиваем и наклоняем под углом 45°.На концах одной из дуг с помощью инструмента “эллипс” рисуем круги, далее с помощью инструмента “заливка” заливаем их.

Текст: с помощью инструмента “текст” вводим текст, после чего с помощью инструмента “шрифт” меняем шрифт текста.



 



















































































3.1. Подробное описание выполнения чертежа



С помощью инструмента “прямоугольник” на фронтальном виде создаём прямоугольный контур, внутри него с помощью инструмента “эллипс” создаём две окружности, затем с помощью инструментов “свободная рука” и “ластик” создаём штрих пунктирные осевые линии, далее с помощью инструмента “заливка узором Post Script” создаём штриховку со следующими параметрами: Max distance – 80 

                                                                         Min distance – 80

                                                                         Line width – 5

                                                                         Angle – 135

                                                                         Random seed – 0

Затем с помощью инструмента “размер” проставляем размеры.

На виде сверху с помощью вышеприведённых инструментов.

































Список используемой литературы:



http://pstutorials.narod.ru/first/format.html

http://fegsait.narod.ru/ac-nemo-tga.htm

http://kbt.nar.ru/docs/lgfp/ch07/07-01.html

Лакшин Е. “Графика для IBM PC”, 1995г.







	- 1 -