elisp: XBM Images
37.17.3 XBM Images
------------------
To use XBM format, specify ‘xbm’ as the image type. This image format
doesn’t require an external library, so images of this type are always
supported.
Additional image properties supported for the ‘xbm’ image type are:
‘:foreground FOREGROUND’
The value, FOREGROUND, should be a string specifying the image
foreground color, or ‘nil’ for the default color. This color is
used for each pixel in the XBM that is 1. The default is the
frame’s foreground color.
‘:background BACKGROUND’
The value, BACKGROUND, should be a string specifying the image
background color, or ‘nil’ for the default color. This color is
used for each pixel in the XBM that is 0. The default is the
frame’s background color.
If you specify an XBM image using data within Emacs instead of an
external file, use the following three properties:
‘:data DATA’
The value, DATA, specifies the contents of the image. There are
three formats you can use for DATA:
• A vector of strings or bool-vectors, each specifying one line
of the image. Do specify ‘:height’ and ‘:width’.
• A string containing the same byte sequence as an XBM file
would contain. You must not specify ‘:height’ and ‘:width’ in
this case, because omitting them is what indicates the data
has the format of an XBM file. The file contents specify the
height and width of the image.
• A string or a bool-vector containing the bits of the image
(plus perhaps some extra bits at the end that will not be
used). It should contain at least WIDTH * ‘height’ bits. In
this case, you must specify ‘:height’ and ‘:width’, both to
indicate that the string contains just the bits rather than a
whole XBM file, and to specify the size of the image.
‘:width WIDTH’
The value, WIDTH, specifies the width of the image, in pixels.
‘:height HEIGHT’
The value, HEIGHT, specifies the height of the image, in pixels.