Truevision TGA (.tga)
Spesifikasjon StandardTGA (Targa) er et rasterformat knyttet til Truevisions TARGA-videokort og ble brukt i enkelte arbeidsflyter for grafikk og spillressurser, særlig på 1990- og 2000-tallet.
Konverter TGA til PNG
Gratis TGA til PNG-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer TGA-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer TGA-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
Ingen fast signatur (TGA-headerfeltene varierer)ASCII-REPRESENTASJON: Ingen fast signatur
Standardisering: Spesifikasjon for Truevision TGA-filformat, versjon 2.0
Tekniske spesifikasjoner
| Beholderarkitektur | Fast 18-byte header fulgt av bilde-ID, fargekart, rasterpikseldata og valgfri v2.0-bunntekst |
| Komprimering | Ukomprimerte rå skannelinjer eller tapsfri pakkebasert koding med rekkelengder (RLE) |
| Bytterekkefølge | Little-endian (Intel x86) |
| Fargerom | Enhets-RGB |
| Kanaler og struktur | 8-bits gråtone, 16-bits RGB (5-5-5-1), 24-bits RGB eller 32-bits RGBA med alfa |
| Maks. dimensjoner | 65 535 x 65 535 piksler (16-bits dimensjonsfelt) |
| Gjennomsiktighet | Full gjennomsiktighet med 8-bits alfakanal (i 32-bits modus) eller 1-bits alfa (i 16-bits modus) |
| Strømming og progressiv visning | Sekvensiell strømming av skannelinjer; støtter retning ovenfra og ned eller nedenfra og opp |
Teknisk sammenligningsmatrise: TGA sammenlignet med konkurrenter
| Teknisk attributt | TGA (Gjeldende) | PNG | BMP | DDS |
|---|---|---|---|---|
| Bruk av videospilltekstur | Brukt av enkelte spillmotorer fra 1990- og 2000-tallet | Moderne 2D-grensesnitt og nettressurser | Eldre Windows-bitmap | Direktesendt moderne komprimert GPU-format fra DirectX |
| Støtte for alfakanal | Ren 8-bits alfa (32-bits modus) | Ren 8-bits alfa | Begrenset 32-bits alfa | DXT/BC-komprimert alfa |
| Komprimeringsalgoritme | Ukomprimert eller pakkebasert RLE | Tapsfri Deflate-komprimering; besparelsen varierer med bildeinnholdet | Ukomprimert / RLE | Direkte GPU-blokkompresjon (BC1-BC7) |
| Plassering av signatur | Bunntekst på 26 byte ('TRUEVISION-XFILE.') | Byte 0 hode ('‰PNG....') | Byte 0 hode ('BM') | Byte 0 hode ('DDS ') |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Bildet gjengis opp ned eller speilvendt horisontalt.
Underliggende årsak: Bildedeskriptorbiter (bit 4 og 5 i byte 17) feiltolket eller invertert av avkoderen.
Utbedring: Slå av/på vertikale/horisontale speilingsflagg eller konverter ved hjelp av File2File.app TGA-omformer.
Sikkerhetsanalyse og angrepsvektorer mot parsere
TGA-avkodere behandler pakkebaserte RLE-strømmer der feilaktige løpelengdeverdier kan utløse skriving til heap-minnet utenfor grensene.
Kjente angrepsvektorer
- RLE-pakkelengde som overskrider grensene for bufferet til måleskannelinjen.
- Bufferoverløp ved lesing av fargekartoppføringer som overstiger den oppgitte fargekartdybden.
- Heltallsoverløp under minnebufferallokering for bredde * høyde * (bpp / 8).
Anbefalte sikkerhetstiltak: Håndhev streng grensekontroll for hver skannelinje under utpakking av RLE-pakker.
Historisk opprinnelse og milepæler
Viktige fordeler
- Ekstremt enkel avkodingsarkitektur tillater direkte lasting til GPU-teksturminne med minimal prosessorbelastning (CPU).
- TGA kan lagre 24-bit RGB- eller 32-bit RGBA-data, inkludert alfakanal, og var derfor nyttig i enkelte arbeidsflyter for spillteksturer, sprites og dekaler.
- Støtter både ukomprimert lagring og lett tapsfri RLE-komprimering.
Tekniske begrensninger og ulemper
- Større filstørrelser enn moderne komprimerte teksturformater som DDS, KTX2 eller PNG.
- Mangler innebygd fargeprofilhåndtering (ingen innebygde ICC-profiler).
- Originale v1.0 TGA-filer mangler en standardisert magisk byte på byte 0 (identifiseres via headerfelter og bunntekst).
Interessante tekniske fakta
- TGA ble opprettet for å fange opp kringkastingsvideobilder på IBM PC før standard PC-skjermer i det hele tatt kunne vise 24-bits farger.
- TGA 2.0-filer er unike fordi deres magiske signatur ('TRUEVISION-XFILE.') er lagret helt på slutten av filen i stedet for i begynnelsen.
- TGA ble brukt til teksturer i enkelte spillmotorer fra 1990-tallet, blant annet spill fra id Software og Valve.
Ofte stilte tekniske spørsmål
Hvorfor elsket spillutviklere TGA-formatet?
Fordi TGA-filer var ukomprimerte eller enkle RLE, noe som gjorde at spillmotorer kunne laste inn 32-biters teksturer og alfagjennomsiktighet direkte inn i videominnet uten langsom dekompresjon.
Hvordan identifiserer jeg en TGA-fil uten magiske byte på byte 0?
Moderne TGA 2.0-filer slutter med ASCII-strengen 'TRUEVISION-XFILE.' i de siste 26 bytene av filen.
Hvordan kan jeg konvertere TGA til PNG?
TGA-filer kan inneholde alfakanal brukt av spillteksturer. Konverter til PNG for å bevare gjennomsiktighet eller til JPEG for et mindre, ugjennomsiktig bilde; denne konverteren kjører i nettleseren.
Relaterte konverteringspar for TGA
Dekod 24-bits og 32-bits Truevision TGA-spillteksturer og rastergrafikk til det universelle, tapsfrie PNG-formatet.
Gjør en TGA-tekstur eller -sprite om til en PDF på én side for en designgjennomgang. Siden viser dekodede piksler, ikke redigerbare TGA-data eller TGA-ens pakkekoding.