Allt om TGA-filer
TGA-formatet (Truevision Graphics Adapter)
TGA (Truevision Graphics Adapter), ofta även kallat TARGA (Truevision Advanced Raster Graphics Adapter), är ett rastergrafikformat för digitala bilddata. Formatet utveckl[1]ades 1984 av AT&T; EPICenter i samarbete med Island Graphics Inc. och fungerade som det inbyggda filformatet för grafikkorten TARGA och VISTA – de första grafikkorten för IBM-kompatibla datorer med stöd för High Color och True Color.
Utveckling och standardisering
AT&T; EPICenter var en intern avknoppning från AT&T; för marknadsföring av nya framebuffer-tekniker. Utvecklarna Brad Pillow och Bryan Hunt skapade TGA-formatet som ett hårdvaruoberoende alternativ till de kortspecifika formaten VDA och IC[1]B. Efter ett management-buyout 1987 bildades företaget Truevision Inc.[1] ur EPICenter.
Den aktuella versionen 2.0 slä[2]pptes av Truevision i januari 1991. Denna version utökade det ursprungliga formatet med valfria strukturer: Extension Area med metadata (författare, datum, gamma-värde, etc.), Developer Area för applikationsspecifika data och en File Footer för versionsidentifier[2]ing.
Teknisk struktur
Grundstrukturen för en TGA-fil består av en 18-byte-header, följd av valfri bildinformation, färgpaletten (för indexerade bilder) och själva bilddata[2]. TGA-filer använder Little-Endian-byteordning[2].
Headern definierar:
Bildtyp (color-mapped, true-color, grayscale – i varje fall okomprimerad eller RLE-komprimerad)
Bildmått och position
Bits per pixel (8, 16, 24 eller 32 bit)[2]
Antal attribut-/alfabitar
Pixelordning (botten-upp/topp-ner, vänster-höger/höger-vänster) och interleaving-läge (i praktiken alltid icke-interleaved)[2]
Bildtyper som stöds
TGA definierar tre grundtyper[2]:
Pseudo-Color (Typ 1): Varje pixelvärde är ett index i en färgpalett med programmerbara RGB-värden.
True-Color (Typ 2): Varje pixelvärde innehåller direkt RGB-komponenterna. Vid 32 bitar tillkommer 8 bitar för alfakanalen.
Grayscale (Typ 3): Varje pixelvärde representerar ett gråvärde utan färgpalett.
Alla tre typerna finns dessutom som RLE-komprimerade varianter (Typ 9, 10, 11)[2].
RLE-komprimering
Den valfria Run-Length-Encoding-komprimeringen arbetar med två pakettyper[2]:
Run-Length-paket: En header-byte (bit 7 = 1) och ett enskilt pixelvärde som upprepas. De nedre 7 bitarna kodar antalet minus 1 (1–128 pixlar per paket).
Raw-paket: En header-byte (bit 7 = 0) följd av motsvarande antal olika pixelvärden.
Viktigt: I version 2.0 får RLE-paket inte strä[2]cka sig över radgränser. Version 1.0 tillät detta, varför TGA-läsare måste stödja båda varianterna. I praktiken ser jag även i version 2.0 RLE-paket som sträcker sig över radgränserna.
Extension Area (version 2.0)
Det valfria tilläggsområdet omfattar 495 byte med standardiserade f[2]ält:
Författarnamn (40 tecken)
Författarkommentarer (4×80 tecken)
Datum-/tidsstämpel (6 SHORT-värden för månad, dag, år, timme, minut, sekund)
Job Name/ID (40 tecken)
Job Time (ackumulerad tid i timmar, minuter, sekunder)
Software ID och version
Key Color (transparensfärg/bakgrundsfärg)
Pixel Aspect Ratio
Gamma Value
Pekare på Color Correction Table, Postage Stamp Image och Scan Line Table
Versionsidentifiering
TGA 2.0-filer avslutas med en 26-byte-fot[2]. Byte 8–23 innehåller ASCII-signaturen ”TRUEVISION-XFILE”, följt av en punkt (byte 24) och en nollterminator (byte 25). Om denna signatur saknas är det fråga om originalformatet (version 1.0).
Filändelser
Den rekommenderade standardändelsen är .tga för DOS, UNIX och Windows[2]. På klassiska Macintosh-system används typkoden TPIC. Historiskt sett har även .vda, .icb och .vst funnits för specifika grafikk[2]ortstyper.
Tekniska särdrag
Jämfört med andra 24-bitarsformat är TGA-strukturen enkel (men det finns också specialfall): En okomprimerad 24-bitars TGA består av en 18-byte-header, valfritt en bild-ID (0–255 byte, längd definierad i byte 0 i headern)[2], valfritt färgkartdata och de packade RGB-bilddata. BMP kräver radutfyllnad till 4-byte-gränser, medan TIFF och PNG som metadatakontainrar inte har någon fast position för bilddata.
Bildupplösningarna för TGA-filer motsvarar traditionellt NTSC- och PAL-videoformaten, eftersom de ursprungliga TARGA-korten var[1] utformade för professionell datorbildsyntes och videoredigering. Andra upplösningar är dock naturligtvis möjliga.
Användningsområden
TGA används fortfarande inom video- och animationsindustrin, eftersom den slutliga utmatningen främst är inriktad på skärmar och inte högupplöst ut[1]skrift. Inom utvecklingen av videospel används TGA ofta som texturformat, eftersom det stöder alfakanaler och fungerar okomprimerat eller med förlustfri komprimering.
Källor
[1] True Vision TGA – Wikipedia
[2] Truevision Inc. (1991). Truevision TGA File Format Specification Version 2.0
Konvertera, öppna och redigera TGA-filer
Uppgifter om TGA-filer
- MIME-typ för TGA
Inga kommentarer