Windows Bitmap (.bmp)
Microsoft StandaardBitmap Image File (BMP) is Microsofts fundamentele apparaatonafhankelijke rastergrafische formaat, dat niet-gecomprimeerde of RLE-gecomprimeerde scanlijnen opslaat met directe compatibiliteit met de hardware-framebuffer.
BMP naar PNG converteren
Gratis BMP-naar-PNG-converter in uw browser. Converteer bestanden direct op uw apparaat.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen BMP-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen BMP-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
42 4DASCII-WEERGAVE: BM
Standaardisatie: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Technische specificaties
| Containerarchitectuur | BITMAPFILEHEADER gevolgd door BITMAPINFOHEADER (DIB) en rasterpixelarray |
| Compressie | Niet-gecomprimeerde ruwe scanlijnen, of optionele BI_RLE8 / BI_RLE4 run-length-codering |
| Bytevolgorde (endianness) | Little-Endian (Intel x86 bytevolgorde) |
| Kleurruimten | Apparaatafhankelijke RGB, sRGB (ingebedde BITMAPV5HEADER) |
| Kanalen en structuur | 1-bits monochroom, 4-bits / 8-bits met palet, 16-bits, 24-bits RGB of 32-bits RGBA |
| Maximale afmetingen | 2.147.483.647 x 2.147.483.647 pixels (signed 32-bit integer) |
| Transparantie | 32-bits BGRA-alfamasker, ondersteund in moderne BITMAPV3HEADER- en V5HEADER-formaten |
| Streaming en progressief | Niet streambaar; scanlijnen worden ondersteboven opgeslagen (bottom-up) tenzij de hoogte negatief is |
Technische vergelijkingsmatrix: BMP versus concurrenten
| Technisch kenmerk | BMP (Huidig) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Compressiemodus | Niet-gecomprimeerd / minimale RLE | Verliesvrije Deflate-compressie; besparing op bestandsgrootte varieert met de inhoud van de afbeelding | Niet-gecomprimeerd / LZW / Zip | DCT met verlies (~90% kleiner) |
| Decodeersnelheid | Onmiddellijke geheugenkopie | Vereist Deflate-decompressie | Vereist LZW- of ZIP-decomprimeren | Vereist IDCT-berekening |
| Scanline-volgorde | Van onder naar boven (omgekeerd) | Van boven naar beneden | Van boven naar beneden / stroken | MCU-blokken van boven naar beneden |
| Geschiktheid voor web | Zeer slecht (grote payloads) | Uitstekend voor grafische afbeeldingen | Slecht (desktop publishing) | Uitstekend voor fotografie |
Veelvoorkomende beschadigingen en gids voor hex-herstel
Afbeelding wordt diagonaal afgeknot of onder een hoek vervormd weergegeven.
Oorzaak: Onjuiste berekening van de rijopvulling (elke scanline is niet opgevuld tot een grens van 4 bytes).
Herstel: Converteer opnieuw met de Image Converter van File2File.app om de juiste 32-bits scanline-stride af te dwingen.
Beveiligingsanalyse en aanvalsvectoren voor parsers
BMP-decoders hebben vaak last van buffer over-reads bij het toewijzen van buffers op basis van niet-vertrouwde DIB-headerdimensies.
Bekende aanvalsvectoren
- Integer overflow in de berekening van breedte * hoogte * bpp, wat leidt tot een kleine heaptoewijzing en out-of-bounds schrijven.
- Beschadigde RLE8- of RLE4-lengte-coderingsequenties die geheugenschrijven buiten de toegewezen buffer veroorzaken.
- Denial of service door geheugentoewijzing van meerdere gigabytes geactiveerd door aangepaste headerdimensies.
Aanbevolen beveiligingspraktijken: Valideer de grenzen van de DIB-headerbreedte, -hoogte en -bitdiepte strikt voordat het doelgeheugen wordt toegewezen.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- Geen kwaliteitsverlies door compressie: 100% bit-exacte pixelopslag zonder compressie-artefacten.
- BMP heeft een native Windows-codec, terwijl de ondersteuning in andere besturingssystemen en applicaties varieert.
- De eenvoudige decodering maakt het ideaal voor ingebedde microcontrollers en educatie in grafische programmering.
Technische beperkingen
- Enorme bestandsgroottes door het ontbreken van moderne entropiecompressie zoals DEFLATE of Huffman-codering.
- Inefficiënt voor webbrowser-transmissie of distributie via mobiele netwerken.
- Bottom-up scanlijnvolgorde vereist verticale rij-inversie in moderne top-down grafische pijplijnen.
Interessante technische weetjes
- BMP slaat afbeeldingsscanlijnen standaard ondersteboven op (van beneden naar boven) vanwege het wiskundige Cartesiaanse coördinatensysteem dat in OS/2 werd gebruikt.
- Als de hoogtewaarde in de BMP-header is ingesteld op een negatief getal, wordt de afbeelding rechtop gedecodeerd (van boven naar beneden).
- Elke scanlijn in een BMP-bestand moet worden aangevuld met nullen tot een veelvoud van 4 bytes (32-bits grens-uitlijning).
Veelgestelde technische vragen
Waarom zijn BMP-bestanden zo groot?
BMP-bestanden slaan onbewerkte, niet-gecomprimeerde kleurwaarden op voor elke afzonderlijke pixel, terwijl formaten zoals PNG die gegevens comprimeren zonder kwaliteitsverlies.
Ondersteunt BMP transparantie?
Ja. 32-bits BMP-bestanden (met BITMAPV3HEADER of nieuwer) kunnen een 8-bits alfakanaal opslaan, hoewel de ondersteuning verschilt per oudere software.
Hoe kan ik de grootte van een BMP-bestand verkleinen?
Het converteren van een BMP-bestand naar PNG kan de bestandsgrootte verkleinen met behoud van pixelwaarden, maar het resultaat hangt af van de inhoud van de afbeelding en de BMP-codering.
Gerelateerde conversieparen voor BMP
Het converteren van niet-gecomprimeerde Windows Bitmap-bestanden naar PNG levert verliesvrije compressie op die bestandsgrootten verkleint zonder de beeldkwaliteit te verminderen.
Het converteren van Portable Network Graphics naar Windows Bitmap transformeert gecomprimeerde rastergegevens in een niet-gecomprimeerd pixelgrid voor verouderde besturingssystemen en hardware-pipelines.
Plaats een ondersteunde BMP-schermafbeelding op één PDF-pagina voor een ticket of rapport. Deze route accepteert niet-gecomprimeerde 24-bits of 32-bits pixels, geen gecomprimeerde BMP-varianten.