Изображение TGA (.tga)
Спецификация СтандартTruevision TGA (Targa) - это исторический формат растровой графики, созданный для революционных плат видеозахвата TARGA, ставший определяющим форматом 3D-текстур и видеоигровых ассистов в 1990-х и 2000-х годах.
Конвертировать из TGA в PNG
Бесплатный конвертер из TGA в PNG прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы TGA по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы TGA по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
00 00 02 00 00 00 00 00ПРЕДСТАВЛЕНИЕ ASCII: ........ (Нижний колонтитул: TRUEVISION-XFILE)
Стандартизация: Спецификация формата файлов 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 UI и веб-ассисты | Устаревшая рабстравая графика 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.
Анализ безопасности и векторы атак на парсер
Декодеры TGA обрабатывают пакетные потоки RLE, где искаженные значения длины серий могут вызывать запись в кучу за пределами допустимых границ.
Известные векторы атак
- Длина пакета RLE превышает границу буфера целевой строки сканирования.
- Переполнение буфера при чтении элементов цветовой палитры, превышающих заявленную глубину палитры.
- Переполнение целых чисел при выделении буфера памяти ширина * высота * (глубина пикселя / 8).
Защитные лучшие практики: Применяйте строгую проверку границ для каждой строки сканирования при распаковке пакетов RLE.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Чрезвычайно простая архитектура декодирования позволяет напрямую загружать текстуры в память графического процессора с минимальной нагрузкой на центральный процессор.
- Надежная поддержка 32-битного альфа-канала RGBA сделала его любимцем индустрии для текстур видеоигр, спрайтов и наклеек.
- Поддерживает как несжатое, так и легкое сжатие 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 без передачи данных.