Wat is het BMP-bestandsformaat?
.bmp is een afbeeldingsbestand dat rasterafbeeldingen opslaat, ontwikkeld door Microsoft (samen met IBM, voor OS/2). Het BMP-formaat is bijna altijd ongecomprimeerd, waardoor afbeeldingen met een hoge resolutie die als .bmp-bestanden zijn opgeslagen groter zijn dan bestanden die zijn opgeslagen in vergelijkbare formaten zoals PNG of JPEG. Optionele run-length encoding (RLE) compressie bestaat, maar wordt zelden gebruikt.
BMP is in staat om afbeeldingen op te slaan in verschillende kleurdieptes:
- 1-bit monochroom (alleen zwart-wit),
- 4-bit (16 verschillende kleuren),
- 8-bit (256 verschillende kleuren),
- 16-bit, 24-bit of 32-bit kleur (de laatste voegt een alfakanaal toe voor transparantie).
Bestandsstructuur
Elk .bmp-bestand heeft een header-sectie die informatie bevat over de kleurdiepte, bestandsgrootte en de offset van de pixelgegevens, gevolgd door een array die de bitmap-pixels vertegenwoordigt. Rijen worden van onder naar boven opgeslagen en opgevuld tot grenzen van 4 bytes. Er bestaan vier DIB-headerversies - BITMAPCOREHEADER, BITMAPINFOHEADER, BITMAPV4HEADER en BITMAPV5HEADER - waarvan de laatste ingebedde ICC-kleurprofielen toevoegt.
Beveiliging & veiligheid
RISICO: LOWBMP bevat gewone pixelgegevens zonder scripts of macro's, dus het formaat zelf is risicoarm. De enige kanttekeningen: historisch gezien zorgden een paar bugs in afbeeldingsbibliotheken ervoor dat misvormde BMP-headers (enorme geclaimde afmetingen, slechte RLE-runs) parsers konden laten crashen; houd uw viewer dus up-to-date en vermijd met advertenties beladen „gratis BMP-converter”-sites - gebruik in plaats daarvan IrfanView, GIMP, ImageMagick of Squoosh.
Formaatdetails
in een notendopProgramma's die BMP-bestanden openen
magick image.bmp image.png om te converteren vanaf de opdrachtregel. Technische details
diepe specificaties| MIME-type | image/bmp (ook image/x-bmp, image/x-ms-bmp) |
| Magic bytes | 42 4D („BM”) bij byte-offset 0 |
| Byte-volgorde | Little-endian |
| Compressie | Meestal geen (BI_RGB); optionele BI_RLE8 en BI_RLE4 run-length encoding; zeldzame BI_BITFIELDS, BI_JPEG, BI_PNG |
| Ondersteunde kleurdieptes | 1, 4, 8, 16, 24, of 32 bits per pixel |
| Opslag van pixelrijen | Standaard van onder naar boven (laatste rij eerst); negatieve hoogtewaarde duidt op boven naar beneden; elke rij opgevuld tot een grens van 4 bytes |
| Bestandsheader | BITMAPFILEHEADER - 14 bytes; bevat BM-handtekening, totale bestandsgrootte en pixeldata-offset |
| DIB-headerversies | BITMAPCOREHEADER (12 bytes), BITMAPINFOHEADER (40 bytes), BITMAPV4HEADER (108 bytes), BITMAPV5HEADER (124 bytes); versie geïdentificeerd door DWORD op offset 0x0E |
| Alfakanaal | Ondersteund in 32-bit modus via BITMAPV4HEADER en BITMAPV5HEADER; niet beschikbaar in 24-bit of eerdere headerversies |
| Maximale afbeeldingsafmetingen | Tot ~2,1 miljard pixels per zijde (32-bit signed int in BITMAPINFOHEADER); BITMAPCOREHEADER beperkt tot 65.535 px per zijde |
| Kleurenpalet | Optioneel; tot 256 RGBQUAD-vermeldingen gebruikt voor geïndexeerde modi (1, 4, 8 bpp) |
| ICC-kleurprofiel | Ondersteuning voor ingebedde ICC-profielen toegevoegd in BITMAPV5HEADER (Windows 98/2000); eerdere headers bevatten geen kleurruimte-metadata |
| Alternatieve extensie | .dib (Device Independent Bitmap) - identiek formaat, uitwisselbaar gebruikt op Windows |
| OS/2-varianten | OS/2 Bitmap Array-bestanden gebruiken alternatieve magic signatures: BA, CI, CP, IC, PT |
| Uitgebracht | 1985-1990 (Windows 1.0/2.0; OS/2 1.x); BITMAPINFOHEADER form with Windows 3.0 (1990) |
| Laatste versie | BITMAPV5HEADER (Windows 98/2000, 1998) - adds ICC color profiles |
| Open standaard | Ja · royaltyvrij |
| Specificatie | learn.microsoft.com |
BMP conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over BMP-bestanden.