Le BMP est le format d'image bitmap que Microsoft a intégré à Windows, et il fait partie du système depuis ses premières versions graphiques ; une variante très proche vient de l'OS/2 d'IBM. L'objectif n'a jamais été une compression sophistiquée. Un BMP s'apparente à un simple vidage des pixels qu'un programme afficherait à l'écran, encapsulé dans un court en-tête qui explique comment les lire. On rencontre encore des fichiers BMP comme icônes et ressources à l'intérieur des logiciels Windows, comme sortie de programmes de capture simples, et comme format intermédiaire lorsqu'un programme transmet une image à un autre.
Comment un BMP stocke son image
Presque toujours non compressé. Le fichier commence par un petit en-tête contenant les deux lettres BM, la taille du fichier et la position où commencent les pixels, puis un second en-tête décrivant l'image elle-même : largeur, hauteur, profondeur de couleur et disposition des couleurs. Ensuite vient une palette optionnelle, puis le tableau de pixels, une valeur par pixel, sans rien retirer.
Deux particularités surprennent souvent. Les lignes sont généralement stockées de bas en haut : les premiers pixels du fichier sont donc ceux du coin inférieur gauche de l'image, et chaque ligne est complétée jusqu'à un multiple de quatre octets. Les profondeurs de couleur vont de 1 bit, soit deux couleurs, en passant par des palettes 4 et 8 bits, jusqu'à 16, 24 et 32 bits en couleur vraie. Une compression par encodage de longueur de course existe pour les modes 4 et 8 bits mais est rarement utilisée, et le mode 32 bits peut contenir un canal de transparence alpha, même si les anciens logiciels l'ignorent souvent.
Comme rien n'est compressé, la taille est prévisible et importante : un BMP 24 bits coûte trois octets par pixel, quel que soit le contenu de l'image, donc une photo qui tient dans un petit JPG devient de nombreux mégaoctets. En échange, le format est extrêmement simple à lire et à écrire, et il est sans perte : aucun détail n'est jamais supprimé.
Quelles métadonnées contient un BMP
Très peu, et c'est l'information la plus importante à connaître sur ce format. Les métadonnées sont les informations descriptives qu'un fichier conserve sur lui-même, et BMP a été conçu avant que cette idée ne compte. Il n'y a ni EXIF, ni IPTC, ni XMP dans un BMP, il n'y a donc aucun endroit pour enregistrer un modèle d'appareil photo, le nom d'un photographe, une légende ou des coordonnées GPS. Il n'a pas de champ auteur, pas de titre et aucun champ de date, quel qu'il soit : la seule date associée à un BMP est celle que conserve le système de fichiers, en dehors du fichier, et qui change lorsque le fichier est copié.
Ce qu'un rapport peut afficher provient des en-têtes et décrit l'image plutôt que son historique :
- La largeur, la hauteur et la profondeur de couleur, et le sens des lignes, de bas en haut ou de haut en bas.
- La méthode de compression, qui est normalement l'absence totale de compression.
- La résolution horizontale et verticale, stockée en pixels par mètre plutôt que dans l'unité plus familière de points par pouce.
- Le nombre de couleurs que contient la palette, et combien d'entre elles l'image considère comme importantes.
Il existe un véritable point d'attention pour la confidentialité. Les en-têtes étendus peuvent joindre un profil de couleur ICC, et ils permettent de le lier plutôt que de l'intégrer, sous la forme d'un chemin de fichier sur la machine qui a enregistré l'image. Un tel chemin peut révéler un nom d'utilisateur ou la structure des dossiers de quelqu'un. Cela reste rare, mais si un rapport affiche un profil lié, c'est une information réelle sur l'ordinateur d'une personne à l'intérieur d'un fichier par ailleurs muet.
Quand utiliser le BMP
Le BMP a du sens lorsque la simplicité prime sur la taille : envoyer une image à un programme ou un appareil avec un décodeur minimal, travailler dans un logiciel Windows qui s'y attend, ou faire transiter une image entre deux étapes d'un processus où la compresser à nouveau serait inutile. Comme il est sans perte, il est également possible de l'enregistrer plusieurs fois sans dégrader l'image.
Pour tout ce que vous stockez, envoyez ou publiez, PNG est un meilleur choix. Il est lui aussi sans perte, donc les pixels reviennent identiques, mais son filtrage et sa compression réduisent généralement le fichier à une fraction de la taille, et il peut contenir un titre, un auteur et un profil de couleur. Pour les photographies, JPG ou WebP seront encore plus petits. Choisissez le BMP volontairement, pour une raison technique, plutôt que par défaut.