BitMaP, a raster image file format frequent in the Microsoft Windows community. It is typically uncompressed, and typically uses either a direct RGB rasterization or 1 to 8 bit per pixel color lookup table. BMP does support simple RLE compression, but that is increasingly uncommon, even in images that would benefit from it.
Since Windows Vista, BMP files may also make use of ARGB colorspaces and they may simply be a wrapper for PNG or JPEG data (useful when the image is large). Care must be taken when handling BMPs containing Alpha data, as the vast majority of editing software simply destroys it. (BMPs have always provided space for Alpha data.)
Because of the file format's relative simplicity (sans PNG and JPEG extensions), it is nowdays commonly usable with software running on systems other than Microsoft Windows, particularly simple games using SDL and the like. Microsoft BMP files and ICO files are closely related, so the ability to read one often leads library developers to support the other as well. All modern browsers, for example, can handle the favicon.ico file to display the little image you see on the left of the "address bar" and on browsing "tabs".
Some older BMP files shipped with Windows have pathological characteristics; software that wishes to handle all possible cases must be aware of them, but for all other practical purposes they can be safely ignored in modern software.
[anyone have a web address for info on bmp format?]
strimj segmentation has a reader strimj::fromBMP2 for binary .BMP files (1 bit per pixel).
In the 1980s, XBM files in the Unix/X-world also often had the .bmp extension, but this is a whole different format, text files in C syntax to describe binary images as sort of a hexdump.
CRIMP can read BMP images.
We have a pure-tcl BMP reader/writer (updated 2007-05-15).