Truevision TGA

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2018. október 3-án felülvizsgált verziótól ; az ellenőrzések 7 szerkesztést igényelnek .
Truevision TGA
Kiterjesztés .tga, .tpic, .vda, .vstvagy.icb
MIME típusú image/x-targa és image/x-tga
Fejlesztő Truevision [d] [1]
Formátum típusa raszteres grafika

A Truevision TGA (TGA) egy raszteres grafikai formátum. Eredetileg a Truevision Inc. hozta létre. saját gyártmányú grafikus adapterekhez még 1984 -ben , de később népszerűvé vált számos platformon, különösen a videófeldolgozás és az animáció területén.

Az ilyen formátumú fájlok kiterjesztése általában .tga a régebbi DOS rendszereken , vagy .tpic a Macintosh számítógépeken . A formátum 1-32 bit / pixel színmélységet támogat . Támogatja az alfa csatornákat , az RLE tömörítést .

A fájlszerkezet áttekintése

A TGA képfájl öt zónából áll, amelyek mindegyike egy vagy több rögzített vagy változó hosszúságú mezőt tartalmaz:

Az utolsó három zónát 1989 szeptemberében adták hozzá a formátumspecifikációhoz. Emiatt előfordulhat, hogy az e dátum előtt írt szoftverrel létrehozott fájlok nem tartalmazzák ezeket a zónákat. Annak megállapításához, hogy egy fájl az eredeti vagy az új verzió-e, olvassa el a fájl utolsó 26 bájtját. Az új verzióban ezek a bájtok fogják tartalmazni a fájl láblécét, amelyek 8-23. bájtjai a "TRUEVISION-XFILE" ASCII karakterkészletet tartalmazzák. Ennek a sornak a jelenléte azt jelenti, hogy a fájl tartalmazhat (3) és (4) zónákat.

Maga az alagsor a következő szerkezettel rendelkezik (byte - cél):

Részletes leírás a cikk végén.

Fájl fejléce

Azonosító hossza (1 bájt)

Meghatározza az Azonosító mezőben található bájtok számát. A karakterek maximális száma 255. A nulla érték azt jelzi, hogy a fájl nem tartalmaz Azonosító mezőt.

Színes térképtípus (1 bájt)

Meghatározza a fájlban szereplő színtérkép típusát. Jelenleg (a leírás 1991. januári) két érték van meghatározva - 0 (a fájl nem tartalmaz színtérképet) és 1 (a fájl színtérképet tartalmaz). Ennek a mezőnek az első 128 értéke Truevision használatra van fenntartva, a többit a szoftverfejlesztők használhatják.

A True-Color képek általában nem használnak színtérképet, de egyes alkalmazások palettainformációkat vagy egyéb adatokat tárolnak ebben a mezőben. Javasoljuk, hogy ellenőrizze az Image Type (Képtípus) mező értékét (lásd a következő bekezdésben), hogy megbizonyosodjon arról, hogy a fájl tudja használni ezeket az adatokat. Ellenkező esetben ez a mező figyelmen kívül hagyható.

Fájl írásakor vagy mentésekor kompatibilitási okokból ezt a mezőt nulla értékkel kell kitölteni. Az új fájlformátumban külön zóna található a fejlesztői adatok tárolására.

Képtípus (1 bájt)

A TGA fájl különböző színmélységű képek mentésére használható. Hét típusú kép van meghatározva:

Jelentése Leírás Használt színes térkép Tömörítést alkalmaznak
0 Nincs kép Nem Nem
egy Kép palettával Igen Nem
2 truecolor kép Nem Nem
3 monokróm kép Nem Nem
9 Kép palettával Igen Igen
tíz truecolor kép Nem Igen
tizenegy monokróm kép Nem Igen

Az első 128 érték a Truevision számára van fenntartva, a többit a fejlesztők használhatják.

Színes térkép leírása (5 bájt)

Ez a mező és alszakaszai a színtérképet írják le (ha van). Ha a Color Map Type mezőben (lásd fent) nulla van, akkor ennek az öt bájtnak is nullákat kell tartalmaznia.

Terület A méret Leírás
Az első elem indexe 2 bájt A paletta kezdő elemére mutat.
Színkártya hossza 2 bájt Meghatározza a palettaelemek számát.
Színes térképelem mérete 1 bájt A palettaelemenkénti bitek száma. Az általánosan használt értékek a 15, 16, 24 vagy 32.

Kép leírása (10 bájt)

Ez a mező a kép méreteit, képernyőpozícióját és pixelmélységét írja le.

