Truevision TGA (.tga)

Truevision Standard

TGA (Targa) è un formato raster associato alle schede di acquisizione video TARGA di Truevision e usato in alcuni flussi di lavoro per grafica e risorse di gioco, soprattutto negli anni Novanta e Duemila.

Converti da TGA a PNG

Convertitore gratuito da TGA a PNG nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispezione e metadati

I sistemi operativi e gli analizzatori di file identificano i file TGA ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Privato - i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file TGA ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 0):

Nessuna firma fissa

RAPPRESENTAZIONE ASCII: Nessuna firma fissa

Standardizzazione: Truevision TGA File Format Specification v2.0

Specifiche tecniche

Architettura del contenitoreIntestazione fissa di 18 byte seguita da ID immagine, mappa colore, dati pixel raster e piè di pagina opzionale v2.0
CompressioneLinee di scansione grezze non compresse o codifica RLE (Run-Length Encoding) basata su pacchetti senza perdita
Endianness dei byteLittle-Endian (Intel x86)
Spazi coloreRGB di periferica
Canali e strutturaScala di grigi a 8-bit, RGB a 16-bit (5-5-5-1), RGB a 24-bit o RGBA a 32-bit con canale alfa
Dimensioni massime65,535 x 65,535 pixel (campi di dimensione a 16-bit)
TrasparenzaTrasparenza completa del canale alfa a 8-bit (in modalità a 32-bit) o alfa a 1-bit (in modalità a 16-bit)
Streaming e progressivoStreaming sequenziale delle linee di scansione; supporta l'orientamento dall'alto in basso o dal basso in alto

Matrice di confronto tecnico: TGA vs Concorrenti

Attributo tecnicoTGA (Attuale)PNGBMPDDS
Uso per Texture di VideogiochiUsato da alcuni motori di gioco degli anni ’90 e 2000Asset web e UI 2D moderniBitmap legacy di WindowsFormato GPU compresso moderno DirectX
Supporto del canale alfaAlfa pulito a 8-bit (modalità a 32-bit)Alfa pulito a 8-bitAlfa limitato a 32-bitAlfa compresso DXT/BC
Algoritmo di compressioneNon compresso o RLE a pacchettiCompressione Deflate senza perdita; il risparmio dipende dal contenuto dell’immagineNon compresso / RLECompressione a blocchi diretta GPU (BC1-BC7)
Posizione della firmaPiè di pagina di 26 byte ('TRUEVISION-XFILE.')Intestazione byte 0 ('‰PNG....')Intestazione byte 0 ('BM')Intestazione byte 0 ('DDS ')

Modalità di corruzione comuni e guida al recupero esadecimale

L'immagine viene renderizzata capovolta o specchiata orizzontalmente.

Causa principale: Bit del descrittore dell'immagine (bit 4 e 5 nel byte 17) letti male o invertiti dal decoder.

Ripristino: Attiva/disattiva i flag di capovolgimento verticale/orizzontale o converti utilizzando il convertitore TGA di File2File.app.

Analisi di sicurezza e vettori di attacco del parser

I decoder TGA elaborano flussi RLE a pacchetti; conteggi di sequenza malformati possono causare scritture nell’heap oltre i limiti del buffer.

Vettori di attacco noti

  • Lunghezza del pacchetto RLE che supera il limite del buffer della linea di scansione di destinazione.
  • Buffer overflow durante la lettura di voci della mappa colore che superano la profondità dichiarata della mappa colore.
  • Overflow di interi durante l’allocazione del buffer di memoria larghezza × altezza × (bpp / 8).

Migliori pratiche difensive: Applicare un rigoroso controllo dei limiti per linea di scansione durante la decompressione dei pacchetti RLE.

Origini storiche e tappe fondamentali

1998TGA è diventato comune nei flussi di lavoro per la grafica dei giochi perché supporta direttamente i dati di colore e alfa; alcuni motori, tra cui Quake II di id Software, lo usavano per le texture.
1989Truevision rilascia la specifica del formato file TGA v2.0, aggiungendo il piè di pagina standardizzato di 26 byte 'TRUEVISION-XFILE'.
1984Truevision introduce la scheda video TARGA (Truevision Advanced Raster Graphics Adapter) e il formato TGA.

Vantaggi principali

  • Un'architettura di decodifica estremamente semplice consente il caricamento diretto nella memoria texture della GPU con un sovraccarico minimo della CPU.
  • TGA può memorizzare dati RGB a 24 bit o RGBA a 32 bit, incluso il canale alfa, e per questo era utile in alcuni flussi di lavoro per texture, sprite e decalcomanie dei giochi.
  • Supporta sia dati non compressi sia la compressione RLE leggera senza perdita.

Limiti tecnici e svantaggi

  • File di dimensioni maggiori rispetto ai moderni formati di texture compressi come DDS, KTX2 o PNG.
  • Manca la gestione nativa dei profili colore (nessun profilo ICC incorporato).
  • I file TGA v1.0 originali mancano di un byte magico standardizzato al byte 0 (identificato dai campi dell'intestazione e dal piè di pagina).

Curiosità tecniche

  • TGA è stato creato per catturare fotogrammi video broadcast su PC IBM prima che i normali monitor per PC potessero persino visualizzare colori a 24-bit.
  • I file TGA 2.0 sono unici perché la loro firma magica ('TRUEVISION-XFILE.') è memorizzata proprio alla fine del file anziché all'inizio.
  • Alcuni motori di gioco degli anni ’90, inclusi titoli di id Software e Valve, usavano TGA per le texture.

Domande tecniche frequenti

Perché gli sviluppatori di giochi amavano il formato TGA?

Perché i file TGA erano non compressi o basati su un semplice RLE, consentendo ai motori di gioco di caricare texture a 32-bit e trasparenza alfa direttamente nella memoria video senza una lenta decompressione.

Come posso identificare un file TGA senza byte magici al byte 0?

I moderni file TGA 2.0 terminano con la stringa ASCII 'TRUEVISION-XFILE.' negli ultimi 26 byte del file.

Come posso convertire TGA in PNG?

I file TGA possono includere un canale alfa usato nelle texture dei giochi. Converti in PNG per mantenere la trasparenza o in JPEG per un’immagine opaca più piccola; questo convertitore funziona nel browser.