Windows Bitmap (.bmp)

Microsoft Štandard

Bitmap 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:

Vyberte alebo presuňte súbory sem

100 % súkromná konverzia v prehliadači - súbory nikdy neopustia vaše zariadenie

alebo prilepiť Ctrl+V
Záruka súkromia s nulovým prenosom do siete: 0 bajtov odovzdaných na externé servery. Všetko spracovanie prebehlo lokálne v pieskovisku vášho prehliadača.

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 4D

ASCII REPREZENTÁCIA: BM

Štandardizácia: Microsoft Windows Device-Independent Bitmap (DIB) Architecture

Technické špecifikácie

Architektúra kontajneraBITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array
KompresiaUncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding
Poradie bajtov (Endianness)Little-Endian (Intel x86 byte order)
Farebné priestoryDevice Dependent RGB, sRGB (BITMAPV5HEADER embedded)
Kanály a štruktúra1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA
Max. rozmery2,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čítavanieNon-streamable; scanlines stored upside-down (bottom-up) unless height is negative

Technická porovnávacia matica: BMP vs konkurenti

Technický atribútBMP (Aktuálne)PNGTIFFJPG
Režim kompresieNekomprimované / Minimálne RLEBezstratový Deflate (o ~70 % menší)Nekomprimované / LZW / ZipStratový DCT (o ~90 % menší)
Rýchlosť dekódovaniaOkamžitá kópia pamäteVyžaduje dekompresiu DeflateVyžaduje dekompresiu LZW/ZIPVyžaduje výpočet IDCT
Usporiadanie riadkovZospodu nahor (inverzné)Zhora nadolZhora nadol / pásikyBloky MCU zhora nadol
Vhodnosť pre webVeľmi slabá (nafúknutý objem dát)Vynikajúce pre grafikuSlabá (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

1998Windows 98 predstavuje BITMAPV5HEADER, ktorý pridáva správu farebných profilov ICC a korekciu tónovej γ-krivky (gamma).
1990Windows 3.0 štandardizuje špecifikáciu DIB BITMAPINFOHEADER naprieč celým operačným systémom.
1987Predstavený v systémoch Windows 2.0 a OS/2 1.1 ako natívny rastrový formát zobrazenia.

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.