Terület A méret Leírás
A kép X pozíciója 2 bájt Megadja a kép bal alsó sarkának abszolút vízszintes koordinátáját.
A kép helyzete Y 2 bájt Megadja a kép bal alsó sarkának abszolút függőleges koordinátáját.
Kép szélessége 2 bájt A kép szélessége pixelben.
Kép magassága 2 bájt A kép magassága pixelben.
Szín bitmélység 1 bájt Megadja a pixelenként használandó bitek számát.
Képleíró 1 bájt A mező 3-0 bitjei határozzák meg az alfa csatorna bitek számát.

Az 5. és 4. bit határozza meg a pixeladatok átvitelének sorrendjét a fájlból a képernyőre. A 4. bit jobbról balra, az 5. bit felülről lefelé haladva van beállítva. A 7. és 6. bitet 0-ra kell állítani a kompatibilitás érdekében.

Kép/színtérkép

Azonosító (változó hosszúságú)

Ez a mező a fájlazonosító, és 0 és 255 bájt közötti hosszúságú lehet.

Színes térképadatok (változó hosszúságú)

Ha a (fentebb leírt) színtérkép típusa nullát tartalmaz, ez a mező kimarad. A Színtérkép elem mérete és a Színtérkép hossza mezők lehetővé teszik a mező méretének meghatározását. A színtérkép minden eleme egész számú bájtot foglal el; minden színcsatorna MIN( Color Map Element Size /3 , 8) bitet foglal el, így 24-es elemméret esetén a három színcsatorna mindegyike 8 bitet vesz igénybe, ugyanúgy, mint a 32 bites elemek esetében.

Képadatok (változó hosszúságú)

Ez a mező (szélesség*magasság) képpontokat tartalmaz. Minden pixel a következő formátumok egyikében határozza meg a képadatokat: egyetlen színtérkép elemindex, egyedi értékek minden színcsatornához, vagy egyedi intenzitásindexek a közvetlen színformátumhoz.

Fejlesztői zóna (változó hosszúságú)

Ez a zóna tetszőleges méretű lehet, és a szoftverfejlesztő belátása szerint bármilyen típusú információt tartalmazhat, bár javasolt, hogy kizárólag olyan specifikus információk tárolására szolgáljon, amelyek nem a szoftver többi részére vonatkoznak és nem szerepelnek a formátum specifikációjában. Mivel egy fájl egynél több fejlesztői zónát is tartalmazhat, van egy zónák listája, amely a zónákban található mezők "térképét" tartalmazza. A Fájlláb 4-7 . bájtja tartalmazza a fájl elejétől a fejlesztői zónák listájának elejéig tartó eltolást. Ha ezek a bájtok null értéket tartalmaznak, akkor a zónák listája és maguk a zónák nem szerepelnek a fájlban.

Fejlesztői zónák listája

Meghatározza a listában található címkék számát. Az érték utáni lista többi része címke-eltolás méretű sorozatokat tartalmaz.

Minden címke 0 és 65535 közötti értéket tartalmazhat. A 0-32767 értékeket a fejlesztők használhatják, a többi a Truevision számára van fenntartva.

Olyan értéket tartalmaz, amely megadja az eltolást a fájl elejétől a címke által hivatkozott mező elejéig.

Megadja a címke által hivatkozott mező méretét.

Expansion Zone

A bővítési zóna eltolása a fájl láblécében tárolódik. Ha az eltolás nulla, akkor a fájl nem tartalmaz kiterjesztési zónát.

Kiterjesztési zóna mérete (2 bájt)

Tartalmazza a zóna hosszát bájtban. A formátum 2.0-s verziója esetén ennek az értéknek 495-nek kell lennie.

A szerző neve (41 bájt)

Hely egy ASCII karakterlánc számára legfeljebb 40 karakter és egy null byte számára. Ha egy mezőt nem használ, akkor nullákkal vagy szóközökkel tölti ki. Az utolsó karakternek mindig nullának kell lennie.

A szerző megjegyzése (324 bájt)

Hely négy sor számára, amelyek mindegyike egy null byte-ot és legfeljebb 80 jelentős karaktert tartalmazhat. A fel nem használt terület nullákkal vagy szóközökkel van kitöltve, minden sor 81. bájtjának nullának kell lennie.

Dátum és idő (12 bájt)

Ez a mező hat 2 bájtos értékből álló sorozatot tartalmaz a kép mentésének dátumához és időpontjához (hónap-nap-év-óra-perc-másodperc). Ha ezt a mezőt nem használja, akkor nullákkal lesz kitöltve.

Munka neve/azonosítója (41 bájt)

Hely 40 ASCII karakter és egy null byte számára.

Munkaidő (6 bájt)

A Dátum/Idő mezőhöz hasonlóan három érték tárolására szolgáló hely (óra-perc-másodperc).

