Hva er BMP-filformatet?
.bmp er en bildefil som lagrer rastergrafikk, utviklet av Microsoft (sammen med IBM, for OS/2). BMP-formatet er nesten alltid ukomprimert, så bilder med høy oppløsning lagret som .bmp-filer er større enn filer lagret i sammenlignbare formater som PNG eller JPEG. Valgfri run-length encoding (RLE) komprimering eksisterer, men brukes sjelden.
BMP er i stand til å lagre bilder i ulike fargedybder:
- 1-bit monokrom (kun svart og hvitt),
- 4-bit (16 distinkte farger),
- 8-bit (256 distinkte farger),
- 16-bit, 24-bit eller 32-bit farge (sistnevnte legger til en alfakanal for gjennomsiktighet).
Filstruktur
Hver .bmp-fil har en hodeseksjon (header) som inneholder informasjon om fargedybde, filstørrelse og pikseldata-offset, etterfulgt av en matrise som representerer bitmap-piksler. Rader lagres nedenfra og opp (bottom-up) og fylles ut til 4-byte grenser. Det finnes fire DIB-headerversjoner - BITMAPCOREHEADER, BITMAPINFOHEADER, BITMAPV4HEADER og BITMAPV5HEADER - hvorav den siste legger til innebygde ICC-fargeprofiler.
Sikkerhet og trygghet
RISIKO: LOWBMP er rene pikseldata uten skript eller makroer, så selve formatet har lav risiko. De eneste forbeholdene: historisk har noen få bildebibliotek-feil tillatt misdannede BMP-headere (enorme påståtte dimensjoner, dårlige RLE-sekvenser) å krasje eller overbelaste programvare, så hold bildeviseren din oppdatert; og unngå reklamefylte «gratis BMP-konvertering»-sider - bruk IrfanView, GIMP, ImageMagick eller Squoosh i stedet.
Formatdetaljer
i et nøtteskallProgrammer som åpner BMP-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | image/bmp (også image/x-bmp, image/x-ms-bmp) |
| Magic bytes | 42 4D («BM») ved byte-offset 0 |
| Byterekkefølge | Little-endian |
| Komprimering | Vanligvis ingen (BI_RGB); valgfri BI_RLE8 og BI_RLE4 run-length encoding; sjelden BI_BITFIELDS, BI_JPEG, BI_PNG |
| Støttede fargedybder | 1, 4, 8, 16, 24, eller 32 biter per piksel |
| Lagring av pikselrader | Nedenfra og opp som standard (siste rad først); negativ høydeverdi signaliserer ovenfra og ned; hver rad fylles ut til en 4-byte grense |
| Fil-header | BITMAPFILEHEADER - 14 bytes; inneholder BM-signatur, total filstørrelse og pikseldata-offset |
| DIB-headerversjoner | BITMAPCOREHEADER (12 bytes), BITMAPINFOHEADER (40 bytes), BITMAPV4HEADER (108 bytes), BITMAPV5HEADER (124 bytes); versjon identifisert av DWORD ved offset 0x0E |
| Alfakanal | Støttes i 32-bit modus via BITMAPV4HEADER og BITMAPV5HEADER; ikke tilgjengelig i 24-bit eller tidligere headerversjoner |
| Maksimal bildestørrelse | Opptil ~2,1 milliarder piksler per side (32-bit signert heltall i BITMAPINFOHEADER); BITMAPCOREHEADER begrenser til 65 535 px per side |
| Fargepalett | Valgfritt; opptil 256 RGBQUAD-oppføringer brukt for indekserte moduser (1, 4, 8 bpp) |
| ICC-fargeprofil | Støtte for innebygd ICC-profil lagt til i BITMAPV5HEADER (Windows 98/2000); tidligere headere inneholder ingen metadata for fargerom |
| Alternativ filendelse | .dib (Device Independent Bitmap) - identisk format, brukes om hverandre på Windows |
| OS/2-varianter | OS/2 Bitmap Array-filer bruker alternative magic-signaturer: BA, CI, CP, IC, PT |
| Utgitt | 1985-1990 (Windows 1.0/2.0; OS/2 1.x); BITMAPINFOHEADER form with Windows 3.0 (1990) |
| Siste versjon | BITMAPV5HEADER (Windows 98/2000, 1998) - adds ICC color profiles |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | learn.microsoft.com |
BMP-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om BMP-filer.