L'Informatique
HTML |  Javascript |  DOM |  PHP |  PHP-MySql |  Sessions en PHP |  JSP |  TomCat |  ASP
Java |  C |  C# | 
SQL |  Oracle |  PL/SQL |  les index |  Données multimédia : les LOBs |  Intermedia Text |  projet ORDVideo & Java
BMP |  PBM |  PGM |  PPM | 
UML |  Diagramme Use Case |  Diagramme de classes | 
Liens informatique |  Autres Liens | 

Recherche personnalisée

Image BMP




Le format d'image BMP fait partie des formats les plus utilisés, voyons dans cette page comment est écrit un fichier BMP, par un exemple.




exemple
en-tête du Fichier signature (2 octets), indique qu'il s'agit d'un fichier
BMP

BM (42 4D en hexadécimal) = Bitmap Windows

BA = Bitmap OS/2

  taille totale du fichier sur 4 octets (octet faible) 4E 00 00 00
  champ réservé (sur 4 octets) 00 00 00 00
  offset de l'image (sur 4 octets) 36 00 00 00
en-tête du Bitmap taille de l'entête de l'image en octets (4 octets) 28 00 00 00
  largeur de l'image (sur 4 octets) 04 00 00 00
  hauteur de l'image (sur 4 octets) 02 00 00 00
  nombre de plans (2 octets)
toujours à 1
01 00
  profondeur de codage de la couleur(2 octets)
valeurs possibles = 1, 4, 8, 16, 24 ou 32
18 00
  méthode de compression (4 octets)
. 0 : pas de compression
. 1 : codage RLE de 8 bits par pixel
. 2 : codage RLE de 4 bits par pixel
00 00 00 00
  taille totale de l'image en octets (4 octets) 18 00 00 00
  résolution horizontale (4 octets) =
nombre de pixels par mètre
C4 0E 00 00
  résolution verticale C4 0E 00 00
  nombre de couleurs de la palette (4 octets) 00 00 00 00 (palette entière)
  nombre de couleurs importantes de la palette
(4 octets)
0 = toutes les couleurs sont importantes
00 00 00 00
Palette (optionnelle) composante bleue (1 octet)  
  composante verte (1 octet)  
  composante rouge (1 octet)  
  champ réservé (1 octet)  
     
Corps

codage de chaque pixel ligne par ligne, en partant du coin bas-gauche

Chaque ligne de l'image doit comporter un nombre total
d'octets multiple de 4 (sinon on complète par des 0)

FF 00 00
00 00 00
FF 00 FF
FF FF FF
00 00 FF
00 FF 00
00 FF FF
FF FF 00

Codage des pixels :

images 2 couleurs : 1 bit par pixel (1 octet pour 8 pixels)
images 16 couleurs utilisent 4 bits par pixel (1 octet pour 2 pixels)
images 256 couleurs utilisent 8 bits par pixel, (1octet pour 1 pixel)
images en couleurs réelles utilisent 24 bits par pixel, (3 octets pour 1 pixel)

- Exemple d'une image bitmap en hexadécimal (à recopier dans un éditeur hexadécimal):

0000:000042 4D 4E 00 00 00 00 00 00 00 36 00 00 00 28 00
0000:001000 00 04 00 00 00 02 00 00 00 01 00 18 00 00 00
0000:002000 00 18 00 00 00 C4 0E 00 00 C4 0E 00 00 00 00
0000:003000 00 00 00 00 00 FF 00 00 00 00 00 FF 00 FF FF
0000:0040FF FF 00 00 FF 00 FF 00 00 FF FF FF FF 00

Romain C