Obrázek Windows Bitmap (.bmp)
Microsoft StandardníBitmap Image File (BMP) je základní rastrový grafický formát nezávislý na zařízení od společnosti Microsoft, který ukládá nekomprimované řádky pixelů nebo řádky komprimované pomocí RLE s přímou kompatibilitou s hardwarovou vyrovnávací pamětí (framebufferem).
Převést BMP na PNG
Bezplatný konvertor z BMP do PNG v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory BMP kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory BMP kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
42 4DASCII REPREZENTACE: BM
Standardizace: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Technické specifikace
| Architektura kontejneru | Hlavička BITMAPFILEHEADER, za ní hlavička BITMAPINFOHEADER (DIB) a pole rastrových pixelů |
| Komprese | Nekomprimované surové řádky nebo volitelné kódování délek běhů BI_RLE8 / BI_RLE4 |
| Pořadí bajtů | Little-endian (pořadí bajtů procesorů Intel x86) |
| Barevné prostory | RGB závislé na zařízení, sRGB (vložený v BITMAPV5HEADER) |
| Kanály a struktura | 1bitový monochromatický obraz, 4bitová či 8bitová paleta, 16bitové, 24bitové RGB nebo 32bitové RGBA |
| Max. rozměry | 2,147,483,647 x 2,147,483,647 pixelů (32bitové celé číslo se znaménkem) |
| Průhlednost | Moderní formáty BITMAPV3HEADER a V5HEADER podporují 32bitovou masku alfa BGRA |
| Streamování a progresivní načítání | Nestreamovatelný; řádky jsou uloženy vzhůru nohama (zdola nahoru), pokud je výška kladná |
Technická srovnávací matice: BMP vs konkurence
| Technický atribut | BMP (Aktuální) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Režim komprese | Nekomprimováno / Minimální RLE | Bezztrátová komprese Deflate; úspora místa závisí na obsahu obrázku | Nekomprimováno / LZW / Zip | Ztrátový DCT (cca o 90 % menší) |
| Rychlost dekódování | Okamžité kopírování paměti | Vyžaduje dekompresi Deflate | Vyžaduje dekompresi LZW/ZIP | Vyžaduje výpočet IDCT |
| Uspořádání řádků | Odspodu nahoru (převrácené) | Shora dolů | Shora dolů / Proužky (Strips) | Bloky MCU shora dolů |
| Vhodnost pro web | Velmi špatná (přemrštěný objem dat) | Vynikající pro grafiku | Špatná (stolní publikační systémy) | Vynikající pro fotografii |
Běžné režimy poškození a příručka pro obnovení v hex
Obrázek se vykresluje úhlopříčně zkosený nebo nakloněný pod úhlem.
Hlavní příčina: Nesprávný výpočet zarovnání řádků (selhání při zarovnání každého řádku na 4bajtovou hranici).
Obnovení: Znovu zakódujte pomocí nástroje File2File.app Image Converter, abyste vynutili správný 32bitový krok řádku (stride).
Bezpečnostní analýza a vektory útoků na parser
Dekodéry BMP často trpí čtením za hranicemi vyrovnávací paměti při alokaci paměti na základě nedůvěryhodných rozměrů v hlavičce DIB.
Známé vektory útoků
- Celočíselné přetečení ve výpočtu šířka * výška * bpp vedoucí k alokaci malé haldy a zápisu mimo vyrovnávací paměť.
- Poškozené řídicí sekvence kódování délky běhu RLE8/RLE4 způsobující zápis do paměti za přidělenou vyrovnávací paměť.
- Odepření služby (DoS) prostřednictvím vícesigabytové alokace paměti vyvolané upravenými rozměry v hlavičce.
Doporučené bezpečnostní postupy: Před alokací cílové paměti přísně ověřte meze šířky, výšky a bitové hloubky hlavičky DIB.
Historický vývoj a milníky
Klíčové výhody a přednosti
- Žádná degradace kompresí: 100 % bitově přesné uložení pixelů bez kompresních artefaktů.
- Windows má nativní kodek BMP, zatímco podpora v jiných operačních systémech a aplikacích se liší.
- Triviální složitost dekódování jej činí ideálním pro vestavěné mikrokontroléry a výuku grafického programování.
Technická omezení a nevýhody
- Obrovská velikost souborů kvůli absenci moderní entropické komprese, jako je DEFLATE nebo Huffmanovo kódování.
- Neefektivní pro přenos po webu nebo distribuci v mobilních sítích.
- Uspořádání řádků odspodu nahoru vyžaduje vertikální převrácení řádků v moderních grafických kanálech shora dolů.
Zajímavé technické drobnosti
- Formát BMP ukládá obrazové řádky ve výchozím nastavení vzhůru nohama (odspodu nahoru) kvůli matematickému kartézskému souřadnicovému systému použitému v OS/2.
- Pokud je hodnota výšky v hlavičce BMP nastavena na záporné číslo, obrázek se dekóduje správně orientovaný (shora dolů).
- Každý řádek v souboru BMP musí být doplněn nulami tak, aby jeho délka byla násobkem 4 bajtů (zarovnání na 32bitovou hranici).
Často kladené technické otázky
Proč jsou soubory BMP tak velké?
Soubory BMP ukládají surové, nekomprimované hodnoty barev pro každý jeden pixel, zatímco formáty jako PNG tato data komprimují bez ztráty jakékoliv kvality.
Podporuje formát BMP průhlednost?
Ano. 32bitové soubory BMP (využívající BITMAPV3HEADER nebo novější) mohou obsahovat 8bitový alfa kanál, ačkoliv podpora se u staršího softwaru může lišit.
Jak mohu zmenšit velikost souboru BMP?
Převod souboru BMP do PNG může zmenšit jeho velikost při zachování hodnot pixelů; výsledek závisí na obsahu obrázku a kódování BMP.
Související konverzní páry pro BMP
Konverze nekomprimovaných souborů Windows Bitmap do formátu PNG přináší bezeztrátovou kompresi, která zmenšuje velikost souborů bez snížení kvality obrazu.
Převedení formátu PNG (Portable Network Graphics) na Windows Bitmap transformuje komprimovaná rastrová data na nekomprimovanou mřížku pixelů pro starší operační systémy a hardwarové kanály.
Umístěte podporovaný snímek obrazovky ve formátu BMP na jednu stránku PDF pro lístek nebo hlášení. Tato cesta přijímá nekomprimované 24bitové nebo 32bitové pixely, nikoli komprimované varianty BMP.