TGA

TGA (též označovaný jako Targa) je jeden ze souborových formátů pro ukládání rastrové počítačové grafiky. Formát vytvořila společnost Truevision (nyní Pinnacle Systems), která se specializovala na výrobu obrazových adaptérů, tzv. videograbberů. Grabberů typu Targa existovalo několik typů a pro každý byla vytvořena vlastní varianta grafického formátu TGA (lišily se především v počtu bitů na pixel). Tyto videoadaptéry byly první pro IBM PC, které podporovaly true color.

Nejčastěji používané nekomprimované typy zápisu dat jsou tyto:

  • 1 bit na pixel
  • 8 bitů na pixel, 24bitová paleta
  • 8 bitů na pixel, 256 odstínů šedi
  • 15/16 bitů na pixel (RGB), u 16 bitů na pixel je nejvyšší bit použit pro průhlednost
  • 24 bitů na pixel (RGB)
  • 32 bitů na pixel (RGB + alfa kanál)

Rastrový obraz (bitmapa) může být v grafických souborech typu TGA uložen různými způsoby, a to buď v komprimované, nebo volné (nekomprimované) formě. Komprimované obrazové soubory typu TGA se dnes již téměř nepoužívají, neboť výhoda formátu je právě v jednoduché manipulaci s nekomprimovaným TGA. Pravděpodobně nejpoužívanější je nekomprimovaná bitmapa uložená v true color (32bitové) paletě. Je však možné uložit i bitmapu ve stupních šedi (greyscale), či bitmapu obsahující indexovanou barevnou paletu (jako GIF) místo přímých barev. Za zmínku stojí podpora bitmap uložených ve stupních šedi, které jsou často používány při ukládání snímků získaných při počítačové tomografii. (Pro převod na snímek s paletou pro další zpracování obrazu je tento formát zcela nevhodný).

Informace v souborech (tzv. hlavička) typu TGA jsou rozděleny do sekcí, přičemž pouze první je povinná – jde o informační hlavičku, jejíž velikost je vždy rovna 18 bajtům. Jsou zde umístěny základní informace o obraze, zejména jeho rozlišení, způsob kódování barev pixelů a orientace obrázku. Hlavičku je možné srovnat například s hlavičkou souboru BMP, jejíž velikost je 54 bajtů, a neobsahuje navíc žádné další důležité informace, spousta informací naopak chybí. Při prohledání hlavičky TGA však zjistíme, že i ona obsahuje nadbytečné údaje a bylo by možné ji o pár bitů zkrátit.

Hlavička souboru ve formátu TGA

Offset Velikost (byte) Název Význam položky
0 1 byte IDLength velikost obrazového identifikátoru
1 1 byte ColorMapType typ barevné mapy
2 1 byte ImageType typ obrázku
3 2 byte CMapStart počátek barevné palety
5 2 byte CMapLength délka barevné palety
7 1 byte CMapDepth bitová hloubka položek barevné palety
8 2 byte XOffset X-ová souřadnice počátku obrázku
10 2 byte YOffset Y-ová souřadnice počátku obrázku
12 2 byte Width šířka obrázku uvedená v pixelech
14 2 byte Height výška obrázku uvedená v pixelech
16 1 byte PixelDepth počet bitů na jeden pixel (bitová hloubka)
17 1 byte ImageDescriptor popisovač obrázku

Bitmapy je možné komprimovat několika způsoby, typicky se používá jednoduché kódování RLE (Run Length Encoding), které může být kombinované s Huffmanovým kódem. V porovnání s komprimací pomocí algoritmů LZ77 a LZW (použité například v GIF a PNG) je však RLE i Huffmanovo kódování pro většinu snímků méně účinné, i když mnohem jednodušší na implementaci. Kromě vlastních barev jednotlivých pixelů je možné ukládat i alfa kanál; v něm může být průhlednost popsána buď jedním bitem (podobně jako v případě grafického formátu GIF), nebo bity osmi (256 stupňů průhlednosti).

Formát je často používán pro tvorbu realistické grafiky, využívají jej programy pracující s lokálním osvětlovacím modelem, je vhodný pro ukládání a načítání textur. Následuje ukázka použití TGA formátu v několika programech a PC hrách.


Developed by StudentB