Hvad er BMP-filformatet?
.bmp er en billedfil, der gemmer rastergrafik, udviklet af Microsoft (sammen med IBM til OS/2). BMP-formatet er næsten altid ukomprimeret, så billeder i høj opløsning gemt som .bmp-filer er større end filer gemt i sammenlignelige formater som PNG eller JPEG. Valgfri run-length encoding (RLE) komprimering findes, men bruges sjældent.
BMP er i stand til at gemme billeder i forskellige farvedybder:
- 1-bit monokrom (kun sort og hvid),
- 4-bit (16 forskellige farver),
- 8-bit (256 forskellige farver),
- 16-bit, 24-bit eller 32-bit farve (sidstnævnte tilføjer en alfakanal for gennemsigtighed).
Filstruktur
Hver .bmp-fil har en header-sektion, som indeholder information om farvedybde, filstørrelse og pixeldata-offset, efterfulgt af et array, der repræsenterer bitmap-pixels. Rækker gemmes nedefra og op og udfyldes til 4-byte grænser. Der findes fire DIB-header-versioner - BITMAPCOREHEADER, BITMAPINFOHEADER, BITMAPV4HEADER og BITMAPV5HEADER - hvoraf den sidste tilføjer indlejrede ICC-farveprofiler.
Sikkerhed og tryghed
RISIKO: LOWBMP er rene pixeldata uden scripts eller makroer, så selve formatet er lavrisiko. De eneste forbehold: historisk har få billedbiblioteks-fejl tilladt misdannede BMP-headere (enormt påståede dimensioner, dårlige RLE-forløb) at crashe eller overløbe parsere, så hold din fremviser opdateret; og undgå reklamefyldte «gratis BMP-konverteringssider» - brug IrfanView, GIMP, ImageMagick eller Squoosh i stedet.
Formatdetaljer
kort fortaltProgrammer der åbner BMP-filer
Tekniske detaljer
dyb specifikation| MIME-type | image/bmp (også image/x-bmp, image/x-ms-bmp) |
| Magic bytes | 42 4D («BM») ved byte offset 0 |
| Byte-orden | Little-endian |
| Komprimering | Typisk ingen (BI_RGB); valgfri BI_RLE8 og BI_RLE4 run-length encoding; sjælden BI_BITFIELDS, BI_JPEG, BI_PNG |
| Understøttede farvedybder | 1, 4, 8, 16, 24 eller 32 bit pr. pixel |
| Lagring af pixelrækker | Nedefra og op som standard (sidste række først); negativ højdeværdi signalerer oppefra og ned; hver række udfyldes til en 4-byte grænse |
| Fil-header | BITMAPFILEHEADER - 14 bytes; indeholder BM-signatur, total filstørrelse og pixeldata-offset |
| DIB-header-versioner | BITMAPCOREHEADER (12 bytes), BITMAPINFOHEADER (40 bytes), BITMAPV4HEADER (108 bytes), BITMAPV5HEADER (124 bytes); version identificeres af DWORD ved offset 0x0E |
| Alfakanal | Understøttet i 32-bit tilstand via BITMAPV4HEADER og BITMAPV5HEADER; ikke tilgængelig i 24-bit eller tidligere header-versioner |
| Maksimale billeddimensioner | Op til ~2,1 milliarder pixels pr. side (32-bit signed int i BITMAPINFOHEADER); BITMAPCOREHEADER begrænser til 65.535 px pr. side |
| Farvepalette | Valgfri; op til 256 RGBQUAD-indgange brugt til indekserede tilstande (1, 4, 8 bpp) |
| ICC-farveprofil | Understøttelse af indlejret ICC-profil tilføjet i BITMAPV5HEADER (Windows 98/2000); tidligere headere indeholder ingen farverums-metadata |
| Alternativ filendelse | .dib (Device Independent Bitmap) - identisk format, bruges i flæng på Windows |
| OS/2-varianter | OS/2 Bitmap Array-filer bruger alternative magic-signaturer: BA, CI, CP, IC, PT |
| Udgivet | 1985-1990 (Windows 1.0/2.0; OS/2 1.x); BITMAPINFOHEADER form with Windows 3.0 (1990) |
| Seneste version | BITMAPV5HEADER (Windows 98/2000, 1998) - adds ICC color profiles |
| Åben standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
BMP-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om BMP-filer.