ImageMagick - Image Processing and Display Package
Description: ImageMagick is a robust collection of tools and libraries to read, write, and manipulate an image in any of the more popular image formats including GIF, JPEG, PNG, PDF, and Photo CD. With ImageMagick you can create GIFs dynamically making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format.
Keywords: ImageMagick, Image Magick, Image Magic, PerlMagick, Perl Magick, Perl Magic, CineMagick, PixelMagick, Pixel Magic, WebMagick, Web Magic, visualization, image processing, software development, simulation, image, software, AniMagick, Animagic, Magick++

Recent ImageMagick Changes

  Lots of 16-bit pixel component related problems fixed.

  URL's are now understood on Win32 (thanks to libXML and William Radcliffe).

  ImageMagick defaults to 16-bit per pixel component now.

  Support added for ART images (contributed by Jaroslav Fojtik).

  Added `-pause` to the animate program.
  You can now specify a minimum/maximum delay for an image sequence.

  Added `%c` to `-format` to get the image comment (patch provided by Frank Mattern).

  Over compositing is now the Porter-Duff algorithm (inspired by William Radcliffe and Alvy Ray Smith).

  You can write SVG output if the input is SVG, MVG, or WMF.

  ImageMagick now can accept AFM, PFB, and PFM fonts.

  The `linewidth` parameter is deprecated in PerlMagick. Use `stroke_width` instead.

  Digital Applications contributed text stroking code.

  You can now specify Truetype fonts directly. No `@` prefix is required (e.g. convert -font Arial.ttf ...)

  Digital Applications contributed line cap and dash pattern rendering code.

  Added the Multiple composite operator for the creation of drop-shadows (patch provided by John Harper).

  Support added for CUT images (contributed by Jaroslav Fojtik).

  Bill Radcliffe contributed fast polygoni rendering code. Parts of the rendering algorithm were inspired by libart.

  Support added 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, just convert your image to the cache format (e.g. `convert image.jpg cache:image.miff`).

  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.