elisp: ImageMagick Images
37.17.6 ImageMagick Images
--------------------------
If you build Emacs with ImageMagick support, you can use the ImageMagick
library to load many image formats ((emacs)File Conveniences).
The image type symbol for images loaded via ImageMagick is
‘imagemagick’, regardless of the actual underlying image format.
To check for ImageMagick support, use the following:
(image-type-available-p 'imagemagick)
-- Function: imagemagick-types
This function returns a list of image file extensions supported by
the current ImageMagick installation. Each list element is a
symbol representing an internal ImageMagick name for an image type,
such as ‘BMP’ for ‘.bmp’ images.
-- User Option: imagemagick-enabled-types
The value of this variable is a list of ImageMagick image types
which Emacs may attempt to render using ImageMagick. Each list
element should be one of the symbols in the list returned by
‘imagemagick-types’, or an equivalent string. Alternatively, a
value of ‘t’ enables ImageMagick for all possible image types.
Regardless of the value of this variable,
‘imagemagick-types-inhibit’ (see below) takes precedence.
-- User Option: imagemagick-types-inhibit
The value of this variable lists the ImageMagick image types which
should never be rendered using ImageMagick, regardless of the value
of ‘imagemagick-enabled-types’. A value of ‘t’ disables
ImageMagick entirely.
-- Variable: image-format-suffixes
This variable is an alist mapping image types to file name
extensions. Emacs uses this in conjunction with the ‘:format’
image property (see below) to give a hint to the ImageMagick
library as to the type of an image. Each element has the form
‘(TYPE EXTENSION)’, where TYPE is a symbol specifying an image
content-type, and EXTENSION is a string that specifies the
associated file name extension.
Images loaded with ImageMagick support the following additional image
descriptor properties:
‘:background BACKGROUND’
BACKGROUND, if non-‘nil’, should be a string specifying a color,
which is used as the image’s background color if the image supports
transparency. If the value is ‘nil’, it defaults to the frame’s
background color.
‘:width WIDTH, :height HEIGHT’
The ‘:width’ and ‘:height’ keywords are used for scaling the image.
If only one of them is specified, the other one will be calculated
so as to preserve the aspect ratio. If both are specified, aspect
ratio may not be preserved.
‘:max-width MAX-WIDTH, :max-height MAX-HEIGHT’
The ‘:max-width’ and ‘:max-height’ keywords are used for scaling if
the size of the image of the image exceeds these values. If
‘:width’ is set it will have precedence over ‘max-width’, and if
‘:height’ is set it will have precedence over ‘max-height’, but you
can otherwise mix these keywords as you wish. ‘:max-width’ and
‘:max-height’ will always preserve the aspect ratio.
‘:format TYPE’
The value, TYPE, should be a symbol specifying the type of the
image data, as found in ‘image-format-suffixes’. This is used when
the image does not have an associated file name, to provide a hint
to ImageMagick to help it detect the image type.
‘:rotation ANGLE’
Specifies a rotation angle in degrees.
‘:index FRAME’
Multi-Frame Images.