Windows bitmap (.bmp)

Microsoft Szabvány

A Bitmap Image File (BMP) a Microsoft alapvető, eszköztől független rasztergrafikus formátumai közé tartozik, amely tömörítetlen vagy RLE-tömörített rasztersorokat (scanline) tárol közvetlen hardveres keretpuffer-kompatibilitással.

BMP konvertálása erre: PNG

Ingyenes, böngészőn belüli BMP - PNG konvertáló. Konvertáljon fájlokat azonnal az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) BMP fájlokat:

Válasszon ki vagy ejtsen ide fájlokat

100%-ban magánjellegű, böngészőn belüli konvertálás - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Nulla hálózati adatátviteli adatvédelmi garancia: 0 bájt lett feltöltve külső szerverekre. Minden feldolgozás helyben, az Ön böngészőjének homokozójában történt.

Bájt-szintű fejléc aláírás (Magic Bytes)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) BMP fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

42 4D

ASCII REPREZENTÁCIÓ: BM

Szabványosítás: Microsoft Windows Device-Independent Bitmap (DIB) Architecture

Műszaki specifikációk

Konténer architektúraBITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array
TömörítésUncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding
BájtsorrendLittle-Endian (Intel x86 byte order)
SzínterekDevice Dependent RGB, sRGB (BITMAPV5HEADER embedded)
Csatornák és struktúra1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA
Max. méretek2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer)
Átlátszóság32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats
Streaming és progresszívNon-streamable; scanlines stored upside-down (bottom-up) unless height is negative

Műszaki összehasonlító mátrix: BMP vs Versenytársak

Technikai attribútumBMP (Jelenlegi)PNGTIFFJPG
Tömörítési módTömörítetlen / Minimális RLEVeszteségmentes Deflate (~70%-kal kisebb)Tömörítetlen / LZW / ZipVeszteséges DCT (~90%-kal kisebb)
Dekódolási sebességAzonnali memóriamásolásDeflate dekompressziót igényelLZW/ZIP dekompressziót igényelIDCT számítást igényel
Rasztersorok sorrendjeAlulról felfelé (fordított)Fentről lefeléFentről lefelé / Csíkok (Strips)Fentről lefelé MCU blokkok
Webes alkalmasságNagyon gyenge (túlméretezett adatok)Kiváló grafikákhozGyenge (kiadványszerkesztés)Kiváló fotózáshoz

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A kép ferdén megnyírva vagy szögben eltorzulva jelenik meg.

Kiváltó ok: Helytelen sor-kitöltési (padding) számítás (az egyes rasztersorok 4 bájtos határra történő kiegészítésének elmaradása).

Helyreállítás: Kódolja újra a File2File Image Converter használatával a helyes 32 bites rasztersor-lépésköz (stride) kényszerítéséhez.

Biztonsági elemzés és elemző (parser) támadási vektorok

A BMP dekódolók gyakran szenvednek pufferméreten túli olvasástól, amikor a nem megbízható DIB-fejléc méretei alapján foglalnak le puffereket.

Ismert támadási vektorok

  • Egész túlcsordulás a szélesség * magasság * bpp számításban, ami kis méretű halom (heap) lefoglaláshoz és határokon túli íráshoz vezet.
  • Sérült RLE8/RLE4 futáshossz-kódolási (run-length) vezérlősorozatok, amelyek memóriába írást okoznak a lefoglalt pufferen túl.
  • Szolgáltatásmegtagadás (DoS) több gigabájtos memóriafoglaláson keresztül, amelyet egyedi fejléc-méretek váltanak ki.

Védekező Legjobb Gyakorlatok:

Történeti háttér és mérföldkövek

1998A Windows 98 bevezeti a BITMAPV5HEADER-t, kiegészítve azt ICC színprofil-kezeléssel és gammatámogatással.
1990A Windows 3.0 szabványosítja a BITMAPINFOHEADER DIB specifikációt az operációs rendszerben.
1987Bevezetésre kerül a Windows 2.0 és az OS/2 1.1 részeként natív megjelenítési raszterformátumként.

Főbb előnyök

  • Nulla tömörítési romlás: 100%-ban bitpontos képponttárolás tömörítési műtermékek nélkül.
  • Univerzális natív operációsrendszer-támogatás a Windows, Linux és macOS minden verziójában.
  • Az egyszerű dekódolási komplexitás ideálissá teszi beágyazott mikrokontrollerekhez és a grafikai programozás oktatásához.

Technikai korlátok és hátrányok

  • Hatalmas fájlméretek a modern entrópia-tömörítések, például a DEFLATE vagy a Huffman-kódolás hiánya miatt.
  • Nem hatékony webes továbbításhoz vagy mobilhálózati terjesztéshez.
  • A lentről felfelé haladó rasztersor-sorrend függőleges sorfordítást igényel a modern fentről lefelé építkező grafikai folyamatokban.

Érdekes technikai tudnivalók

  • A BMP alapértelmezés szerint fejjel lefelé (alulról felfelé) tárolja a képsorokat az OS/2-ben használt matematikai Descartes-féle koordinátarendszer miatt.
  • Ha a BMP fejlécben a magasság értéke negatív számra van állítva, a kép a helyes irányban (fentről lefelé) dekódolódik.
  • A BMP fájl minden egyes rasztersorát nullákkal kell kiegészíteni (kitölteni), hogy az 4 bájt többszöröse legyen (32 bites határhoz igazítva).

Gyakran Ismételt Műszaki Kérdések

Miért olyan nagyok a BMP fájlok?

A BMP fájlok nyers, tömörítetlen színértékeket tárolnak minden egyes pixelhez, míg az olyan formátumok, mint a PNG, minőségromlás nélkül tömörítik ezeket az adatokat.

Támogatja a BMP az átlátszóságot?

Igen. A 32 bites BMP fájlok (BITMAPV3HEADER vagy újabb verzió használatával) képesek 8 bites alfa-csatornát tárolni, bár a támogatás a régebbi szoftverekben változó.

Hogyan csökkenthetem egy BMP fájl méretét?

Egy BMP fájl PNG formátumba történő konvertálása a File2File.app segítségével jellemzően 60-85%-kal csökkenti a fájlméretet, a vizuális minőség semmilyen romlása nélkül.