Truevision TGA (.tga)
Truevision SzabványA TGA (Targa) a Truevision TARGA videorögzítő kártyáihoz kapcsolódó raszteres formátum, amelyet egyes grafikai és játékeszköz-munkafolyamatokban használtak, különösen az 1990-es és 2000-es években.
TGA konvertálása erre: PNG
Ingyenes, böngészőben használható TGA-konverter PNG formátumba. A fájlokat azonnal konvertálhatja az eszközén.
Vizsgálat és metaadatok
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) TGA fájlokat:
Bájtszintű fejlécaláírás (fájlazonosító bájtok)
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) TGA fájlokat:
HEX ALÁÍRÁS (ELTOLÁS 0):
Nincs rögzített aláírás (a TGA fejlécmezői változóak)ASCII ÁBRÁZOLÁS: Nincs rögzített aláírás
Szabványosítás: Truevision TGA File Format Specification v2.0
Műszaki specifikációk
| Konténer architektúra | 18 bájtos rögzített fejléc, amelyet képazonosító, színtérkép, raszteres képpontadatok és opcionális 2.0-s záróelem követ |
| Tömörítés | Tömörítetlen nyers pásztázási sorok vagy veszteségmentes, csomagalapú futamhossz-kódolás (RLE) |
| Bájtsorrend | kis bájtsorrendű (Intel x86) |
| Színterek | Device RGB |
| Csatornák és struktúra | 8 bites szürkeárnyalatos, 16 bites RGB (5-5-5-1), 24 bites RGB vagy 32 bites RGBA alfa-csatornával |
| Max. méretek | 65,535 x 65,535 képpont (16 bites méretmezők) |
| Átlátszóság | Teljes, 8 bites alfa-csatorna (32 bites módban) vagy 1 bites alfa (16 bites módban) |
| Streaming és progresszív | Soronkénti adatfolyam; felülről lefelé és alulról felfelé irányú tárolást is támogat |
Műszaki összehasonlító mátrix: TGA vs. versenytársak
| Technikai attribútum | TGA (Jelenlegi) | PNG | BMP | DDS |
|---|---|---|---|---|
| Videojáték-textúrák használata | Néhány 1990-es és 2000-es évekbeli játékmotor használta | Modern 2D UI és webes eszközök | Windows örökölt bitkép | Modern, DirectX-alapú, tömörített GPU-formátum |
| Alfa-csatorna-támogatás | Tiszta 8 bites alfa (32 bites mód) | Tiszta 8 bites alfa | Korlátozott 32 bites alfa | DXT/BC tömörített alfa |
| Tömörítési algoritmus | Tömörítetlen vagy Packet RLE | Veszteségmentes Deflate-tömörítés; a méretcsökkenés a kép tartalmától függ | Tömörítetlen / RLE | Közvetlen GPU blokktömörítés (BC1-BC7) |
| Az aláírás helye | 26 bájtos lábléc ('TRUEVISION-XFILE.') | 0. bájtos fejléc ('‰PNG....') | 0. bájtos fejléc ('BM') | 0. bájtos fejléc ('DDS ') |
Gyakori sérülési módok és hexadecimális helyreállítási útmutató
A kép fejjel lefelé vagy vízszintesen tükrözve renderelődik.
Kiváltó ok: A kép leíró bitjeit (17. bájt 4. és 5. bitje) rosszul olvasta be vagy megfordította a dekóder.
Helyreállítás: Függőleges/vízszintes tükrözési jelzők váltása vagy konvertálás a File2File.app TGA konverterrel.
Biztonsági elemzés és elemző (parser) támadási vektorok
A TGA dekóderek csomagalapú RLE streameket dolgoznak fel, ahol a hibás futáshossz-számlálók határokon túli kupac-írásokat (heap write) válthatnak ki.
Ismert támadási vektorok
- Az RLE csomag hossza meghaladja a célpásztázási sor (scanline) puffer határát.
- Puffertúlcsordulás színpaletta bejegyzések olvasásakor, amikor azok meghaladják a deklarált színpaletta-mélységet.
- Egész szám túlcsordulása a szélesség * magasság * (bpp / 8) memóriapuffer lefoglalása során.
Ajánlott védekezési módszerek: Kényszerítsen ki szigorú pásztázási soronkénti határellenőrzést az RLE csomagok kibontásakor.
Történeti háttér és mérföldkövek
Főbb előnyök
- A rendkívül egyszerű dekódolási architektúra minimális CPU-terheléssel teszi lehetővé a közvetlen GPU textúramemória-betöltést.
- A TGA 24 bites RGB- vagy 32 bites RGBA-adatokat is tárolhat, alfa csatornával együtt, ezért hasznos volt egyes játéktextúra-, sprite- és matrica-munkafolyamatokban.
- Támogatja a tömörítetlen és a könnyű, veszteségmentes RLE tömörítést is.
Technikai korlátok és hátrányok
- Nagyobb fájlméretek a modern tömörített textúraformátumokhoz, például a DDS-hez, a KTX2-höz vagy a PNG-hez képest.
- Hiányzik a natív színprofil-kezelés (nincsenek beágyazott ICC profilok).
- Az eredeti v1.0 TGA fájlokból hiányzik a szabványos magic byte a 0. bájtnál (ezt a fejlécmezők és a lábléc alapján azonosítják).
Érdekes technikai tudnivalók
- A TGA-t azért hozták létre, hogy sugárzott videókereteket rögzítsenek IBM PC-n, mielőtt a szabványos PC monitorok egyáltalán képesek lettek volna 24 bites színt megjeleníteni.
- A TGA 2.0 fájlok azért egyediek, mert a magic aláírásuk ('TRUEVISION-XFILE.') a fájl legvégén található, nem pedig az elején.
- Az 1990-es évek egyes játékmotorjai TGA-t használtak textúrákhoz, köztük az id Software és a Valve játékai.
Gyakran Ismételt Műszaki Kérdések
Miért szerették a játékfejlesztők a TGA formátumot?
Mert a TGA fájlok tömörítetlenek vagy egyszerű RLE tömörítésűek voltak, így a játékmotorok a lassú kitömörítést mellőzve közvetlenül a videómemóriába tölthették a 32 bites textúrákat és az alfa-átlátszóságot.
Hogyan azonosíthatok egy TGA fájlt, ha a 0. bájtnál nincsenek magic byte-ok?
A modern TGA 2.0 fájlok a fájl utolsó 26 bájtjában a 'TRUEVISION-XFILE.' ASCII karakterlánccal végződnek.
Hogyan konvertálhatok TGA-t PNG-be?
A TGA-fájlok tartalmazhatnak játéktextúrákban használt alfa-csatornát. Az átlátszóság megőrzéséhez alakítsa PNG-be, kisebb, átlátszatlan képhez pedig JPEG-be; a konverter a böngészőben fut.
Kapcsolódó TGA konverziós párok
Dekódolja a 24 és 32 bites Truevision TGA játéktextúrákat és rasztergrafikákat univerzális, veszteségmentes PNG formátumra.
Alakítson át egy TGA-textúrát vagy sprite-ot egyoldalas PDF-fé tervfelülvizsgálathoz. Az oldal a dekódolt képpontokat mutatja, nem a szerkeszthető TGA-adatokat vagy csomagkódolást.