Windows rastrs (.bmp)
Microsoft StandartsBitmap Image File (BMP) ir Microsoft pamata no ierīces neatkarīgais rastra grafikas formāts, kas glabā nesaspiestas vai ar RLE saspiestas rindiņas (scanlines) ar tiešu aparatūras kadru bufera saderību.
Konvertēt BMP uz PNG
Bezmaksas BMP uz PNG konvertētājs pārlūkprogrammā. Konvertējiet failus uzreiz savā ierīcē.
Pārbaudīt un metadati
Operētājsistēmas un failu analizatori identificē BMP failus, pārbaudot sākotnējo bināro baitu secību:
Baitu līmeņa galvenes paraksts (maģiskie baiti)
Operētājsistēmas un failu analizatori identificē BMP failus, pārbaudot sākotnējo bināro baitu secību:
HEKSADECIMĀLAIS PARAKSTS (NOBĪDE 0):
42 4DASCII ATTEIOLOJUMS: BM
Standartizācija: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Tehniskās specifikācijas
| Konteinera arhitektūra | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Saspiešana | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Baitu secība | Little-Endian (Intel x86 byte order) |
| Krāsu telpas | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Kanāli un struktūra | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Maks. izmēri | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Caurspīdīgums | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Straumēšana un progresīvā ielāde | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Tehniskā salīdzinājuma matrica: BMP pret konkurentiem
| Tehniskais atribūts | BMP (Pašreizējais) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Kompresijas režīms | Nesaspiests / Minimāls RLE | Bezzudumu Deflate (~70% mazāks) | Nesaspiests / LZW / Zip | Zudumains DCT (~90% mazāks) |
| Dekodēšanas ātrums | Tūlītēja atmiņas kopēšana | Nepieciešama Deflate dekompresija | Nepieciešama LZW/ZIP dekompresija | Nepieciešams IDCT aprēķins |
| Rindiņu secība | No apakšas uz augšu (apgriezta) | No augšas uz leju | No augšas uz leju / Segmenti | No augšas uz leju MCU bloki |
| Piemērotība tīmeklim | Ļoti slikta (pārmērīgi lieli dati) | Lieliski piemērots grafikai | Slikta (datorizgaste) | Lieliski piemērots fotogrāfijai |
Biežākie bojājumu veidi un heksadecimālās atkopšanas ceļvedis
Attēls tiek renderēts pa diagonāli nobīdīts vai leņķī sašķiebs.
Pamatcēlonis: Nepareizs rindu papildinājuma aprēķins (kļūda katras rindiņas papildināšanā līdz 4 baitu robežai).
Atkopšana: Atkārtoti kodējiet, izmantojot File2File Image Converter, lai nodrošinātu pareizu 32 bitu rindiņas soli (stride).
Drošības analīze un parsētāja uzbrukuma vektori
BMP dekoderi bieži cieš no bufera pārlasīšanas, piešķirot atmiņas buferus, pamatojoties uz neuzticamiem DIB galvenes izmēriem.
Zināmie uzbrukuma vektori
- Veselu skaitļu pārplūde platuma * augstuma * bpp aprēķinā, kas izraisa nelielu kaudzes (heap) atmiņas piešķiršanu un rakstīšanu ārpus robežām.
- Bojātas RLE8/RLE4 garuma kodējuma aizbēgšanas sekvences, kas izraisa atmiņas rakstīšanu ārpus piešķirtā bufera.
- Pakalpojuma atteice (DoS) ar daudzu gigabaitu atmiņas piešķiršanu, ko izraisa speciāli veidoti galvenes izmēri.
Aizsardzības labākā prakse:
Vēsturiskā izcelsme un pavērsieni
Galvenās priekšrocības un plusi
- Nulles kompresijas degradācija: 100% bitu ziņā precīza pikseļu glabāšana bez kompresijas artefaktiem.
- Universāls vietējās operētājsistēmas atbalsts visās Windows, Linux un macOS versijās.
- Triviāla dekodēšanas sarežģītība padara to ideālu iegultajiem mikrokontrolleriem un grafikas programmēšanas apmācībai.
Tehniskie ierobežojumi un mīnusi
- Milzīgi failu izmēri mūsdienu entropijas kompresijas, piemēram, DEFLATE vai Huffman kodēšanas, trūkuma dēļ.
- Neefektīvs tīmekļa pārsūtīšanai vai mobilo tīklu izplatīšanai.
- Secība no apakšas uz augšu prasa vertikālu rindu apgriešanu mūsdienu grafikas cauruļvados no augšas uz leju.
Interesanti tehniski fakti
- BMP pēc noklusējuma saglabā attēla rindiņas otrādi (no apakšas uz augšu) matemātiskās Dekarta koordinātu sistēmas dēļ, ko izmantoja OS/2.
- Ja augstuma vērtība BMP galvenē ir iestatīta kā negatīvs skaitlis, attēls tiek dekodēts pareizi (no augšas uz leju).
- Katra rindiņa BMP failā ir jāpapildina ar nullēm līdz 4 baitu reizinātājam (32 bitu robežas līdzināšana).
Bieži uzdotie tehniskie jautājumi
Kāpēc BMP faili ir tik lieli?
BMP faili saglabā neapstrādātas, nesaspiestas krāsu vērtības katram atsevišķam pikselim, savukārt tādi formāti kā PNG saspiež šos datus, nezaudējot kvalitāti.
Vai BMP var atbalstīt caurspīdīgumu?
Jā. 32 bitu BMP faili (izmantojot BITMAPV3HEADER vai jaunāku) var saglabāt 8 bitu alfa kanālu, lai gan atbalsts vecākās programmās var atšķirties.
Kā es varu samazināt BMP faila izmēru?
BMP faila konvertēšana uz PNG ar File2File.app parasti samazina faila izmēru par 60% līdz 85% bez jebkādiem vizuālās kvalitātes zudumiem.
Saistītie BMP konvertēšanas pāri
Nesaspiestu Windows bitkartes failu konvertēšana uz PNG nodrošina bezzaudējumu saspiešanu, kas samazina failu izmēru, nesamazinot attēla kvalitāti.
Pārnēsājamā tīkla grafikas (PNG) konvertēšana uz Windows bitkarti pārveido saspiestus rastra datus nesaspiestā pikseļu režģī mantotajām operētājsistēmām un aparatūras cauruļvadiem.