Что такое TGA: гид по формату Truevision Targa с альфа-каналом
Вам прислали картинку с расширением .tga, а Windows показывает белую иконку и отказывается её открывать. Что это за зверь из 1980-х, почему он до сих пор встречается в играх и графике и зачем формату с тех времён уже был альфа-канал — разбираемся с нуля и без занудства.
Что такое TGA простыми словами
TGA (Truevision Targa) — это растровый формат изображений, то есть картинка в нём хранится как сетка из пикселей, у каждого свой цвет. По сути TGA — близкий родственник BMP: оба максимально честно перечисляют пиксели один за другим и не пытаются хитро их сжимать. Зато TGA умеет две важные вещи, которых у старого BMP не было: полноценную прозрачность и лёгкое сжатие без потерь.
Главная идея формата — простота и честность. TGA не выбрасывает детали ради размера файла (как это делает JPEG) и не закапывает данные в сложную структуру. Открыл файл, прочитал короткий заголовок, дальше идут пиксели — вот и весь формат. Именно за эту прямоту его полюбили художники и разработчики игр: TGA предсказуем, и с ним почти невозможно «случайно испортить картинку».
Коротко
TGA — это «честный» формат: пиксели хранятся без потерь, есть прозрачность (альфа-канал), а сжатие либо отсутствует, либо очень простое. Минус один — файлы крупные, и почти ни один просмотрщик их «из коробки» не открывает.
Откуда взялся формат: 1984 год и платы Targa
TGA — настоящий долгожитель. Формат определили ещё в 1984 году в подразделении AT&T EPICenter при участии компании Island Graphics. Расшифровок у названия две, и обе про железо: TARGA — это Truevision Advanced Raster Graphics Adapter, а TGA — Truevision Graphics Adapter.
Дело в том, что формат родился не сам по себе, а как «родной язык» конкретных видеоплат — Targa и Vista. Это были одни из первых графических карт для IBM PC, которые умели показывать true color (полноцветное изображение) в те времена, когда обычные ПК довольствовались 16 цветами. Платы использовались для профессиональной работы с видео, поэтому размеры TGA-картинок часто совпадали с тогдашними телевизионными стандартами (NTSC и PAL — форматы кадра в США и Европе).
В 1987 году команда выкупила технологию у AT&T и образовала компанию Truevision. А в 1989 году вышла версия 2.0 (её сделал Шон Стайнер): она добавила в конец файла небольшой блок служебной информации — дату, имя автора, маленькую картинку-превью и особую метку, по которой формат можно узнать. Об этом «хвосте» мы подробно расскажем в отдельной статье про внутреннее устройство TGA.
Как устроен файл TGA внутри
Структура TGA подкупает своей логичностью. Файл начинается с заголовка длиной всего 18 байт. В нём записано самое необходимое: ширина и высота картинки, глубина цвета (сколько бит на пиксель), тип изображения и наличие палитры. Любопытная деталь: в отличие от PNG или JPEG, у TGA нет «волшебной» сигнатуры в начале файла — самый первый байт это просто длина необязательного текстового описания. Поэтому распознать TGA по первым байтам сложнее, чем большинство форматов.
Сразу за заголовком идут пиксели — в том порядке, который указан в заголовке. Никаких чанков, контрольных сумм и сложных деревьев, как в PNG. Эта прямолинейность — и сила, и слабость TGA: читать его легко, но и весит он обычно много.
Альфа-канал: прозрачность до эпохи PNG
Вот чем TGA реально опередил своё время. В 32-битном TGA на каждый пиксель приходится 4 байта: три на цвет (красный, зелёный, синий) и один — на альфа-канал, то есть прозрачность. Это даёт 256 уровней прозрачности на каждый пиксель: от полностью видимого до полностью невидимого и любые промежуточные значения.
Звучит обыденно сегодня, но в 1980–90-е это было редкостью. PNG, который мы привыкли считать «форматом с прозрачностью», появился только в 1996 году — на десяток с лишним лет позже. Поэтому когда дизайнерам и видеомонтажёрам нужна была плавная прозрачность — например, чтобы наложить логотип или спецэффект поверх кадра, — TGA часто был единственным доступным вариантом.
Сжатие RLE: без потерь и очень просто
TGA можно сохранить двумя способами. Первый — совсем без сжатия (в спецификации это «тип 2»): каждый пиксель записан как есть. Второй — со сжатием RLE (Run-Length Encoding, «тип 10»). RLE — это, пожалуй, самый интуитивный способ сжатия из всех существующих.
Идея проста: если в строке подряд идут одинаковые пиксели, незачем записывать каждый отдельно. Вместо «синий, синий, синий, синий, синий» формат пишет «синий ×5». Поэтому на простой графике с большими однотонными областями — иконках, логотипах, скриншотах интерфейса — RLE заметно ужимает файл. А вот на фотографиях, где почти нет двух одинаковых пикселей рядом, выигрыша почти нет. Важно одно: RLE — сжатие без потерь, картинка восстанавливается точь-в-точь.
Где TGA используется сегодня
Несмотря на солидный возраст, TGA не музейный экспонат. Он до сих пор живёт там, где ценят простоту и предсказуемость:
- Игровые текстуры. Unreal Engine и Unity отлично понимают TGA; долгие годы он был стандартом для текстур с прозрачностью. Подробнее — в статье «TGA в играх и графике».
- Видео и спецэффекты. В видеопроизводстве кадры нередко выгружают последовательностью TGA-файлов — это надёжно и без потерь.
- 3D и рендеринг. Многие 3D-редакторы сохраняют промежуточные результаты в TGA как «рабочий» формат.
Если хочется сравнить TGA с современными форматами и понять, когда он всё ещё уместен, загляните в разбор «TGA против PNG».
Как открыть и конвертировать TGA
Главная боль обычного пользователя: TGA почти никто не открывает. Браузеры его не показывают, стандартный просмотрщик Windows тоже. Самое простое решение — конвертировать TGA в PNG: PNG понимает любая программа и любой браузер, при этом он тоже без потерь и тоже умеет прозрачность, так что качество и альфа-канал сохранятся.
Загрузите файл
Перетащите .tga в онлайн-конвертер — устанавливать ничего не нужно.
Выберите PNG
PNG сохранит альфа-канал из TGA, если он есть.
Скачайте результат
Готовый PNG открывается где угодно — в браузере, Photoshop, GIMP или штатном просмотрщике.
Откройте свой TGA прямо сейчас
Бесплатный конвертер FormatZ превратит .tga в PNG за пару секунд — прямо в браузере, без установки и регистрации, с сохранением прозрачности.
Конвертировать TGA в PNGНужно наоборот — собрать TGA из обычной картинки для движка или видеомонтажа? Пригодится обратное преобразование PNG в TGA. А полный список конвертаций всегда есть на странице всех форматов.
Частые вопросы о формате TGA
Читайте также
ПрименениеTGA в играх и графике: где формат живёт сегодня
Текстуры, спрайты, видео и VFX — почему движки до сих пор любят Targa.
СравнениеTGA против PNG: что выбрать и почему
Размер, альфа, сжатие и совместимость — два формата без потерь лицом к лицу.
ТехнологииАльфа-канал и RLE: как TGA устроен внутри
Заголовок, типы 2 и 10, footer и подпись TRUEVISION-XFILE.