Bitmap Windows (.bmp)

Architecture Standard

Le format de fichier Bitmap Image (BMP) est le format graphique matriciel fondamental et indépendant du périphérique de Microsoft, stockant des lignes de balayage non compressées ou compressées en RLE avec une compatibilité directe avec le tampon de trame matériel.

Convertir BMP en PNG

Convertisseur gratuit de BMP vers PNG dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.

Inspecter et métadonnées

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers BMP en inspectant la séquence d'octets binaires de tête :

Sélectionnez ou déposez des fichiers ici

Conversion 100 % privée dans le navigateur - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet téléchargé vers des serveurs externes. Tout le traitement a lieu localement dans le bac à sable de votre navigateur.

Signature d'en-tête au niveau des octets (Magic Bytes)

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers BMP en inspectant la séquence d'octets binaires de tête :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

42 4D

REPRÉSENTATION ASCII : BM

Normalisation : Architecture Bitmap Indépendante du Périphérique (DIB) de Microsoft Windows

Spécifications techniques

Architecture de conteneurBITMAPFILEHEADER suivi de BITMAPINFOHEADER (DIB) et du tableau de pixels raster
CompressionLignes de balayage brutes non compressées, ou encodage par plage optionnel BI_RLE8 / BI_RLE4
Boutisme des octetsLittle-Endian (ordre des octets Intel x86)
Espaces colorimétriquesRVB dépendant du périphérique, sRGB (intégré dans BITMAPV5HEADER)
Canaux et structureMonochrome 1-bit, palettes 4-bit / 8-bit, 16-bit, RVB 24-bit ou RVBA 32-bit
Dimensions maximales2 147 483 647 x 2 147 483 647 pixels (entier signé 32-bit)
TransparenceMasque alpha BGRA 32-bit pris en charge dans les formats modernes BITMAPV3HEADER et V5HEADER
Streaming et progressifNon diffusable en continu ; lignes de balayage stockées à l'envers (de bas en haut) sauf si la hauteur est négative

Matrice de comparaison technique : BMP vs Concurrents

Attribut techniqueBMP (Actuel)PNGTIFFJPG
Mode de compressionNon compressé / RLE minimalDeflate sans perte (~70 % plus petit)Non compressé / LZW / ZipDCT avec perte (~90 % plus petit)
Vitesse de décodageCopie mémoire instantanéeNécessite une décompression DeflateNécessite une décompression LZW/ZIPNécessite un calcul IDCT
Ordre des lignes de balayageDe bas en haut (inversé)Du haut vers le basDu haut vers le bas / BandesBlocs MCU du haut vers le bas
Pertinence pour le WebTrès mauvaise (charges lourdes)Excellente pour les graphiquesMauvaise (éditions de bureau)Excellente pour la photographie

Modes de corruption courants et guide de récupération hexadécimale

L'image s'affiche inclinée en diagonale ou déformée selon un angle.

Cause racine: Calcul incorrect du remplissage des lignes (échec du remplissage de chaque ligne de balayage sur une frontière de 4 octets).

Récupération: Ré-encoder à l'aide du convertisseur d'images File2File pour appliquer un espacement de ligne de balayage correct de 32 bits.

Analyse de sécurité et vecteurs d'attaque de l'analyseur

Les décodeurs BMP souffrent souvent de dépassements de lecture de tampon lors de l'allocation de mémoires tampons basées sur des dimensions d'en-tête DIB non fiables.

Vecteurs d'attaque connus

  • Dépassement d'entier dans le calcul largeur * hauteur * bpp conduisant à une petite allocation de tas et une écriture hors limites.
  • Séquences d'échappement de longueur d'exécution RLE8/RLE4 corrompues provoquant des écritures en mémoire au-delà du tampon alloué.
  • Déni de service par allocation de mémoire de plusieurs gigaoctets déclenchée par des dimensions d'en-tête forgées.

Bonnes pratiques de défense: Valider strictement les limites de largeur, de hauteur et de profondeur de bits de l'en-tête DIB avant d'allouer la mémoire de destination.

Origines historiques et jalons

1998Windows 98 introduit BITMAPV5HEADER, ajoutant la gestion des profils colorimétriques ICC et la correction gamma.
1990Windows 3.0 standardise la spécification DIB BITMAPINFOHEADER à travers tout le système d'exploitation.
1987Introduit avec Windows 2.0 et OS/2 1.1 en tant que format matriciel d'affichage natif.

Principaux avantages

  • Dégradation de compression nulle : stockage de pixels 100 % exact au bit près sans aucun artéfact de compression.
  • Prise en charge native universelle du système d'exploitation sur toutes les versions de Windows, Linux et macOS.
  • Complexité de décodage triviale le rendant idéal pour les microcontrôleurs embarqués et l'enseignement de la programmation graphique.

Limites techniques

  • Tailles de fichiers énormes en raison de l'absence de compression par entropie moderne comme DEFLATE ou le codage de Huffman.
  • Inefficace pour la transmission sur le web ou la distribution sur réseaux mobiles.
  • L'ordre des lignes de balayage de bas en haut nécessite une inversion verticale des rangées dans les pipelines graphiques modernes de haut en bas.

Anecdotes techniques

  • Le BMP stocke les lignes de balayage de l'image à l'envers (du bas vers le haut) par défaut en raison du système de coordonnées cartésiennes mathématique utilisé dans OS/2.
  • Si la valeur de la hauteur dans l'en-tête BMP est définie sur un nombre négatif, l'image est décodée à l'endroit (du haut vers le bas).
  • Chaque ligne de balayage d'un fichier BMP doit être complétée par des zéros pour être un multiple de 4 octets (alignement sur une frontière de 32 bits).

Foire aux questions techniques

Pourquoi les fichiers BMP sont-ils si volumineux ?

Les fichiers BMP stockent des valeurs de couleur brutes et non compressées pour chaque pixel, tandis que des formats comme le PNG compressent ces données sans perdre la moindre qualité.

Le format BMP prend-il en charge la transparence ?

Oui. Les fichiers BMP 32 bits (utilisant BITMAPV3HEADER ou version ultérieure) peuvent stocker un canal alpha 8 bits, bien que la prise en charge varie selon les logiciels plus anciens.

Comment puis-je réduire la taille d'un fichier BMP ?

La conversion d'un fichier BMP en PNG avec File2File.app réduit généralement la taille du fichier de 60 % à 85 % sans aucune perte de qualité visuelle.