Targa Image File

aus Wikipedia, der freien Enzyklopädie
Targa Image File
Dateiendung: .tga, .tpic
MIME-Type: image/x-targa  image/x-tga
Entwickelt von: Truevision
Art: Grafikdatei


Das Targa Image File Format (kurz: TGA, übliche Dateiendung: .tga) ist ein Dateiformat zur Speicherung von Bildern. Targa steht für „Truevision Advanced Raster Graphics Array“.

Das Targa-Dateiformat wurde ursprünglich 1984 von der Firma Truevision entwickelt. 1989 wurde es erweitert, um Vorschaubilder, Werte für Alphakanal, Gammakorrektur und Text als Metainformationen beinhalten zu können.

Die Daten werden mit bis zu 32 Bit pro Pixel als Rastergrafik (englisch bitmap) entweder unkomprimiert oder mit einer Lauflängenkodierung verlustfrei komprimiert gespeichert.

Spezifikation

Format .tga
Mögliche Farbtiefen (in Bit) 8, 24, 32
Alpha-Kanal Ja (einer)
Ebenen Nein
Komprimierung Möglich
Verlustbehaftet Nein
ICC-Profil Nein
Pfade Nein

Alle Daten werden im Little-Endian-Format gespeichert. Das TGA-Format ist wie folgt strukturiert, wobei ein Wort aus 16 Bits besteht:

Element Datentyp/Größe Beschreibung
Dateikopf Länge der Bild-ID 1 Byte bei Wert 0 entfällt die Bild-ID
Farbpalettentyp 1 Byte 0 = keine Farbpalette
1 = Farbpalette vorhanden
Bildtyp 1 Byte 0 = keine Bilddaten
1 = indiziert (Farbpalette) unkomprimiert
2 = RGB (24 oder 32 Bit) unkomprimiert
3 = monochrom unkomprimiert
9 = indiziert (Farbpalette) lauflängenkodiert
10 = RGB (24 Bit) lauflängenkodiert

11 = monochrom lauflängenkodiert

Palettenbeginn 1 Wort Standardwert ist 0
Palettenlänge 1 Wort Anzahl der Farben in der Palette
Größe (in Bits) eines Paletteneintrags 1 Byte typische Werte sind 15, 16, 24 und 32
X-Koordinate für Nullpunkt 1 Wort Standardwert ist 0
Y-Koordinate für Nullpunkt 1 Wort Standardwert ist 0
Bildbreite 1 Wort
Bildhöhe 1 Wort
Bits pro Bildpunkt 1 Byte gültige Werte sind 1, 8, 15, 16, 24 und 32
Bild-Attribut-Byte 1 Byte Bits 0-3: Anzahl der Attributbits pro Bildpunkt
Bit 4: horizontale Lage des Nullpunkts (0 = links, 1 = rechts)
Bit 5: vertikale Lage des Nullpunkts (0 = unten, 1 = oben)
Bit 6-7: 0
Bild-ID
(optional)
0-255 Bytes Bildidentifikator
Farbpalette
(optional)
0-8192 Bytes Palettendaten
Reihenfolge der Elemente: BGR bzw. BGRA
Bilddaten
(theoretisch optional)
variabel Bilddaten mit Lauflängenkodierung oder unkomprimiert
Entwicklerbereich1 variabel Daten gemäß Entwicklerverzeichnis
Entwicklerverzeichnis2 Anzahl der Einträge 1 Wort
ID 1 Wort Werte von 32768-65535 sind reserviert
Offset 1 Doppelwort Datenposition im Entwicklerbereich (bezogen auf Dateibeginn)
Größe 1 Doppelwort Größe des Entwicklerfelds in Bytes
weitere Verzeichniseinträge
(je 10 Bytes)
Metainformationen2 Größe des Bereichs 1 Wort Wert: 495
Autorname 41 Bytes null-terminierte Zeichenkette
(max. 40 Zeichen)
Autorkommentar 324 Bytes 4 null-terminierte Zeichenketten
(je max. 80 Zeichen)
Zeitstempel Monat 1 Wort
Zeitstempel Tag 1 Wort
Zeitstempel Jahr 1 Wort
Zeitstempel Stunde 1 Wort
Zeitstempel Minute 1 Wort
Zeitstempel Sekunde 1 Wort
Jobname 41 Bytes null-terminierte Zeichenkette
(max. 40 Zeichen)
Jobstunde 1 Wort
Jobminute 1 Wort
Jobsekunde 1 Wort
Software-ID 41 Bytes null-terminierte Zeichenkette
(max. 40 Zeichen)
Versionsnummer 1 Wort Versionsnummer * 100
Softwareversion 1 Byte Zusatzzeichen zur Versionsnummer
Hintergrundfarbe 1 Doppelwort Standard ist 0, entspricht der Transparenzfarbe
Pixel-Seitenverhältnis 1 Wort Zähler des Bruchs
Pixel-Seitenverhältnis 1 Wort Nenner des Bruchs
Gamma-Wert 1 Wort Zähler des Bruchs
Gamma-Wert 1 Wort Nenner des Bruchs
Offset der Farbkorrekturtabelle 1 Doppelwort Offset (bezogen auf Dateibeginn)
(0 = nicht vorhanden)
Offset des Thumbnails 1 Doppelwort Offset (bezogen auf Dateibeginn)
(0 = nicht vorhanden)
Offset der Scan-Line-Tabelle 1 Doppelwort Offset (bezogen auf Dateibeginn)
(0 = nicht vorhanden)
Attribut-Byte 1 Byte 0 = keine Attribut-Daten vorhanden
1 = undefinierte Attribut-Daten, kann ignoriert werden
2 = undefinierte Attribut-Daten, sollten aber behalten werden
3 = Attribut-Daten vorhanden
4 = pre-multiplied Attribut
5 - 127 = reserviert
128 - 255 = unbelegt
Scan-Line-Tabelle3 Bildhöhe * 1 Doppelwort je Bildzeile ein Offset (bezogen auf Dateibeginn)
Thumbnail3 Breite 1 Byte Breite des Thumbnail (max. 64 Bildpunkte)
Höhe 1 Byte Höhe des Thumbnail (max. 64 Bildpunkte)
Bilddaten variabel Format entspricht dem ggf. unkomprimierten Originalbild
Farbkorrektur-Tabelle3 256 * 4 Worte ABGR Korrekturwerte für die Farbpaletteneinträge
Dateifuß4 Offset der Metainformationen 1 Doppelwort Offset (bezogen auf Dateibeginn)
(0 = nicht vorhanden)
Offset des Entwicklerverzeichnisses 1 Doppelwort Offset (bezogen auf Dateibeginn)
(0 = nicht vorhanden)
Signatur für Version 2.0 18 Bytes null-terminierte Zeichenkette
"TRUEVISION-XFILE."

