Loading AI tools
формат растровых графических файлов Из Википедии, свободной энциклопедии
Truevision TGA (TGA) — растровый графический формат. Первоначально был создан компанией Truevision Inc. для графических адаптеров собственного производства ещё в 1984, но в дальнейшем стал популярен на самых разных платформах, особенно в области обработки видео, анимации.
Truevision TGA | |
---|---|
Расширение |
.tga , .tpic , .vda , .vst или .icb |
MIME-тип | image/x-targa[1] и image/x-tga[2] |
Разработчик | Truevision[вд][3] |
Тип формата | растровая графика |
Обычно файлы этого формата имеют расширение .tga в системах, следующих традициям DOS, или .tpic на компьютерах Macintosh. Формат поддерживает глубину цвета 1—32 бита на пиксель. Есть поддержка альфа-каналов, сжатия RLE.
Файл изображения TGA состоит из пяти зон, каждая из которых содержит одно или больше полей фиксированной или переменной длины:
Последние три зоны были добавлены в спецификацию формата в сентябре 1989 г. По этой причине файлы, созданные при помощи ПО, написанного до этой даты, могут не содержать этих зон. Чтобы определить, относится ли файл к оригинальной версии или к новой, следует считать последние 26 байт файла. Для новой версии эти байты будут содержать подвал файла, байты 8-23 которого содержат набор ASCII символов «TRUEVISION-XFILE». Наличие этой строки означает, что файл может содержать зоны (3) и (4).
Сам подвал имеет следующее строение (байт — назначение):
Более подробное описание в конце статьи.
Указывает количество байт, содержащихся в поле Идентификатор. Максимальное количество символов — 255. Нулевое значение указывает, что файл не содержит поле Идентификатор.
Указывает тип карты цветов, включенной в файл. На данный момент(описание от января 1991г) определено два значения — 0(файл не содержит карты цветов) и 1(файл содержит карту цветов). Первые 128 значений этого поля зарезервированы для использования Truevision, остальные могут быть использованы разработчиками ПО.
True-Color изображения обычно не используют карту цветов, но некоторые приложения сохраняют информацию о палитре или другие данные в этом поле. Рекомендуется проверять значение поля Тип Изображения(описано в следующем пункте), чтобы убедиться что файл может использовать эти данные. В противном случае это поле можно игнорировать.
При записи или сохранении файла в целях совместимости следует заполнять это поле нулевыми значениями. В новом формате файла для сохранения данных разработчика существует отдельная зона.
TGA файл может быть использован для сохранения изображений с различной глубиной цвета. Определено семь типов изображений:
Значение | Описание | Используется карта цветов | Используется сжатие |
---|---|---|---|
0 | Нет изображения | Нет | Нет |
1 | Изображение с палитрой | Да | Нет |
2 | TrueColor изображение | Нет | Нет |
3 | Монохромное изображение | Нет | Нет |
9 | Изображение с палитрой | Да | Да |
10 | TrueColor изображение | Нет | Да |
11 | Монохромное изображение | Нет | Да |
Первые 128 значений зарезервированы для использования Truevision, остальные могут быть использованы разработчиками.
Это поле и его подразделы описывают карту цветов (если она используется). Если поле Color Map Type(описано выше) содержит ноль, эти пять байт также должны содержать нули.
Поле | Размер | Описание |
---|---|---|
Индекс первого элемента | 2 байта | Указывает на начальный элемент палитры. |
Длина карты цветов | 2 байта | Указывает количество элементов палитры. |
Размер элемента карты цветов | 1 байт | Количество бит на один элемент палитры. Обычно используются значения 15, 16, 24 или 32. |
Это поле описывает размеры, положение на экране и глубину пикселя изображения.
Поле | Размер | Описание |
---|---|---|
Положение изображения по оси X | 2 байта | Определяет абсолютную координату левого нижнего угла изображения по горизонтали. |
Положение изображения по оси Y | 2 байта | Определяет абсолютную координату левого нижнего угла изображения по вертикали. |
Ширина изображения | 2 байта | Ширина изображения в пикселях. |
Высота изображения | 2 байта | Высота изображения в пикселях. |
Разрядность цвета | 1 байт | Определяет количество используемых бит на пиксель. |
Описатель изображения | 1 байт | Биты 3-0 этого поля определяют количество бит альфа-канала.
Биты 5 и 4 определяют порядок передачи пиксельных данных из файла на экран. Бит 4 устанавливается для порядка «справа налево», бит 5 — для порядка «сверху вниз». Биты 7 и 6 в целях совместимости должны быть установлены в 0. |
Это поле является идентификатором файла и может иметь длину от 0 до 255 байт.
Если тип карты цветов (описано выше) содержит ноль, это поле будет отсутствовать. Поля Размер элемента карты цветов и Длина карты цветов позволяют определить размер этого поля. Каждый элемент карты цветов занимает целое число байт; каждый цветовой канал занимает MIN(Размер элемента карты цветов/3 , 8) бит, то есть для размера элемента в 24 каждый из трех каналов цвета займет 8 бит, так же, как и для элементов размером 32 бита.
Это поле содержит (ширина*высота) пикселей. Каждый пиксель указывает данные изображения в одном из следующих форматов: одиночный индекс элемента карты цветов, отдельные значения для каждого канала цвета либо отдельные индексы интенсивности для формата Direct Color.
Эта зона может иметь любой размер и содержать любой тип информации на усмотрение разработчика ПО, хотя рекомендуется использовать её исключительно для хранения специфичной информации, не предназначенной для остального ПО и не описанной в спецификации формата. Так как файл может содержать более одной зоны разработчика, существует список зон, содержащий «карту» полей, включенных в эти зоны. В байтах 4-7 Подвала файла содержится смещение от начала файла к началу списка зон разработчика. Если эти байты содержат нулевое значение, списка зон и самих зон в файле нет.
Указывает количество тегов, содержащихся в списке. Остальная часть списка после этого значения содержит последовательности тег-смещение-размер.
Каждый тег может содержать значение от 0 до 65535. Значения 0-32767 могут быть использованы разработчиками, остальные зарезервированы для использования Truevision.
Содержит значение, указывающее смещение от начала файла к началу поля, на которое ссылается тег.
Указывает размер поля, на которое ссылается тег.
Смещение к Зоне расширения хранится в Подвале файла. Если смещение равно нулю — файл не содержит зоны расширения.
Содержит длину зоны в байтах. Для версии 2.0 формата это значение должно быть равным 495.
Место для ASCII строки длиной до 40 символов и одного нулевого байта. Если поле не используется, оно заполняется нулями или пробелами. Последний символ всегда должен быть равен нулю.
Место для четырёх строк, каждая из которых может вместить нулевой байт и до 80 значащих символов. Неиспользуемое место заполняется нулями либо пробелами, 81-й байт каждой строки должен быть равен нулю.
Это поле содержит последовательность из шести 2-х байтовых значений для даты и времени сохранения изображения (месяц-день-год-час-минуты-секунды). Если это поле не используется, оно заполняется нулями.
Место для 40 ASCII символов и одного нулевого байта.
Аналогично полю Дата/Время, место для хранения трех значений (час-минута-секунда).
Место для строки-идентификатора ПО, с помощью которого был создан файл.
Поле содержит две составные части — 2-х байтное число и ASCII символ. Место для сохранения версии ПО, с помощью которого был создан файл.
4-х байтное значение, определяющее ключевой цвет альфа канала в формате ARGB. Если изображение не содержит альфа канала, значение первого байта устанавливается в ноль. Ключевой цвет определяет цвет фона или «прозрачный цвет». Если поле не используется, оно заполняется нулями.
Содержит два 2-х байтных значения, определяющих ширину и высоту пикселя соответственно. Одинаковые ненулевые значения определяют квадратный пиксель, ноль во втором значении означает, что соотношение не указано.
Содержит два 2-х байтных значения, используемых в качестве числителя и знаменателя при вычислении дробного значения гаммы. Результат деления должен находиться в диапазоне от 0 до 10.0 и иметь только один знак в дробной части. Когда это поле не используется, оба значения должны быть равны друг другу(дабы получить 1.0 после деления), либо второе значение должно быть равно нулю.
Содержит смещение в байтах от начала файла к таблице коррекции. Таблица может быть помещена в любом месте после поля данных изображения и перед концом файла. Если изображение не требует коррекции, это значение равно нулю.
Содержит смещение к уменьшенной копии изображения, содержащегося в файле. Изображение записывается между Таблицей Скан Линий(описано ниже) и Подвалом файла.
Смещение к началу таблицы Скан Линий.
Эта статья или раздел содержит незавершённый перевод с английского языка. |
Это значение определяет тип данных альфа-канала, сохраненных с изображением.
Пример предумноженного альфа-канала. Данные альфа-канала используются для указания степени непрозрачности каждого пикселя (используется когда одно изображение накладывается на другое изображение), где 0 показывает, что пиксель полностью прозрачен, а значение 1 показывает, что пиксель полностью непрозрачен (в предположении, что значения всех компонент нормализованы). Четвёрка чисел (a, r, g, b) со значениями (0.5, 1, 0, 0) будет показывать, что пиксель чисто красный с прозрачностью 0.5. По различным причинам (включая создание составных изображений) лучше использовать предварительное умножение отдельных компонентов цвета на значение альфа-канала. Такое умножение даст следующую четвёрку чисел (0.5, 0.5, 0, 0).
Значение 4 в поле Типа Атрибутов (поле 24) будет показывать, что цветовые компоненты пикселя уже отмасштабированы значением из альфа-канала. Подробности, касающиеся предварительно умноженных значений см. в материалах конференции SIGGRAPH 1984.
Таблица должна содержать набор смещений в байтах от начала файла к началам скан-линий, в соответствующем порядке (например сверху вниз/снизу вверх).
Уменьшенная копия изображения, содержащегося в файле. Сохраняется в том же формате, что и полноразмерное, но без применения методов сжатия. Первый байт содержит ширину копии в пикселях, второй — высоту. Truevision не рекомендует использовать изображения размером больше чем 64×64 пикселя.
Таблица содержит 256×4 2-х байтных значений, каждая последовательность из четырёх таких значений соответствует каналам ARGB.
Предпоследний символ сигнатуры должен быть символом «.»(точка), иначе файл не будет опознан как правильный файл TGA.
Разработчик не обязан читать, записывать или использовать зоны расширения или разработчика, но, даже когда они не используются, рекомендуется включать в файл Подвал и указывать в качестве смещений к неиспользуемым зонам нули.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.