Truevision TGA (.tga)

Truevision Standaard

Truevision TGA (Targa) is een rasterformaat dat is gekoppeld aan de TARGA-videokaarten voor video-opname van Truevision. Het wordt gebruikt in sommige workflows voor grafische afbeeldingen en gamebestanden, met name in de jaren negentig en 2000.

TGA naar PNG converteren

Gratis TGA-naar-PNG-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen TGA-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen TGA-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

Geen vaste bestandshandtekening (TGA-headervelden variëren)

ASCII-WEERGAVE: Geen vaste ASCII-bestandshandtekening

Standaardisatie: Truevision TGA File Format Specification v2.0

Technische specificaties

ContainerarchitectuurVaste header van 18 bytes, gevolgd door afbeelding-ID, kleurtabel, rasterpixelgegevens en optionele v2.0-footer
CompressieNiet-gecomprimeerde ruwe scanlines of verliesvrije, op pakketten gebaseerde Run-Length Encoding (RLE)
Bytevolgorde (endianness)Little-Endian (Intel x86)
KleurruimtenApparaat-RGB
Kanalen en structuur8-bits grijswaarden, 16-bits RGB (5-5-5-1), 24-bits RGB of 32-bits RGBA met alfa
Maximale afmetingen65.535 x 65.535 pixels (dimensievelden van 16 bits)
TransparantieVolledige 8-bits alfakanaaltransparantie (in 32-bits modus) of 1-bits alfa (in 16-bits modus)
Streaming en progressiefSequentiële scanlinestreaming; ondersteunt oriëntatie van boven naar beneden of van beneden naar boven

Technische vergelijkingsmatrix: TGA versus concurrenten

Technisch kenmerkTGA (Huidig)PNGBMPDDS
Gebruik voor videogametexturenGebruikt door sommige game-engines uit de jaren negentig-2000Moderne 2D-gebruikersinterfaces en webassetsVerouderde Windows-bitmapModern gecomprimeerd GPU-formaat van DirectX
Ondersteuning voor alfakanaalZuivere 8-bits alfa (32-bits modus)Zuivere 8-bits alfaBeperkte 32-bits alfaDXT/BC-gecomprimeerde alfa
CompressiealgoritmeNiet-gecomprimeerd of RLE met pakkettenVerliesvrije Deflate-compressie; besparing varieert per afbeeldingsinhoudNiet-gecomprimeerd / RLEDirecte GPU-blokcompressie (BC1-BC7)
Locatie van de bestandshandtekeningFooter van 26 bytes ('TRUEVISION-XFILE.')Header op byte 0 ('‰PNG....')Header op byte 0 ('BM')Header op byte 0 ('DDS ')

Veelvoorkomende beschadigingen en gids voor hex-herstel

Afbeelding wordt ondersteboven of horizontaal gespiegeld weergegeven.

Oorzaak: Bits van de afbeeldingsdescriptor (bit 4 en bit 5 in byte 17) zijn verkeerd gelezen of geïnverteerd door de decoder.

Herstel: Schakel de vlaggen voor verticaal of horizontaal spiegelen om of converteer met de TGA-converter van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

TGA-decoders verwerken RLE-streams op basis van pakketten, waarbij misvormde run-lengthwaarden out-of-bounds-schrijfbewerkingen op de heap kunnen veroorzaken.

Bekende aanvalsvectoren

  • RLE-pakketlengte overschrijdt de grens van de scanlinebuffer van de bestemming.
  • Bufferoverflow bij het lezen van kleurtabelitems die de opgegeven kleurtabeldiepte overschrijden.
  • Integeroverflow tijdens de toewijzing van de geheugenbuffer van breedte * hoogte * (bpp / 8).

Aanbevolen beveiligingspraktijken: Handhaaf strikte grenscontroles per scanline tijdens het uitpakken van RLE-pakketten.

Historische oorsprong en mijlpalen

1998TGA werd gebruikelijk in game-art-pipelines omdat het directe kleur- en alfagegevens ondersteunt; game-engines waaronder Quake II van id Software gebruikten het voor texturen.
1989Truevision brengt TGA File Format v2.0 uit en voegt de gestandaardiseerde footer 'TRUEVISION-XFILE' van 26 bytes toe.
1984Truevision introduceert de TARGA (Truevision Advanced Raster Graphics Adapter)-videokaart en het TGA-formaat.

Belangrijkste voordelen

  • Een uiterst eenvoudige decoderingsarchitectuur maakt het mogelijk om texturen rechtstreeks naar het GPU-geheugen te laden, met minimale CPU-belasting.
  • TGA kan 24-bits RGB- of 32-bits RGBA-gegevens opslaan, inclusief alfa, wat handig was in sommige workflows voor game-texturen, sprites en decals.
  • Ondersteunt zowel niet-gecomprimeerde als lichtgewicht verliesvrije RLE-compressie.

Technische beperkingen

  • Grotere bestandsomvang dan moderne gecomprimeerde textureformaten zoals DDS, KTX2 of PNG.
  • Heeft geen ingebouwd kleurprofielbeheer (geen ingesloten ICC-profielen).
  • Oorspronkelijke TGA-bestanden van v1.0 missen een gestandaardiseerde bestandshandtekening op byte 0 (ze worden herkend aan de headervelden en de footer).

Interessante technische weetjes

  • TGA is gemaakt om videoframes van uitzendkwaliteit vast te leggen op de IBM PC voordat standaard pc-monitoren zelfs maar 24-bits kleur konden weergeven.
  • TGA 2.0-bestanden zijn uniek omdat hun bestandshandtekening ('TRUEVISION-XFILE.') helemaal aan het einde van het bestand staat in plaats van aan het begin.
  • TGA werd gebruikt voor texturen door sommige game-engines uit de jaren negentig, waaronder titels van id Software en Valve.

Veelgestelde technische vragen

Waarom hielden game-ontwikkelaars van het TGA-formaat?

Omdat TGA-bestanden niet-gecomprimeerd waren of eenvoudige RLE gebruikten, konden game-engines 32-bits texturen en alfatransparantie zonder trage decompressie direct in het videogeheugen laden.

Hoe herken ik een TGA-bestand zonder bestandshandtekening (magic bytes) op byte 0?

Moderne TGA 2.0-bestanden eindigen met de ASCII-tekenreeks 'TRUEVISION-XFILE.' in de laatste 26 bytes van het bestand.

Hoe kan ik TGA naar PNG converteren?

TGA-bestanden kunnen een alfakanaal bevatten dat wordt gebruikt door game-texturen. Converteer naar PNG om de transparantie te behouden, of naar JPEG voor een kleinere, ondoorzichtige afbeelding; deze converter werkt in uw browser.