Next: Buttons, Previous: Display Property, Up: Display
To display an image in an Emacs buffer, you must first create an image
descriptor, then use it as a display specifier in the display
property of text that is displayed (see Display Property).
Emacs is usually able to display images when it is run on a
graphical terminal. Images cannot be displayed in a text terminal, on
certain graphical terminals that lack the support for this, or if
Emacs is compiled without image support. You can use the function
display-images-p to determine if images can in principle be
displayed (see Display Feature Testing).
Emacs can display a number of different image formats; some of them
are supported only if particular support libraries are installed on
your machine. In some environments, Emacs can load image
libraries on demand; if so, the variable image-library-alist
can be used to modify the set of known names for these dynamic
libraries (though it is not possible to add new image formats).
The supported image formats include XBM, XPM (this requires the
libraries libXpm version 3.4k and libz), GIF (requiring
libungif 4.1.0), Postscript, PBM, JPEG (requiring the
libjpeg library version v6a), TIFF (requiring libtiff
v3.4), and PNG (requiring libpng 1.0.2).
You specify one of these formats with an image type symbol. The image
type symbols are xbm, xpm, gif, postscript,
pbm, jpeg, tiff, and png.
This variable contains a list of those image type symbols that are potentially supported in the current configuration. Potentially here means that Emacs knows about the image types, not necessarily that they can be loaded (they could depend on unavailable dynamic libraries, for example).
To know which image types are really available, use
image-type-available-p.
This in an alist of image types vs external libraries needed to display them.
Each element is a list
(image-type library...), where the car is a supported image format fromimage-types, and the rest are strings giving alternate filenames for the corresponding external libraries to load.Emacs tries to load the libraries in the order they appear on the list; if none is loaded, the running session of Emacs won't support the image type.
pbmandxbmdon't need to be listed; they're always supported.This variable is ignored if the image libraries are statically linked into Emacs.
This function returns non-
nilif image type type is available, i.e., if images of this type can be loaded and displayed in Emacs. type should be one of the types contained inimage-types.For image types whose support libraries are statically linked, this function always returns
t; for other image types, it returnstif the dynamic library could be loaded,nilotherwise.
