Il formato BMP O formato BMP BMP-Format El formato BMP The BMP format

Le format BMP

Le format BMP est un des formats les plus simples développé conjointement par Microsoft et IBM, ce qui explique qu'il soit particulièrement répandu sur les plates formes Windows et OS/2. Un fichier BMP est un fichier bitmap, c'est-à-dire un fichier d'image graphique stockant les pixels sous forme de tableau de points et gérant les couleurs soit en couleur vraie soit grâce à une palette indexée. Le format BMP a été étudié de telle manière à obtenir un bitmap indépendant du périphérique d'affichage (DIB, Device independent bitmap).

La structure d'un fichier bitmap est la suivante :

Entête du fichier

L'entête du fichier fournit des informations sur le type de fichier (Bitmap), sa taille et indique où commencent les informations concernant l'image à proprement parler.

L'entête est composé de quatre champs :

  • La signature (sur 2 octets), indiquant qu'il s'agit d'un fichier BMP à l'aide des deux caractères.
    • BM, 424D en hexadécimal, indique qu'il s'agit d'un Bitmap Windows.
    • BA indique qu'il s'agit d'un Bitmap OS/2.
    • CI indique qu'il s'agit d'une icone couleur OS/2.
    • CP indique qu'il s'agit d'un pointeur de couleur OS/2.
    • IC indique qu'il s'agit d'une icone OS/2.
    • PT indique qu'il s'agit d'un pointeur OS/2.
  • La taille totale du fichier en octets (codée sur 4 octets)
  • Un champ réservé (sur 4 octets)
  • L'offset de l'image (sur 4 octets), en français décalage, c'est-à-dire l'adresse relative du début des informations concernant l'image par rapport au début du fichier

Entête de l'image

L'entête de l'image fournit des informations sur l'image, notamment ses dimensions et ses couleurs.

L'entête de l'image est composé de quatre champs :

  • La taille de l'entête de l'image en octets (codée sur 4 octets). Les valeurs hexadécimales suivantes sont possibles suivant le type de format BMP :
    • 28 pour Windows 3.1x, 95, NT, ...
    • 0C pour OS/2 1.x
    • F0 pour OS/2 2.x
  • La largeur de l'image (sur 4 octets), c'est-à-dire le nombre de pixels horizontalement (en anglais width)
  • La hauteur de l'image (sur 4 octets), c'est-à-dire le nombre de pixels verticalement (en anglais height)
  • Le nombre de plans (sur 2 octets). Cette valeur vaut toujours 1
  • La profondeur de codage de la couleur(sur 2 octets), c'est-à-dire le nombre de bits utilisés pour coder la couleur. Cette valeur peut-être égale à 1, 4, 8, 16, 24 ou 32
  • La méthode de compression (sur 4 octets). Cette valeur vaut 0 lorsque l'image n'est pas compressée, ou bien 1, 2 ou 3 suivant le type de compression utilisé  :
    • 1 pour un codage RLE de 8 bits par pixel
    • 2 pour un codage RLE de 4 bits par pixel
    • 3 pour un codage bitfields, signifiant que la couleur est codé par un triple masque représenté par la palette
  • La taille totale de l'image en octets (sur 4 octets).
  • La résolution horizontale (sur 4 octets), c'est-à-dire le nombre de pixels par mètre horizontalement
  • La résolution verticale (sur 4 octets), c'est-à-dire le nombre de pixels par mètre verticalement
  • Le nombre de couleurs de la palette (sur 4 octets)
  • Le nombre de couleurs importantes de la palette (sur 4 octets). Ce champ peut être égal à 0 lorsque chaque couleur a son importance.

Palette de l'image

La palette est optionnelle. Lorsqu'une palette est définie, elle contient successivement 4 octets pour chacune de ses entrées représentant :

  • La composante bleue (sur un octet)
  • La composante verte (sur un octet)
  • La composante rouge (sur un octet)
  • Un champ réservé (sur un octet)

Codage de l'image

Le codage de l'image se fait en écrivant successivement les bits correspondant à chaque pixel, ligne par ligne en commençant par le pixel en bas à gauche.

  • Les images en 2 couleurs utilisent 1 bit par pixel, ce qui signifie qu'un octet permet de coder 8 pixels
  • Les images en 16 couleurs utilisent 4 bits par pixel, ce qui signifie qu'un octet permet de coder 2 pixels
  • Les images en 256 couleurs utilisent 8 bits par pixel, ce qui signifie qu'un octet code chaque pixel
  • Les images en couleurs réelles utilisent 24 bits par pixel, ce qui signifie qu'il faut 3 octets pour coder chaque pixel, en prenant soin de respecter l'ordre de l'alternance bleu, vert et rouge.
Chaque ligne de l'image doit comporter un nombre total d'octets qui soit un multiple de 4; si ce n'est pas le cas, la ligne doit être complétée par des 0 de telle manière à respecter ce critère.

Dernière modification le mardi 14 octobre 2008 à 17:40:32.Ce document intitulé « Le format BMP » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Meilleures réponses pour « Le format BMP » dans :
Les images ne s'affichent pas sur le site VoirDans une page web, les images sont spécifiées grâce à la balise IMG, avec la notation suivante : Les formats d'images supportés sur le web sont les formats GIF, JPG et PNG. Le format BMP n'est pas supporté par les...
[PDF] Convertir des PDF en images (JPEG, BMP, GIF, etc...) VoirSi vous avez des documents PDF et que vous voulez les convertir en images (JPEG, GIF, BMP, ou n'importe quel format), de manière à les exploiter, par exemple dans un logiciel d'OCR ou de retouche/création d'images : Note : Cet article présente une...
Le format TIF VoirLe format TIF Le format TIF ou TIFF (Tagged Image File Format) est un format de fichier graphique bitmap (raster). Il a été mis au point en 1987 par la société Aldus (appartenant désormais à Adobe). Les dernières spécifications (Revision 6.0) ont...
Images bitmap et vectorielles VoirImages bitmap et images vectorielles On distingue généralement deux grandes catégories d'images : les images bitmap (appelées aussi images raster) : il s'agit d'images pixellisées, c'est-à-dire un ensemble de points (pixels) contenus dans un...
Les formulaires HTML VoirIntérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...