field -section4- : palettes

Organisation :

PositionLongueurDescription
04 octetsTaille de la partie palette
42 octetsPosition X de la palette (inutile sur PC)Constant = 0
62 octetsPosition Y de la palette (inutile sur PC)Constant = 480
82 octetsNombre de couleurs par palette (deux octets par couleur)Constant = 256
102 octetsNombre de palettes -nbPal-
12512*nbPalLes données des palettes

Dans les données des palettes, il y a nbPal * 512 octets. Une palette contient 256 couleurs.

Il peut n'y avoir aucune palette ! Dans ce cas on a juste un header.

Couleurs

Chaque couleur est codée sur deux octets :
abbbbbvv vvvrrrrr

Avec :

  • a : transparence par addition. Si =1 : la “transparence” est active. Ne faites pas trop attention à ça pour l'instant.
  • b : Bleu
  • v : Vert
  • r : rouge

Vous voyez que la couleur est codée sur 15 bits (5+5+5 + la transparence), donc pour transformer la couleur 15 bits en couleur 24 bits, il faut faire ça (et arrondir) :

bleu = b * 255 / 31;
vert = v * 255 / 31;
rouge = r * 255 / 31;

À retenir

Pour la suite il vous faut stocker les informations suivantes :

  • Les données des palettes (de la position 12 jusqu'à nbPal * 512).
  • Et c'est tout ! le reste est là pour faire joli.

Utiliser la palette

Quand vous lisez les données du background, à chaque octet vous devez chercher la couleur à la position indiquée par l'octet dans la palette choisie. Exemple : si vous tombez sur l'octet 0x05, vous devez aller chercher la sixième couleur de la palette. (car si vous tombez sur 0x00, vous devez aller chercher la première couleur de la palette, enfin y'a des exceptions avec le 0x00…)

Comment construire une image

Recent changes RSS feed Valid XHTML 1.0 Valid CSS Powered by DokuWiki GNU FDL

Qui sommes-nous ?
Aidez WikiSquare en le faisant connaître !
Sauf mention contraire, tous les textes sont disponibles sous les termes de la GNU Free Documentation License.
Les images sont sous le copyright de leurs auteurs.

Page générée en 0.52119302749634 seconde.