MBM File Format (Modern BitMap)
MBM file format specification - MBM.TXTNewest compressions for MBM specification - MBM-SAC.txt
MyBitmap (version 1.1) demonstration program + sample mbm images - MyBitmap.zip
New in version 1.10: rewritten as 64bit version; added support for HEIC, JXR and WebP files; added support for animated PNG and WebP files. For complete list see Version.txt file.
MBM file format has been designed as a modern bitmap. It possesses 3 main futures which makes it superior in some areas over other formats:
- It is simple. While retaining it simplicity, it provides few simple compression methods capable of reducing image filesize significantly, if image does contain large plain areas.
- It is modern. It does not contain any obsolete fields or any hardware dependent "features".
- It does support transparency in all colordepth modes it supports (except for 24bit colordepth mode), thus being the only format in the world that practically supports all levels of transparency in 8 and 1 bit colordepth mode.
Possible areas where usage of MBM file format can bring an advantage:
- Areas in which there is a need to use a graphic format that is simple (easy to implement either by software or hardware) and does not affect original image quality.
- Small images would be applicable as a components of web pages. MBM file format supports full/all levels of transparency, which can bring new possibilities to web designing. Resulting images would have small filesize (MBM image has extremelly small header, and supports tranparency in 8 and 1-bit colordepth mode, along with few compression formats).
- Any other areas in which there is a need to use tranparent images with small number of colors and where size of a file matters. Using 8bpp compressed MBM format will result in substantial filesize loss comparing to any uncompressed 32bpp format.
*Note: It has recently come to our attention that there already exist a graphic file format that uses .mbm extension. It is internal format of some company. In the unlikely case you would like to support also that format in your software, you'll need to analyze file header to determine which routine should be used to read the file.