Windows Bitmap (.bmp)
Microsoft ŠtandardBitmap Image File (BMP) je základný rastrový grafický formát nezávislý od zariadenia od spoločnosti Microsoft, ktorý ukladá nekomprimované alebo RLE komprimované riadky s priamou kompatibilitou s hardvérovou vyrovnávacou pamäťou (framebuffer).
Konvertovať BMP do PNG
Bezplatný konvertor z BMP do PNG priamo v prehliadači. Konvertujte súbory okamžite vo svojom zariadení.
Preskúmať a metadáta
Operačné systémy a analyzátory súborov identifikujú súbory BMP kontrolou počiatočnej binárnej bajtovej sekvencie:
Podpis hlavičky na úrovni bajtov (Magic Bytes)
Operačné systémy a analyzátory súborov identifikujú súbory BMP kontrolou počiatočnej binárnej bajtovej sekvencie:
HEXADECIMÁLNY PODPIS (OFFSET 0):
42 4DASCII REPREZENTÁCIA: BM
Štandardizácia: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Technické špecifikácie
| Architektúra kontajnera | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Kompresia | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Poradie bajtov (Endianness) | Little-Endian (Intel x86 byte order) |
| Farebné priestory | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Kanály a štruktúra | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Max. rozmery | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Priehľadnosť | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Streamovanie a postupné načítavanie | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Technická porovnávacia matica: BMP vs konkurenti
| Technický atribút | BMP (Aktuálne) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Režim kompresie | Nekomprimované / Minimálne RLE | Bezstratový Deflate (o ~70 % menší) | Nekomprimované / LZW / Zip | Stratový DCT (o ~90 % menší) |
| Rýchlosť dekódovania | Okamžitá kópia pamäte | Vyžaduje dekompresiu Deflate | Vyžaduje dekompresiu LZW/ZIP | Vyžaduje výpočet IDCT |
| Usporiadanie riadkov | Zospodu nahor (inverzné) | Zhora nadol | Zhora nadol / pásiky | Bloky MCU zhora nadol |
| Vhodnosť pre web | Veľmi slabá (nafúknutý objem dát) | Vynikajúce pre grafiku | Slabá (desktop publishing) | Vynikajúce pre fotografiu |
Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde
Obrázok sa vyreže diagonálne alebo sa skreslí pod určitým uhlom.
Hlavná príčina: Nesprávny výpočet zarovnania riadkov (zlyhanie zarovnania každého riadku na 4-bajtovú hranicu).
Obnova: Znovu zakódujte pomocou nástroja File2File Image Converter na vynútenie správneho 32-bitového kroku riadku.
Bezpečnostná analýza a vektory útokov na parser
Dekodéry BMP často trpia čítaním nad rámec vyrovnávacej pamäte pri alokácii bufferov na základe nedôveryhodných rozmerov hlavičky DIB.
Známe vektory útokov
- Celkové pretečenie pri výpočte šírka * výška * bpp, čo vedie k malej alokácii haldy a zápisu mimo hraníc.
- Poškodené únikové sekvencie dĺžky behu RLE8/RLE4 spôsobujúce zápis do pamäte za pridelenou vyrovnávacou pamäťou.
- Odopretie služby (DoS) prostredníctvom viacgigabajtovej alokácie pamäte vyvolanej upravenými rozmermi v hlavičke.
Najlepšie obranné postupy:
Historický pôvod a míľniky
Kľúčové výhody a prednosti
- Nulová strata kompresiou: 100 % presné ukladanie pixelov na úrovni bitov bez kompresných artefaktov.
- Univerzálna natívna podpora operačného systému vo všetkých verziách Windows, Linux a macOS.
- Triviálna zložitosť dekódovania ho predurčuje pre vstavané mikroprocesory a výučbu grafického programovania.
Technické obmedzenia a nevýhody
- Obrovské veľkosti súborov v dôsledku absencie modernej entropickej kompresie, ako je DEFLATE alebo Huffmanovo kódovanie.
- Neefektívne pre webový prenos alebo distribúciu v mobilných sieťach.
- Usporiadanie riadkov zdola nahor vyžaduje vertikálnu inverziu riadkov v moderných grafických pipeline s orientáciou zhora nadol.
Zaujímavé technické drobnosti
- BMP štandardne ukladá riadky obrazu hore nohami (zospodu nahor) kvôli matematickému karteziánskemu súradnicovému systému použitému v OS/2.
- Ak je hodnota výšky v hlavičke BMP nastavená na záporné číslo, obrázok sa dekóduje normálne zhora nadol.
- Každý riadok v súbore BMP musí byť doplnený nulami na násobok 4 bajtov (zarovnanie na 32-bitovú hranicu).
Často kladené technické otázky
Prečo sú súbory BMP také veľké?
Súbory BMP ukladajú surové, nekomprimované hodnoty farieb pre každý jeden pixel, zatiaľ čo formáty ako PNG tieto dáta komprimujú bez straty akéhokoľvek detailu.
Podporuje BMP priehľadnosť?
Áno. 32-bitové súbory BMP (s hlavičkou BITMAPV3HEADER alebo novšou) môžu ukladať 8-bitový alfa kanál, hoci podpora sa u staršieho softvéru môže líšiť.
Ako môžem zmenšiť veľkosť súboru BMP?
Konverzia súboru BMP na PNG pomocou File2File.app zvyčajne zníži veľkosť súboru o 60 % až 85 % bez akejkoľvek straty vizuálnej kvality.
Súvisiace konverzné páry pre BMP
Konverzia nekomprimovaných súborov Windows Bitmap do formátu PNG prináša bezstratovú kompresiu, ktorá zmenšuje veľkosť súborov bez zníženia kvality obrazu.
Konverzia súborov Portable Network Graphics na Windows Bitmap transformuje komprimované rastrové dáta na nekomprimovanú mriežku pixelov pre staršie operačné systémy a hardvérové potrubia.