[Configuration Files • Modules • Fonts • Environment Variables]
ImageMagick depends on a number of external resources including configuration files, loadable modules, fonts, and environment variables.
ImageMagick depends on a number of external configuration files detailed here:
- coder.xml
- associate an image format with the specified coder module.
- ImageMagick has a number of coder modules to support the reading and/or writing of an image format (e.g. JPEG). Some coder modules support more than one associated image format and the mapping between an associated format and its respective coder module is defined in this configuration file. For example, the PNG coder module not only supports the PNG image format, but the JNG and MNG formats as well.
- colors.xml
- associate a color name with its red, green, blue, and alpha intensities.
- A number of command line options require a color parameter. It is often convenient to refer to a color by name (e.g. white) rather than by hex value (e.g. #fff). This file maps a color name to its equivalent red, green, blue, and alpha intensities (e.g. for white, red = 255, green = 255, blue = 255, and alpha = 0).
- configure.xml
- ImageMagick build parameters and optionally system-wide environment variables.
- As ImageMagick is built, a number of build parameters are saved to this configuration file. They include the version, release date, dependent delegate libraries, and quantum depth among others.
- delegates.xml
- associate delegate programs with certain image formats.
- ImageMagick relies on a number of delegate programs to support certain image formats such as ufraw-batch to read raw camera formats or Ghostscript to read Postscript images. Use this configuration file to map an input or output format to an external delegate program.
- english.xml
- associate message tags with English translations.
- locale.xml
- associate message tags with a translation for your locale.
- ImageMagick has a number of informational, warning, an error messages that are represented as tags. Tags are short descriptions of a message such as
FileNotFound or MemoryAllocationFailed. This configuration file lists locales that have a translation for each tag recognized by ImageMagick. Currently only English translations are available in the english.xml configuration file.
- log.xml
- configure logging parameters.
- ImageMagick is capable of spewing copious amounts of informational or debugging statements. Use this file to configure how the information will appear in a log message and where you want the logging messages posted.
- magic.xml
- associate an image format with a unique identifier.
- Many image formats have identifiers that uniquely identify a particular image format. For example, the GIF image format always begins with GIF8 as the first 4 characters of the image. ImageMagick uses this information to quickly determine the type of image it is dealing with when it reads an image.
- mime.xml
- associate an internet media type with a unique identifier.
- Many image formats have identifiers that uniquely identify a particular image format. For example, the GIF image format always begins with GIF8 as the first 4 characters of the image. ImageMagick uses this information to quickly determine the internet media type of an image.
- thresholds.xml
- threshold maps for ordered posterized dither.
- type.xml
- configure fonts.
- Define the font name, family, foundry, style, format, metrics, and glyphs for any font you want to use within ImageMagick.
- type-ghostscript.xml
- configure Ghostscript fonts.
- The Ghostscript package includes a number of fonts that can be accessed with ImageMagick.
- type-windows.xml
- associate names with Windows font glyphs.
Under Unix and Linux, ImageMagick searches for these configuration files in the following order, and loads them if found:
$MAGICK_CONFIGURE_PATH
$PREFIX/lib/ImageMagick-6.4.2/config
$PREFIX/share/ImageMagick-6.4.2/config
$PREFIX/share/ImageMagick-6.4.2
$HOME/.magick/
<client path>/lib/ImageMagick-6.4.2/
<current directory>/
Where $PREFIX is the default install path, typically /usr/local.
For the Unix or Linux pre-compiled binary distribution, the configuration load order is:
$MAGICK_CONFIGURE_PATH
$MAGICK_HOME/lib/ImageMagick-6.4.2/config
$MAGICK_HOME/share/ImageMagick-6.4.2/config
$PREFIX/share/ImageMagick-6.4.2
$HOME/.magick/
<client path>/lib/ImageMagick-6.4.2/
<current directory>/
Under Windows, ImageMagick searches for these configuration files in the following order, and loads them if found:
$MAGICK_CONFIGURE_PATH
<windows registry>
$PREFIX/config
<client path>
<current directory>
Where $PREFIX is the default install path, typically c:\\Program Files\\ImageMagick-6.4.2.
For an uninstalled Windows installation, the configuration load order is:
$MAGICK_CONFIGURE_PATH
$MAGICK_HOME
$HOME/.magick/
client path
<current directory>
If a configuration file cannot not be found, ImageMagick relies on built-in default values.
ImageMagick's image format support is usually provided in the form of loadable modules. It searches for loadable modules in the following order and it uses the first match found:
<current directory>/
$MAGICK_HOME/lib/ImageMagick-6.4.2/modules-Q16/coders/
$HOME/.magick/
<client path>/../lib/ImageMagick-6.4.2/modules-Q16/coders/
$MAGICK_HOME/lib/ImageMagick-6.4.2/modules-Q16/coders
$MAGICK_HOME/share/ImageMagick-6.4.2/modules-Q16/coders
$HOME/.magick/
<client path>/lib/ImageMagick-6.4.2/modules-Q16/coders
<current directory>/
ImageMagick is able to load raw TrueType and Postscript font files. It searches for the font configuration file, type.xml, in the following order, and loads them if found:
$MAGICK_CONFIGURE_PATH
$MAGICK_HOME/lib/ImageMagick-6.4.2/config
$MAGICK_HOME/share/ImageMagick-6.4.2/config
$HOME/.magick/
<client path>/lib/ImageMagick-6.4.2/
<current directory>/
$MAGICK_FONT_PATH
Environment variables recognized by ImageMagick include:
- HOME
- search for configuration files in $HOME/.magick if the directory exists.
- LD_LIBRARY_PATH
- path to the ImageMagick shareable libraries and other dependent libraries.
- MAGICK_AREA_LIMIT
- maximum width * height of an image that can reside in the pixel cache memory.
- Images that exceed the area limit are cached to disk (see MAGICK_DISK_LIMIT).
- MAGICK_CODER_FILTER_PATH
- search path to use when searching for filter process modules (invoked via -process).
- This path permits the user to extend ImageMagick's image processing functionality by adding loadable modules to a preferred location rather than copying them into the ImageMagick installation directory. The formatting of the search path is similar to operating system search paths (i.e. colon delimited for Unix, and semi-colon delimited for Microsoft Windows). This user specified search path is searched before trying the default search path.
- MAGICK_CODER_MODULE_PATH
- path where ImageMagick can locate its coder modules.
- This path permits the user to arbitrarily extend the image formats supported by ImageMagick by adding loadable coder modules from an preferred location rather than copying them into the ImageMagick installation directory. The formatting of the search path is similar to operating system search paths (i.e. colon delimited for Unix, and semi-colon delimited for Microsoft Windows). This user specified search path is searched before trying the default search path.
- MAGICK_CONFIGURE_PATH
- path where ImageMagick can locate its configuration files
- Use this search path to search for configuration (.xml) files. The formatting of the search path is similar to operating system search paths (i.e. colon delimited for Unix, and semi-colon delimited for Microsoft Windows). This user specified search path is searched before trying the default search path.
- MAGICK_DEBUG
- set debug options.
- See -debug for a description of debugging options.
- MAGICK_DISK_LIMIT
- maximum amount of disk space in bytes permitted for use by the pixel cache.
- When this limit is exceeded, the pixel cache is not be created and an error message is returned.
- MAGICK_FILE_LIMIT
- maximum number of open pixel cache files.
- When this limit is exceeded, any subsequent pixels cached to disk are closed and reopened on demand. This behavior permits a large number of images to be accessed simultaneously on disk, but with a speed penalty due to repeated open/close calls.
- MAGICK_FONT_PATH
- path ImageMagick looks for TrueType and Postscript Type1 font files.
- This path is only consulted if a particular font file is not found in the current directory.
- MAGICK_HOME
- path to top of ImageMagick installation directory.
- This path is consulted by uninstalled builds of ImageMagick which do not have their location hard-coded or set by an installer.
- MAGICK_MAP_LIMIT
- maximum amount of memory map in bytes to allocate for the pixel cache.
- When this limit is exceeded, the image pixels are cached to disk (see MAGICK_DISK_LIMIT).
- MAGICK_MEMORY_LIMIT
- maximum amount of memory in bytes to allocate for the pixel cache from the heap.
- When this limit is exceeded, the image pixels are cached to memory-mapped disk (see MAGICK_MAP_LIMIT).
- MAGICK_TEMPORARY_PATH
- path to store temporary files.
- MAGICK_THREAD_LIMIT
- the maximum number of threads to use for any OpenMP-enabled ImageMagick algorithm.
- OMP_NUM_THREADS
- Many ImageMagick algorithms run in parallel on multi-processor systems. Use this enviroment variable to set the maximum number of threads that is permitted to run in parallel.
For convenience, many of these environment variables can be set in the configure.xml configuration file. For example, to set the preferred location to store temporary files, add this to the configuration file:
<configure name="MAGICK_TEMPORARY_PATH" value="/data/tmp"/>
|