Format Targa de Truevision

Cette section présente le format d'images Targa de Truevision utilisé par Up ! Targa.

Une image au format Targa est encodée avec la convention d'Intel i.e. Little Endian.

La résolution est de 72 Dot Per Inch (DPI).

Les palettes de couleurs possibles sont 256 couleurs, 65536 couleurs ou couleurs vraies.

Blocs du flux Targa

Le format Targa est flux composé d'une succession de blocs.

Voici les codifications des blocs :

IdentifiantDescription
En-têteEn-tête du fichier.
CommentaireCommentaire de l'image.
TableCouleursTable des couleurs.
ImageDonnées de l'image.
ZoneDeveloppementZone de développement.
ZoneExtensionZone d'extension.
TerminateurTerminaison du fichier.

Bloc En-tête

Voici les propriétés du bloc :

PropriétéTaille en octetsDescription
TailleCommentaire1.Taille du commentaire associé à l'image.
IlExisteUneTableDeCouleurs1.Si Vrai, il existe une table de couleurs.
TypeImage1.Type de l'image.
IndexPremiereCouleur2.Index non signé de la première couleur de l'image.
NbCouleurs2.Nombre de couleurs de l'image non signé.
NbBitsParPixelPalette1.Nombre de bits par pixel pour la palette.
XOrigine2.Abscisse d'origine de l'image non signée.
YOrigine2.Ordonnée d'origine de l'image non signée.
LargeurPixels2.Largeur en pixels de l'image non signée.
HauteurPixels2.Hauteur en pixels de l'image non signée.
NbBitsParPixel1.Nombre de bits par pixel.
Options1.Options.

Les valeurs possibles de la propriété TypeImage sont :

Les valeurs possibles de la propriété Options sont :

Les valeurs possibles de la propriété NbBitsParPixelPalette sont :

Les valeurs possibles de la propriété NbBitsParPixel sont :

Bloc Commentaire

Le bloc commentaire peut être vide si la taille est nulle.

Le commentaire est enregistré en Ascii.

Bloc TableCouleurs

La table des couleurs est composée d'une suite de trois ou quatre octets pour chaque entrée valide.

Bloc Image

Ce bloc contient les pixels de l'image du haut vers le bas et de la gauche vers la droite.

Si la compression est activé, il s'agit du Rule Length Encoded (RLE) appliqué aux pixels et non aux octets. Ainsi :

Bloc Zone de développement

Cette zone de comporte différentes propriétés propres à l'application. Les deux premiers octets non signés indique la taille de la zone.

Une taille de 0 signifie qu'il n'existe pas de propriétés propres à l'application.

Bloc Zone d'extension

Cette zone de 495 octets comporte différentes propriétés dont voici les plus utiles :

PropriétéTaille en octetsDescription
Taille2.Taille non signée en octets.
NomArtiste41.Nom de l'artiste en position 2.
NomApplication41.Nom de l'application en position 426.
Plan4.Code des plans de couleurs en 470.
CodeApplication3.Code de l'application en position 476.
GestionOpacite1.Mode de gestion de l'opacité.

Les valeurs possibles de la propriété Plan sont :

Les valeurs possibles de la propriété GestionOpacite sont :

Bloc Terminateur

Cette zone de 26 octets comporte différentes propriétés dont voici les plus utiles :

PropriétéTaille en octetsDescription
Signature24.Signature.
Terminaison11.0x2E en position 24.
Terminaison21.0x00 en position 25.

La valeur de la propriété Signature doit être TRUEVISION-XFILE.

Enchaînement des blocs du flux Targa

Voici la grammaire d'enchaînement des blocs dans le flux Targa :

FluxTarga :

CommentaireOption : TableCouleursOption :