Truevision TGA (.tga)
Truevision СтандартTGA (Targa), растровий формат, пов’язаний із платами відеозахоплення TARGA компанії Truevision; його використовували в окремих процесах роботи з графікою та ігровими ресурсами, особливо у 1990-х і 2000-х роках.
Конвертувати з TGA у PNG
Безкоштовний конвертер з TGA у PNG у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли TGA, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли TGA, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
Фіксованої сигнатури немаєПОДАННЯ В ASCII: Фіксованої сигнатури немає
Стандартизація: Truevision TGA File Format Specification v2.0
Технічні характеристики
| Архітектура контейнера | Фіксований заголовок довжиною 18 байтів, за яким слідують ідентифікатор зображення, карта кольорів, дані растрових пікселів та необов'язковий нижній колонтитул версії v2.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 без втрат; економія розміру залежить від вмісту зображення. | Нестиснений / RLE | Пряме блокове стиснення GPU (BC1-BC7) |
| Розташування підпису | 26-байтний нижній колонтитул ('TRUEVISION-XFILE.') | Заголовок байта 0 ('‰PNG....') | Заголовок байта 0 ('BM') | Заголовок байта 0 ('DDS ') |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Зображення відображається догори дном або дзеркально по горизонталі.
Першопричина: Біти дескриптора зображення (біти 4 і 5 у байті 17) неправильно прочитані або інвертовані декодером.
Відновлення: Перемкніть прапорці вертикального/горизонтального відбиття або виконайте конвертацію за допомогою конвертера TGA у File2File.app.
Аналіз безпеки та векторів атак на парсери
Декодери TGA обробляють потокові дані RLE на основі пакетів; пошкоджені лічильники серій можуть спричинити запис за межі динамічної пам’яті.
Відомі вектори атак
- Довжина пакету RLE перевищує межу буфера рядка розгортки призначення.
- Переповнення буфера під час читання елементів карти кольорів, що перевищує заявлену глибину карти кольорів.
- Переповнення цілого числа під час виділення буфера пам’яті за формулою width * height * (bpp / 8).
Рекомендації щодо захисту: Застосовуйте сувору перевірку меж для кожного рядка розгортки під час розпакування пакетів RLE.
Історичне походження та віхи
Основні переваги
- Надзвичайно проста архітектура декодування забезпечує пряме завантаження текстур у пам'ять GPU з мінімальним навантаженням на CPU.
- TGA може зберігати 24-бітні дані RGB або 32-бітні RGBA, зокрема альфа-канал, тому був корисним у деяких процесах роботи з ігровими текстурами, спрайтами й декалями.
- Підтримує як нестиснене, так і легке RLE-стиснення без втрат.
Технічні обмеження та недоліки
- Більший розмір файлів порівняно з сучасними форматами стиснених текстур, такими як DDS, KTX2 або PNG.
- Бракує вбудованого керування колірними профілями (немає вбудованих профілів ICC).
- В оригінальних файлах TGA v1.0 відсутній стандартизований магічний байт у байті 0 (їх визначають за полями заголовка та футером).
Цікаві технічні факти
- Формат TGA був створений для захоплення кадрів телевізійного відео на комп'ютерах IBM PC ще до того, як стандартні монітори ПК могли відображати 24-бітний колір.
- Файли TGA 2.0 унікальні тим, що їхній сигнатурний підпис ('TRUEVISION-XFILE.') зберігається в самому кінці файлу, а не на початку.
- TGA використовували для текстур деякі ігрові рушії 1990-х років, зокрема в іграх від id Software і Valve.
Поширені технічні запитання
Чому розробники ігор любили формат TGA?
Тому що файли TGA були нестисненими або використовували простий алгоритм RLE, що дозволяло ігровим рушіям завантажувати 32-бітні текстури та альфа-прозорість безпосередньо у відеопам'ять без повільної декомпресії.
Як ідентифікувати файл TGA без магічних байтів у нульовому байті?
Сучасні файли TGA 2.0 закінчуються рядком ASCII 'TRUEVISION-XFILE.' в останніх 26 байтах файлу.
Як я можу конвертувати TGA у PNG?
Файли TGA можуть містити альфа-канал, який використовують у текстурах ігор. Перетворіть на PNG, щоб зберегти прозорість, або на JPEG для меншого непрозорого зображення; конвертер працює у браузері.
Пов'язані пари конвертації TGA
Декодуйте ігрові текстури та растрову графіку Truevision TGA з глибиною кольору 24 і 32 біти в універсальний формат PNG без втрат.
Перетворіть текстуру або спрайт TGA на односторінковий PDF для дизайнерського огляду. На сторінці відображаються декодовані пікселі, а не редаговані дані TGA чи пакетне кодування.