ANNEXE B

LE FORMAT BMP

LES IMAGES BMP

Le format BMP est un format qui représente des images point par point. Un fichier ayant une extension BMP est un fichier dont les deux premiers octets contiennent les caractères B et M (pour BitMap). La majorité des logiciels de dessin peuvent lire différents formats d’images tels que PCX, GIF, JPG, CDR, et faire les conversions au format BMP.

LES ENTETES DES FICHIERS BMP

Un fichier d’image au format BMP est constitué de :

 un premier entête ( Header), qui contient des informations sur le fichier telles que la taille

du fichier en octets ;

un second entête composé de :

ƒ la représentation des pixels du fichier image.

Chaque pixel de l’image est codé sur :

LA STRUCTURE DU PREMIER ENTETE

CHAMPS

TAILLE

DESCRIPTION

bfType

Word (2 octets)

Deux caractères B et M

bfSize

Dword (4 octets)

Taille total du fichier

bfReserved1

Word (2 octets)

0

bfReserved2

Word (2 octets)

0

bfOffBits

Dword (4 octets)

Offset des bits du bitmap dans le fichier

Figure 1 : Structure BITMAPFILEHEADER.

Cet entête est suivi du second entête qui contient une structure BITMAPINFOHEADER. Celle-ci contient onze champs.

LA STRUCTURE DU DEUXIEME ENTETE

CHAMPS

TAILLE

DESCRIPTION

biSize

Word (4 octets)

Taille de cette structure en octets.
biWidth

Dword (4 octets)

Largeur du bitmap en pixel.
biHeight

Dword (4 octets)

Hauteur du bitmap en pixel.
biPlanes

Word (2 octets)

1
biBitCount

Word (2 octets)

Bits couleurs par pixel.
biCompression

Dword (4 octets)

Schéma de compactage (0 pour aucun).
biSizeImage

Dword (4 octets)

Taille de l’image en octets (utile pour le compactage).
biXpelsPerMeter

Dword (4 octets)

Résolution horizontale en pixels par mètre.
biYpelsPerMeter

Dword (4 octets)

Résolution verticale en pixels par mètre.
biClrUsed

Dword (4 octets)

Nombre de couleurs utilisées dans l’image.
biClrImportant

Dword (4 octets)

Nombre de couleurs importantes.

Figure 2 : Structure BITMAPINFOHEADER.

Tous les champs qui suivent biBitCount ont par défaut une valeur nulle. Si biClrUsed vaut 0 et que 1, 4, ou 8 bits de couleurs par pixel sont utilisés, la structure du second entête est suivie par une table de couleurs, qui est constituée de plusieurs structures appelées structure RGBQUAD. Cette structure définie la valeur RGB d’une couleur.

CHAMPS

TAILLE

DESCRIPTION

rgbBlue

Byte (1 octet)

Intensité du bleu.

rgbGreen

Byte (1 octet)

Intensité du vert.

rgbRed

Byte (1 octet)

Intensité du rouge.

rgbReserved

Byte (1 octet)

0

Figure 3 : Structure RGBQUAD .

Le nombre de structures RGBQUAD est généralement indiqué par le champs biBitCount. Deux structures sont nécessaires pour 1 bit de couleur, 16 pour 4 bits et 256 pour 8 bits de couleurs. Toutefois, si le champs biClrUsed n’est pas nul, sa valeur indique le nombre de structures RGBQUAD présentes dans la table des couleurs.

Pour un bitmap de 256 couleurs, chaque octet correspond à un pixel, la couleur réelle est obtenue en utilisant cet octet comme index de la table des couleurs.

Si l’image contient 24 bits de couleurs par pixel, chaque ensemble de trois octets est directement une valeur RGB : il n’y a pas de table de couleurs (à moins que le champs biClrUsed de la structure BITMAPINFOHEADER ne soit pas nul ).

LA ZONE DE DONNEES

la table des couleurs est suivie du tableau de bits qui définit l’image, le tableau commence par la ligne inférieure de pixel. chaque ligne commence par le pixel le plus à gauche et contient un nombre de bits multiple de quatre. Chaque pixel est représenté par 1, 4, 8 ou 24 bits successifs.

ligne.gif (11586 octets)

© 1999, KADDOUR Chakib


Réactions ? Commentaires ? Suggestions ? Cliquez Ici