| Introduction to ImageMagick |
| |
| ImageMagick® is a software suite to create, edit, compose, or convert |
| bitmap images. It can read and write images in a variety of formats (over |
| 200) including PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript, |
| PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, |
| shear and transform images, adjust image colors, apply various special |
| effects, or draw text, lines, polygons, ellipses and Bézier curves. |
| |
| The functionality of ImageMagick is typically utilized from the command |
| line or you can use the features from programs written in your favorite |
| language. Choose from these interfaces: G2F (Ada), MagickCore (C), |
| MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), |
| JMagick (Java), L-Magick (Lisp), Lua, NMagick (Neko/haXe), Magick.NET |
| (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP |
| (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick |
| (Tcl/TK). With a language interface, use ImageMagick to modify or create |
| images dynamically and automagically. |
| |
| ImageMagick utilizes multiple computational threads to increase performance |
| and can read, process, or write mega-, giga-, or tera-pixel image sizes. |
| |
| ImageMagick is free software delivered as a ready-to-run binary distribution |
| or as source code that you may use, copy, modify, and distribute in both open |
| and proprietary applications. It is distributed under the Apache 2.0 license. |
| |
| The ImageMagick development process ensures a stable API and ABI. Before |
| each ImageMagick release, we perform a comprehensive security assessment |
| that includes memory error and thread data race detection to prevent |
| security vulnerabilities. |
| |
| ImageMagick is available from |
| https://www.imagemagick.org/script/download.php. It runs on Linux, Windows, |
| Mac Os X, iOS, Android OS, and others. |
| |
| The authoritative ImageMagick web site is https://www.imagemagick.org. The |
| authoritative source code repository is https://github.com/ImageMagick. We |
| maintain a source code mirror at https://gitlab.com/ImageMagick. |
| |
| |
| Features and Capabilities |
| |
| Here are just a few examples of what ImageMagick can do: |
| |
| * Format conversion: convert an image from one format to another (e.g. |
| PNG to JPEG). |
| * Transform: resize, rotate, deskew, crop, flip or trim an image. |
| * Transparency: render portions of an image invisible. |
| * Draw: add shapes or text to an image. |
| * Decorate: add a border or frame to an image. |
| * Special effects: blur, sharpen, threshold, or tint an image. |
| * Animation: create a GIF animation sequence from a group of images. |
| * Text & comments: insert descriptive or artistic text in an image. |
| * Image gradients: create a gradual blend of one color whose shape is |
| horizontal, vertical, circular, or ellipical. |
| * Image identification: describe the format and attributes of an image. |
| * Composite: overlap one image over another. |
| * Montage: juxtapose image thumbnails on an image canvas. |
| * Generalized pixel distortion: correct for, or induce image distortions |
| including perspective. |
| * Computer vision: Canny edge detection. |
| * Morphology of shapes: extract features, describe shapes and recognize |
| patterns in images. |
| * Motion picture support: read and write the common image formats used in |
| digital film work. |
| * Image calculator: apply a mathematical expression to an image or image |
| channels. |
| * Connected component labeling: uniquely label connected regions in an |
| image. |
| * Discrete Fourier transform: implements the forward and inverse DFT. |
| * Perceptual hash: maps visually identical images to the same or similar |
| hash-- useful in image retrieval, authentication, indexing, or copy |
| detection as well as digital watermarking. |
| * Complex text layout: bidirectional text support and shaping. |
| * Color management: accurate color management with color profiles or in |
| lieu of-- built-in gamma compression or expansion as demanded by the |
| colorspace. |
| * High dynamic-range images: accurately represent the wide range of |
| intensity levels found in real scenes ranging from the brightest direct |
| sunlight to the deepest darkest shadows. |
| * Encipher or decipher an image: convert ordinary images into |
| unintelligible gibberish and back again. |
| * Virtual pixel support: convenient access to pixels outside the image |
| region. |
| * Large image support: read, process, or write mega-, giga-, or |
| tera-pixel image sizes. |
| * Threads of execution support: ImageMagick is thread safe and most |
| internal algorithms are OpenMP-enabled to take advantage of speed-ups |
| offered by multicore processor chips. |
| * Distributed pixel cache: offload intermediate pixel storage to one or |
| more remote servers. |
| * Heterogeneous distributed processing: certain algorithms are |
| OpenCL-enabled to take advantage of speed-ups offered by executing in |
| concert across heterogeneous platforms consisting of CPUs, GPUs, and |
| other processors. |
| * ImageMagick on the iPhone: convert, edit, or compose images on your |
| iPhone or iPad. |
| |
| Examples of ImageMagick Usage shows how to use ImageMagick from the |
| command-line to accomplish any of these tasks and much more. Also, |
| see Fred's ImageMagick Scripts: a plethora of command-line scripts that |
| perform geometric transforms, blurs, sharpens, edging, noise removal, |
| and color manipulations. With Magick.NET, use ImageMagick without having |
| to install ImageMagick on your server or desktop. |
| |