Szoftverazonosító (41 bájt)

A fájl létrehozásához használt szoftver ID karakterláncának helye.

Szoftververzió (3 bájt)

A mező két összetevőt tartalmaz - egy 2 bájtos számot és egy ASCII karaktert. A fájl létrehozásának szoftververziójának mentési helye.

Kulcsszín (4 bájt)

4 bájtos érték, amely az alfa csatorna kulcsszínét határozza meg ARGB formátumban. Ha a kép nem tartalmaz alfa csatornát, akkor az első bájt értéke nullára lesz állítva. A kulcsszín határozza meg a háttérszínt vagy az "átlátszó színt". Ha a mezőt nem használja, akkor nullákkal kell kitölteni.

Pixel képarány (4 bájt)

Két 2 bájtos értéket tartalmaz, amelyek meghatározzák a pixel szélességét és magasságát. Az egyenlő, nem nulla értékek egy négyzetes pixelt határoznak meg, a második érték nulla azt jelenti, hogy nincs megadva arány.

Gamma (4 bájt)

Két 2 bájtos értéket tartalmaz, amelyeket számlálóként és nevezőként használnak a tört gammaérték kiszámításakor. Az osztás eredményének 0 és 10,0 között kell lennie, és csak egy tizedesjegy lehet. Ha nem használja ezt a mezőt, akkor mindkét értéknek egyenlőnek kell lennie egymással (hogy osztás után 1,0 legyen), vagy a második értéknek nullának kell lennie.

Színkorrekciós eltolás (4 bájt)

Tartalmazza az eltolást bájtokban a fájl elejétől a korrekciós táblázatig. A táblázat bárhol elhelyezhető a kép adatmezője után és a fájl vége előtt. Ha a kép nem igényel javítást, akkor ez az érték nulla.

Postai bélyeg eltolás (4 bájt)

A fájlban található kép kicsinyített másolatához képest eltolást tartalmaz. A kép a Scan Line Table (lásd lent) és a Fájlláb közé van írva.

Scan Line Offset (4 bájt)

Eltolás a Vizsgálati vonalak táblázat elejéhez.

Attribútum típusa (1 bájt)

Ez az érték határozza meg a képpel együtt mentett alfa-csatorna adatok típusát.

Példa egy előre szorzott alfa csatornára. Az alfa-csatorna adatai az egyes pixelek átlátszatlanságának mértékét jelzik (amikor az egyik kép egy másik képet fed), ahol a 0 azt jelzi, hogy a pixel teljesen átlátszó, az 1 pedig azt, hogy a képpont teljesen átlátszatlan (feltételezve, hogy a komponensek értékei normalizálva vannak). A négyes számok (a, r, g, b) értékekkel (0,5, 1, 0, 0) azt jelzik, hogy a pixel tiszta vörös, átlátszósága 0,5. Különféle okok miatt (beleértve az összetett képek létrehozását) jobb, ha az egyes színösszetevőket előre megszorozzuk az alfa csatorna értékével. Ez a szorzás a következő négy számot adja (0,5, 0,5, 0, 0).

A 4-es érték az Attribútumtípus mezőben (24-es mező) azt jelzi, hogy a pixel színösszetevői már méretezve vannak az alfa-csatorna értékével. Az előre szorzott értékek részleteit lásd a SIGGRAPH 1984 konferencia anyagában.

Beolvasási vonaltábla

A táblázatnak bájtokban eltolásokat kell tartalmaznia a fájl elejétől a vizsgálati sorok elejéig, a megfelelő sorrendben (például fentről lefelé/alulról felfelé).

Képes postai bélyeg

A fájlban található kép kicsinyített másolata. A teljes mérettel azonos formátumban mentve, de tömörítési módszerek használata nélkül. Az első bájt a másolat szélességét pixelben, a második a magasságát tartalmazza. A Truevision nem javasolja a 64x64 pixelnél nagyobb képek használatát.

Színkorrekciós táblázat (2 KB)

A táblázat 256x4 2 bájtos értéket tartalmaz, mindegyik négy ilyen érték sorozata ARGB csatornáknak felel meg.

Pince

Az aláírás utolsó előtti karakterének egy "." (pont) karakternek kell lennie, ellenkező esetben a fájl nem ismerhető fel érvényes TGA-fájlként.

A fejlesztőnek nem kell olvasnia, írnia vagy használnia a kiterjesztési vagy fejlesztői zónákat, de még akkor is, ha nincsenek használatban, ajánlatos a láblécet belefoglalni a fájlba, és nullákat adni a nem használt zónák eltolásaként.

Jegyzetek

  1. http://www.digitalpreservation.gov/formats/fdd/fdd000179.shtml

Linkek