- X BitMap
Infobox file format
name = X BitMap
extension = .xbm
mime = image/x-xbitmapunofficialimage/x-xbm
unofficial
In
owner =
creatorcode = XBM
genre =Image file formats
containerfor =
containedby =
extendedfrom =
extendedto = XPMcomputer graphics , theX Window System uses X BitMap (XBM), an ASCII textmonochrome image format, for storing cursor andicon bitmap s used in the X GUI. XBM files differ markedly from most image files in that they take the form of C source files. This means that they can be compiled directly into an application without any preprocessing steps, but it also makes them far larger than their raw pixel data would be (each byte of image data takes 5 bytes in a XBM file).XBM data typically appears in
header s (.h files) and consist of a series of static unsigned chararray s containing the monochromepixel data. They feature one array per image stored in the header.The following piece of C code exemplifies an XBM file:
#define test_width 16 #define test_height 7 static char test_bits [] = { 0x13, 0x00, 0x15, 0x00, 0x93, 0xcd, 0x55, 0xa5, 0x93, 0xc5, 0x00, 0x80, 0x00, 0x60 };
The file defines a 16x7 bitmap. One can view it by opening a new text file, pasting in the C code above, naming it blarg.xbm, and then trying to view blarg.xbm either in an
image viewer or via aweb browser .In place of the usual image-file-format header, XBM files have two or four #define statements. The first two #defines specify the height and width of the bitmap in pixels. The second two, if they exist, specify the position of any hotspot within the bitmap. (Programmers use a hotspot within the image for bitmapped cursors to define where to position the "pointer" of the cursor, generally at 0,0.)
The image data consists of a line of pixel values stored in a static array. Because a single
bit represents each pixel (black or white), each byte in the array contains the information for eight pixels, with the upper left pixel in the bitmap represented by the low bit of the first byte in the array. If the image width does not match a multiple of 8, the display mechanism ignores and discards the extra bits in the last byte of each row.Compare
X PixMap A number of web browsers still offer support for displaying XBM images. This is a holdover from the early days of the WWW, when XBM was the minimal non-proprietary image file format. XBM support was removed from Internet Explorer 6, although it is still supported in
Firefox and some other browsers, including Safari and Opera.ee also
*
Netpbm format
Wikimedia Foundation. 2010.