Introduction
Le format de fichier COL est utilisé afin d'entreposée la palette de couleurs créer par le logiciel Animator Pro d'Autodesk.
Structure d'entête du fichier
Voici la structure de son entête de fichier :
Déplacement | Taille | Description |
---|---|---|
0000h | 1 double mot | Ce champ permet d'indiquer la taille total du fichier en incluant l'entête elle-même. |
0004h | 1 mot | Ce champ permet d'indiquer l'identificateur de signature ayant toujours la valeur 0B123h |
0006h | 1 mot | Ce champ permet d'indiquer la version, soit normalement 0. |
Normalement la taille devrait correspondre à la formule suivante:
Nombre de palette = (Taille Total Taille de l'entête ) / 3 |
Si le nombre de palette est un nombre non entier (qu'il y a un reste), ou si vous préférez qu'il n'est pas un multiple de 3, on peut en conclure que le fichier est corrompue. Dans ce cas, on peut estimer que les informations y étant contenu sont forcément erroné ou sauvegarder sous un format inconnu.
Suivant l'entête, on retrouvera les palettes de couleurs elle-même sauvegarder en format RVB (ou RGB en anglais). Celui-ci est un regroupement de trois octets contenant chacune une couleur (Rouge, Vert, Bleu). Les couleurs sont des représentations numérique entre 0 et 255. Par exemple si on retrouve une valeur 255 pour le Rouge et le Vert, et que le Bleu vaut 0, c'est qu'il s'agit de luminosité maximal de rouge et de vert et qu'aucune luminosité n'est pas perçu au niveau du bleu: Ce sera donc la couleur Jaune. C'est brève explication devront s'avérer suffisante.
On pourra facilement comprendre qu'ils sont se suive les uns des autres sans aucune donnée de séparation. En bref, le tableau suivant pourra vous faciliter la perception du problème.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
Rouge | Vert | Bleu | Rouge | Vert | Bleu | Rouge | Vert | Bleu | ... |
Ayant cependant une certaine crainte que vous ne compreniez pas encore, on peut représenter le stockage des données de palettes de la façon suivante en langage Pascal:
Palette=Array[1..NombrePalette]
of Record
Rouge,Vert,Bleu:Byte;
End;
Pour ma part, je n'ai jamais peu authentifié cette méthode de stockage avec entête. J'ai toujours observer une palette de 256 couleurs RVB sans le moindre entête! Enfin, si vous n'arrivez pas à obtenir une information cohérente, je vous suggère dans le cas d'une taille égale à 768 octets, de supposer qu'il y a une omission de l'entête.