Truevision TGA (.tga)
Truevision StandaardTruevision 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:
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
| Containerarchitectuur | Vaste header van 18 bytes, gevolgd door afbeelding-ID, kleurtabel, rasterpixelgegevens en optionele v2.0-footer |
| Compressie | Niet-gecomprimeerde ruwe scanlines of verliesvrije, op pakketten gebaseerde Run-Length Encoding (RLE) |
| Bytevolgorde (endianness) | Little-Endian (Intel x86) |
| Kleurruimten | Apparaat-RGB |
| Kanalen en structuur | 8-bits grijswaarden, 16-bits RGB (5-5-5-1), 24-bits RGB of 32-bits RGBA met alfa |
| Maximale afmetingen | 65.535 x 65.535 pixels (dimensievelden van 16 bits) |
| Transparantie | Volledige 8-bits alfakanaaltransparantie (in 32-bits modus) of 1-bits alfa (in 16-bits modus) |
| Streaming en progressief | Sequentiële scanlinestreaming; ondersteunt oriëntatie van boven naar beneden of van beneden naar boven |
Technische vergelijkingsmatrix: TGA versus concurrenten
| Technisch kenmerk | TGA (Huidig) | PNG | BMP | DDS |
|---|---|---|---|---|
| Gebruik voor videogametexturen | Gebruikt door sommige game-engines uit de jaren negentig-2000 | Moderne 2D-gebruikersinterfaces en webassets | Verouderde Windows-bitmap | Modern gecomprimeerd GPU-formaat van DirectX |
| Ondersteuning voor alfakanaal | Zuivere 8-bits alfa (32-bits modus) | Zuivere 8-bits alfa | Beperkte 32-bits alfa | DXT/BC-gecomprimeerde alfa |
| Compressiealgoritme | Niet-gecomprimeerd of RLE met pakketten | Verliesvrije Deflate-compressie; besparing varieert per afbeeldingsinhoud | Niet-gecomprimeerd / RLE | Directe GPU-blokcompressie (BC1-BC7) |
| Locatie van de bestandshandtekening | Footer 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
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.
Gerelateerde conversieparen voor TGA
Decodeer 24-bits en 32-bits Truevision TGA-gametexturen en rasterafbeeldingen naar het breed ondersteunde, verliesvrije PNG-formaat.
Zet een TGA-textuur of -sprite om in een PDF van één pagina voor een ontwerpbespreking. De pagina toont gedecodeerde pixels, geen bewerkbare TGA-gegevens of pakketcodering.