Anmerkungen:
1optional ab Version 2.0, Entwicklerverzeichnis und Dateifuß erforderlich
2optional ab Version 2.0, Dateifuß erforderlich
3optional ab Version 2.0, Metainformationen und Dateifuß erforderlich
4optional ab Version 2.0 (wenn vorhanden, dann immer die letzten 26 Bytes)

Aufgrund der Offset-Angaben müssen nach den Bilddaten die Bereiche der Version 2.0 nicht zwangsläufig aneinandergrenzen. Ferner ist die Reihenfolge der Bereiche zwar wie angegeben definiert, aber durch die Offset-Angaben sind auch andere Anordnungen möglich.

Lauflängenkodierung

Bei der Lauflängenkodierung wird zeilenweise jeder Satz von Bildpunkten von einem zusätzlichen Steuerbyte angeführt. Ist das 8. Bit dieses Steuerbytes gesetzt, so handelt es sich um einen Wiederholungszähler, dessen Wert sich aus den unteren 7 Bits erhöht um 1 ergibt. Der nachfolgende Bildpunkt wird entsprechend oft wiederholt. Ist das 8. Bit des Steuerbytes 0, so handelt es sich um einen Datenzähler, dessen Wert sich ebenfalls aus den unteren 7 Bits erhöht um 1 ergibt. Er gibt an, wie viele Bildpunkte in diesem Satz folgen, bevor wieder ein Steuerbyte auftritt. Diese Bildpunkte werden 1:1 übernommen.

Anwendung

Das TGA-Format wurde häufig in der Spieleindustrie verwendet. Ein bekanntes Beispiel für den Einsatz von Bildern im TGA-Format stellt id Software dar. Die frühen Veröffentlichungen der Firma nutzten dieses Format. Der Vorteil liegt im Alphakanal, welcher vom BMP-Format nicht unterstützt wird. Dazu kommt noch die Möglichkeit der verlustfreien Lauflängenkodierung, welche jedoch weniger Speicherplatz spart, als z. B. die kaum sichtbare Komprimierung einer JPG-Datei. Inzwischen wurde das TGA-Format allerdings in diesem Bereich fast vollständig von neueren Alternativen wie dem DirectDraw Surface (DDS) Format verdrängt.

Außerdem hat das Format im TV-Grafik-Bereich eine große Bedeutung. Es wurde ursprünglich für die ersten Targa-Videografik-Karten entwickelt und ist heute so etwas wie der kleinste gemeinsame Nenner der Grafikformate. Jedes Animationsprogramm und jeder Schriftgenerator kann Targa-Dateien verarbeiten. Das Format bietet maximale Qualität, da es entweder gar nicht oder aber verlustfrei komprimiert ist; außerdem eignet es sich durch die Unterstützung eines Alpha-Kanales hervorragend dazu, Grafiken, die über ein Video gelegt werden sollen, zu erstellen.

Verbreitung

Das Targa-Image-File-Format hat es vor allem im Bereich der Bildbearbeitung nicht geschafft, sich gegenüber TIFF und anderen bekannten Formaten durchzusetzen. Targa bietet zu wenig Möglichkeiten bei der Kompression, Alphakanälen etc. und nur wenige Bildbearbeitungen unterstützen das Format.

Bekannte Programme, die Targa-Dateien öffnen oder abspeichern können
Programm lesen schreiben
Adobe Photoshop ja ja
Corel PaintShop Pro ja ja
Corel Photo-Paint ja ja
GIMP ja ja
Paint.NET ja ja
PaintTool SAI ja ja
PhotoFiltre ja o. A.
POV-Ray nein ja
IrfanView ja ja
Affinity Designer ja ja

(Stand: August 2022)

Gleichwohl gehört TGA zu den Pixelbildformaten, die zum Beispiel das populäre Animationsprogramm Adobe Flash importieren und verwenden kann.