Изображение TGA (.tga)
Спецификация СтандартTGA (Targa), растровый формат, связанный с платами видеозахвата TARGA компании Truevision; он использовался в некоторых рабочих процессах с графикой и игровыми ресурсами, особенно в 1990-х и 2000-х годах.
Конвертировать из TGA в PNG
Бесплатный конвертер из TGA в PNG прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы TGA по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы TGA по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
Фиксированной сигнатуры нет (поля заголовка TGA различаются).ПРЕДСТАВЛЕНИЕ ASCII: Фиксированной сигнатуры ASCII нет.
Стандартизация: Спецификация формата файлов Truevision TGA v2.0
Технические спецификации
| Архитектура контейнера | Фиксированный заголовок длиной 18 байт, за которым следует идентификатор изображения, палитра цветов, данные растровых пикселей и опциональный нижний колонтитул версии 2.0 |
| Сжатие | Несжатые сырые строки сканирования или пакетное кодирование длин серий (RLE) без потерь |
| Порядок байтов (Endianness) | Младший байт вперёд (Little-Endian, Intel x86) |
| Цветовые пространства | RGB устройства |
| Каналы и структура | 8-битный оттенок серого, 16-битный RGB (5-5-5-1), 24-битный RGB или 32-битный RGBA с альфа-каналом |
| Максимальные размеры | 65 535 x 65 535 пикселей (16-битные поля размеров) |
| Прозрачность | Полная 8-битная прозрачность альфа-канала (в 32-битном режиме) или 1-битная альфа (в 16-битном режиме) |
| Потоковая передача и прогрессивная загрузка | Потоковая передача строк сканирования; поддерживает ориентацию сверху вниз или снизу вверх |
Техническая матрица сравнения: TGA с конкурентами
| Технический атрибут | TGA (Текущий) | PNG | BMP | DDS |
|---|---|---|---|---|
| Использование для текстур в играх | Универсальный стандарт 1990-х и 2000-х годов, ныне устаревший | Современные ресурсы для 2D-интерфейсов и веба | Устаревшая растровая графика Windows | Современный сжатый формат GPU от DirectX |
| Поддержка альфа-канала | Чистая 8-битная альфа (32-битный режим) | Чистая 8-битная альфа | Ограниченная 32-битная альфа | Сжатая альфа DXT/BC |
| Алгоритм сжатия | Несжатый или пакетный RLE | Без потерь Deflate (меньше примерно на 60%) | Без сжатия / RLE | Прямое блочное сжатие GPU (BC1-BC7) |
| Расположение сигнатуры | 26-байтовый колонтитул ('TRUEVISION-XFILE.') | Заголовок байта 0 ('‰PNG....') | Заголовок байта 0 ('BM') | Заголовок байта 0 ('DDS ') |
Распространенные сценарии повреждения и руководство по восстановлению в HEX
Изображение перевернуто по вертикали или зеркально отражено по горизонтали.
Первопричина: Биты дескриптора изображения (биты 4 и 5 в байте 17) неправильно прочитаны или инвертированы декодером.
Восстановление: Переключите флаги вертикального/горизонтального отражения или конвертируйте файл с помощью конвертера TGA от File2File.app.
Анализ безопасности и векторы атак на парсер
Декодеры TGA обрабатывают пакетные потоки RLE, где искаженные значения длины серий могут вызывать запись в кучу за пределами допустимых границ.
Известные векторы атак
- Длина пакета RLE превышает границу буфера целевой строки сканирования.
- Переполнение буфера при чтении элементов цветовой палитры, превышающих заявленную глубину палитры.
- Переполнение целых чисел при выделении буфера памяти ширина * высота * (глубина пикселя / 8).
Лучшие практики защиты: Применяйте строгую проверку границ для каждой строки сканирования при распаковке пакетов RLE.
История происхождения и ключевые этапы
Ключевые преимущества и плюсы
- Чрезвычайно простая архитектура декодирования позволяет напрямую загружать текстуры в память графического процессора с минимальной нагрузкой на центральный процессор.
- TGA может хранить данные RGB с глубиной 24 бита или RGBA с глубиной 32 бита, включая альфа-канал, поэтому был полезен в некоторых рабочих процессах с игровыми текстурами, спрайтами и декалями.
- Поддерживает как несжатое, так и легкое сжатие RLE без потерь.
Технические ограничения и минусы
- Больший размер файлов по сравнению с современными форматами сжатых текстур, такими как DDS, KTX2 или PNG.
- Отсутствие нативного управления цветовыми профилями (нет встроенных профилей ICC).
- Оригинальные файлы TGA версии 1.0 не имеют стандартизированного сигнатурного байта в нулевой позиции (определяются по полям заголовка и нижнего колонтитула).
Интересные технические факты
- Формат TGA был создан для захвата кадров телевизионного вещания на ПК IBM до того, как стандартные мониторы ПК вообще могли отображать 24-битный цвет.
- Файлы TGA 2.0 уникальны тем, что их сигнатурная строка ('TRUEVISION-XFILE.') хранится в самом конце файла, а не в начале.
- Почти каждый крупный игровой 3D-движок 1990-х годов, от id Tech до Unreal Engine, загружал текстурные ресурсы напрямую из файлов .TGA.
Часто задаваемые технические вопросы
Почему разработчики игр любили формат TGA?
Потому что файлы TGA были несжатыми или использовали простой алгоритм RLE, что позволяло игровым движкам загружать 32-битные текстуры и альфа-прозрачность прямо в видеопамять без медленной распаковки.
Как идентифицировать файл TGA без сигнатурных байтов на нулевой позиции?
Современные файлы TGA 2.0 заканчиваются строкой ASCII 'TRUEVISION-XFILE.' в последних 26 байтах файла.
Как конвертировать TGA в PNG?
Вы можете конвертировать текстуры TGA в высококачественные изображения PNG или JPG прямо в своем браузере с помощью File2File.app без передачи данных.
Связанные конвертации для TGA
Декодируйте игровые текстуры и растровую графику Truevision TGA с глубиной цвета 24 или 32 бита в универсальный формат PNG без потерь.
Преобразуйте текстуру или спрайт TGA в одностраничный PDF-файл для проверки дизайна. На странице отображаются декодированные пиксели, а не редактируемые данные TGA или пакетное кодирование.