Alt om TGA-filer
TGA-formatet (Truevision Graphics Adapter)
TGA (Truevision Graphics Adapter), ofte også kalt TARGA (Truevision Advanced Raster Graphics Adapter), er et rastergrafikkformat for digitale bildedata. Formatet ble ut[1]viklet i 1984 av AT&T; EPICenter i samarbeid med Island Graphics Inc. og fungerte som det opprinnelige filformatet for TARGA- og VISTA-grafikkortene – de første grafikkortene for IBM-kompatible PC-er med støtte for High Color og True Color.
Utvikling og standardisering
AT&T; EPICenter var et internt spin-off-selskap fra AT&T; for markedsføring av nye framebuffer-teknologier. Utviklerne Brad Pillow og Bryan Hunt skapte TGA-formatet som et maskinvareuavhengig alternativ til de kortspesifikke formatene VDA og IC[1]B. Etter et ledelsesoppkjøp i 1987 ble EPICenter omdannet til selskapet Truevision Inc.[1]
Den nåværende versjonen 2.0 ble ut[2]gitt av Truevision i januar 1991. Denne versjonen utvidet det opprinnelige formatet med valgfrie strukturer: Extension Area med metadata (forfatter, dato, gamma-verdi osv.), Developer Area for applikasjonsspesifikke data og en File Footer for versjonsgjenkjen[2]ning.
Teknisk struktur
Grunnstrukturen til en TGA-fil består av en 18-bytes header, etterfulgt av valgfri bildeinformasjon, fargepaletten (for indekserte bilder) og selve bilded[2]ataene. TGA-filer bruker Little-Endian-byte-rekkeføl[2]ge.
Headeren definerer:
Bildetype (color-mapped, true-color, grayscale – henholdsvis ukomprimert eller RLE-komprimert)
Bildedimensjoner og posisjon
Bits per piksel (8, 16, 24 eller 32 bit)[2]
Antall attributt-/alfabiter
Pikselrekkefølge (bottom-up/top-down, left-right/right-left) og interleaving-modus (i praksis alltid non-interleaved)[2]
Støttede bildetyper
TGA definerer tre grunnleggende typer[2]:
Pseudo-Color (Type 1): Hver pikselverdi er en indeks i en fargepalett med programmerbare RGB-verdier.
True-Color (Type 2): Hver pikselverdi inneholder direkte RGB-komponentene. Ved 32 bit kommer 8 bit til for alfakanalen.
Grayscale (Type 3): Hver pikselverdi representerer en gråverdi uten fargepalett.
Alle tre typene finnes i tillegg som RLE-komprimerte varianter (Type 9, 10, 11)[2].
RLE-komprimering
Den valgfrie Run-Length-Encoding-komprimeringen fungerer med to pakkety[2]per:
Run-Length-pakker: En header-byte (bit 7 = 1) og en enkelt pikselverdi som gjentas. De nederste 7 bitene koder antallet minus 1 (1–128 piksler per pakke).
Raw-pakker: En header-byte (bit 7 = 0) etterfulgt av det tilsvarende antallet forskjellige pikselverdier.
Viktig: I versjon 2.0 må RLE-pakker ikke gå[2] utover linjegrensene. Versjon 1.0 tillot dette, og derfor må TGA-lesere støtte begge variantene. I praksis ser jeg også RLE-pakker som strekker seg utover linjegrensene i versjon 2.0.
Extension Area (versjon 2.0)
Det valgfrie utvidelsesområdet omfatter 495 byte med standardiserte felt[2]:
Forfatternavn (40 tegn)
Forfatterkommentarer (4×80 tegn)
Dato-/tidsstempel (6 SHORT-verdier for måned, dag, år, time, minutt, sekund)
Job Name/ID (40 tegn)
Job Time (akkumulert tid i timer, minutter, sekunder)
Software ID og versjon
Key Color (transparensfarge/bakgrunnsfarge)
Pixel Aspect Ratio
Gamma Value
Peker på Color Correction Table, Postage Stamp Image og Scan Line Table
Versjonsgjenkjenning
TGA 2.0-filer avsluttes med en 26-byte-[2]footer. Bytene 8–23 inneholder ASCII-signaturen «TRUEVISION-XFILE», etterfulgt av et punktum (byte 24) og en null-terminator (byte 25). Hvis denne signaturen mangler, er det snakk om originalformatet (versjon 1.0).
Filendelser
Den anbefalte standardendelsen er .tga for DOS, UNIX og Windows[2]. På klassiske Macintosh-systemer brukes typekoden TPIC. Historisk sett har det også eksistert .vda, .icb og .vst for spesifikke grafikkorttyper[2].
Tekniske særtrekk
Sammenlignet med andre 24-biters formater er TGA-strukturen enkel (men det finnes også unntak): En ukomprimert 24-biters TGA består av en 18-byte-header, valgfritt en bilde-ID (0–255 byte, lengde definert i byte 0 i headeren)[2], valgfritt fargekartdata og de komprimerte RGB-bildedataene. BMP krever linjeutfylling til 4-byte-grenser, mens TIFF og PNG som metadatabeholdere ikke har en fast posisjon for bildedata.
Bildeoppløsningene til TGA-filer tilsvarer tradisjonelt NTSC- og PAL-videoformatene, siden de opprinnelige TARGA-kortene var[1] utviklet for profesjonell datagrafikk og videoredigering. Andre oppløsninger er selvfølgelig mulige.
Bruksområder
TGA brukes fortsatt i video- og animasjonsbransjen, da målgruppen primært er skjermer og ikke høyoppløselig ut[1]skrift. I utviklingen av videospill fungerer TGA ofte som teksturformat, da det støtter alfakanaler og fungerer ukomprimert eller med tapsfri komprimering.
Kilder
[1] True Vision TGA – Wikipedia
[2] Truevision Inc. (1991). Truevision TGA File Format Specification Version 2.0
Konvertere, åpne og redigere TGA filer
Detaljer om TGA filer
- MIME-type for TGA
Ingen kommentarer