cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 1 | Introduction to ImageMagick |
| 2 | |
cristy | e99fd5c | 2009-12-02 01:54:25 +0000 | [diff] [blame] | 3 | ImageMagick® is a software suite to create, edit, and compose bitmap |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 4 | images. It can read, convert and write images in a variety of formats |
| 5 | (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, |
| 6 | Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, |
| 7 | rotate, scale, shear and transform images, adjust image colors, apply various |
cristy | e99fd5c | 2009-12-02 01:54:25 +0000 | [diff] [blame] | 8 | special effects, or draw text, lines, polygons, ellipses and Bézier curves. |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 9 | |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 10 | The functionality of ImageMagick is typically utilized from the command |
| 11 | line or you can use the features from programs written in your favorite |
| 12 | programming language. Choose from these interfaces: G2F (Ada), MagickCore |
| 13 | (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ |
| 14 | (C++), JMagick (Java), L-Magick (Lisp), NMagick (Neko/haXe), MagickNet |
| 15 | (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP |
| 16 | (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick |
| 17 | (Tcl/TK). With a language interface, use ImageMagick to modify or create |
| 18 | images dynamically and automagically. |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 19 | |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 20 | ImageMagick is free software delivered as a ready-to-run binary distribution |
| 21 | or as source code that you may freely use, copy, modify, and distribute. Its |
| 22 | license is compatible with the GPL. It runs on all major operating systems. |
| 23 | |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 24 | Features and Capabilities |
| 25 | |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 26 | Here are just a few examples of what ImageMagick can do: |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 27 | |
| 28 | * Format conversion: convert an image from one format to another (e.g. PNG |
| 29 | to JPEG) |
| 30 | * Transform: resize, rotate, crop, flip or trim an image |
| 31 | * Transparency: render portions of an image invisible |
| 32 | * Draw: add shapes or text to an image |
| 33 | * Decorate: add a border or frame to an image |
| 34 | * Special effects: blur, sharpen, threshold, or tint an image |
| 35 | * Animation: create a GIF animation sequence from a group of images |
| 36 | * Text & comments: insert descriptive or artistic text in an image |
| 37 | * Image identification: describe the format and properties of an image |
| 38 | * Composite: overlap one image over another |
| 39 | * Montage: juxtapose image thumbnails on an image canvas |
| 40 | * Motion picture support: read and write the common image formats used in |
| 41 | digital film work |
| 42 | * Image calculator: apply a mathematical expression to an image or image |
| 43 | channels |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 44 | * Discrete Fourier transform: implements the forward and inverse DFT. |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 45 | * High dynamic-range images: accurately represent the wide range of |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 46 | intensity levels found in real scenes ranging from the brightest direct |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 47 | sunlight to the deepest darkest shadows |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 48 | * Encipher or decipher an image: convert ordinary images into |
| 49 | unintelligible gibberish and back again |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 50 | * Virtual pixel support: convenient access to pixels outside the image |
| 51 | region |
| 52 | * Large image support: read, process, or write mebi- and gibi-pixel image |
| 53 | sizes |
| 54 | * Threads of execution support: ImageMagick is thread safe and most |
| 55 | internal algorithms are OpenMP-enabled to take advantage of speed-ups |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 56 | offered by the dual and quad-core processor technologies |
cristy | 5949beb | 2010-01-14 02:04:40 +0000 | [diff] [blame] | 57 | * Heterogeneous distributed processing: certain algorithms are |
| 58 | OpenCL-enabled to take advantage of speed-ups offered by executing in |
| 59 | concert across heterogeneous platforms consisting of CPUs, GPUs, and |
| 60 | other processors. |
cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 61 | |
cristy | c1c6166 | 2009-09-30 14:04:37 +0000 | [diff] [blame] | 62 | Examples of ImageMagick Usage, http://www.imagemagick.org/Usage/, |
| 63 | shows how to use ImageMagick from the command-line to accomplish any |
| 64 | of these tasks and much more. Also, see Fred's ImageMagick Scripts at |
| 65 | http://www.fmwconcepts.com/imagemagick/, a plethora of command-line scripts |
| 66 | that perform geometric transforms, blurs, sharpens, edging, noise removal, |
| 67 | and color manipulations. |