Changes Changes in ImageMagick Version 5.2.4

  Support for BMP images with a 'BA' chunk (contributed by Jaroslav Fojtik).

  Support added for the Word Perfect Graphics (WPG) file format (contributed by Jaroslav Fojtik).

  The pixel 'matte' field is changed to indicate the degree of pixel transparency rather than the degree of opacity. This makes the pixels compatable with most popular video cards, and many in-memory image formats.

  When the pixel quantum size is eight bits, the colormap is restricted to 256 colors, but supports up to 65535 colors when the quantum size is sixteen bits (when QuantumLeap is defined at compilation time).

  ImageMagick is more memory efficient (by 18%) when the quantum size is eight bits, and the image is colormapped.

  ImageMagick is (finally) believed to be thread safe under Windows, since it uses the Windows synchronization APIs to lock shared data.

  Under Unix and Windows, dynamically-loaded format coder modules are supported. There are currently 72 loadable modules. Support for loadable modules allows the user to add or remove formats from ImageMagick by simply adding or removing a file. New modules are automatically detected so users may add their own modules. This support is proven to work for Sun Solaris, Linux, and SGI IRIX. Please let us know about other operating systems they work on. Building a modular ImageMagick is enabled by specifing the configure options `--enable-shared --with-modules`.

  ImageMagick now has a set of modules for streaming. Here pixels are passed to the application as they are available and deleted after use ensuring a small memory footprint. This is useful for multi-media applications such as MPEG.

  Image format identification (based on the file header) is now configured via an external text file. This allows the user to add automatic file identification for new formats added via a coder module, or via a delegate (external program).

  XML files conforming to the W3C SVG DTD are now rendered directly by ImageMagick. The support is incomplete but still useful.

  The Pilot Image Format (PDB) is now supported.

  The drawing primitives have been extended to support drawing bezier curves, rounded rectangles, and arcs. There is now support for drawing compound objects (a sequence of objects) using drawing paths. The concept of a drawing `pen` has been split into `stroke` (for the outline) and `fill` (for the objects internal color). If fill is not defined, then only the object outline is drawn. This substantial change results in the existing drawing commands for filled objects (fillEllipse, fillRectangle, fillCircle, and fillPolygon) being deprecated.

  A cache file format is now supported which is a snapshot of an image's pixel cache as it appears on disk. Images stored in this format (large) may be loaded instantly by ImageMagick since decoding is not required. In order to write this format , the argument `-cache 0` must be supplied (e.g. `convert -cache 0 file.jpg file.cache`).

  The build environment for Windows NT is entirely re-done. There is now a `configure` program which generates a set of Visual C++ project files which satisfy a set of reqirements (e.g. DLL, multi-thread, X11). These project files are then used to build ImageMagick.

  The C API is significantly modified in order to provide thread-safe operation via function re-entrancy. ImageMagick is believed to be thread-safe when used with POSIX threads. It is not yet completely thread safe under Windows or the Mac. Errors (of type ExceptionInfo) are now reported by a function argument, or via a member of the current image.

  The GaussianBlurImage() function (contributed by `runger@cs.mcgill.ca`) supports Gaussian bluring an image.

  Functions (OpenCacheView(), CloseCacheView(), GetCacheView(), SetCacheView(), and SyncCacheView()) are provided in order to support manipulating multiple pixel views.

Image manipulation software that works like magic.