Bitmap Windows (.bmp)
Architecture StandardLe 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 :
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 4DREPRÉSENTATION ASCII : BM
Normalisation : Architecture Bitmap Indépendante du Périphérique (DIB) de Microsoft Windows
Spécifications techniques
| Architecture de conteneur | BITMAPFILEHEADER suivi de BITMAPINFOHEADER (DIB) et du tableau de pixels raster |
| Compression | Lignes de balayage brutes non compressées, ou encodage par plage optionnel BI_RLE8 / BI_RLE4 |
| Boutisme des octets | Little-Endian (ordre des octets Intel x86) |
| Espaces colorimétriques | RVB dépendant du périphérique, sRGB (intégré dans BITMAPV5HEADER) |
| Canaux et structure | Monochrome 1-bit, palettes 4-bit / 8-bit, 16-bit, RVB 24-bit ou RVBA 32-bit |
| Dimensions maximales | 2 147 483 647 x 2 147 483 647 pixels (entier signé 32-bit) |
| Transparence | Masque alpha BGRA 32-bit pris en charge dans les formats modernes BITMAPV3HEADER et V5HEADER |
| Streaming et progressif | Non 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 technique | BMP (Actuel) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Mode de compression | Non compressé / RLE minimal | Deflate sans perte (~70 % plus petit) | Non compressé / LZW / Zip | DCT avec perte (~90 % plus petit) |
| Vitesse de décodage | Copie mémoire instantanée | Nécessite une décompression Deflate | Nécessite une décompression LZW/ZIP | Nécessite un calcul IDCT |
| Ordre des lignes de balayage | De bas en haut (inversé) | Du haut vers le bas | Du haut vers le bas / Bandes | Blocs MCU du haut vers le bas |
| Pertinence pour le Web | Très mauvaise (charges lourdes) | Excellente pour les graphiques | Mauvaise (é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
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.
Paires de conversion BMP associées
La conversion de fichiers Bitmap Windows non compressés en PNG offre une compression sans perte qui réduit la taille des fichiers sans altérer la qualité de l'image.
La conversion d'images PNG en fichiers Bitmap Windows transforme des données raster compressées en une grille de pixels non compressée pour les systèmes d'exploitation et les architectures matérielles hérités.