123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- 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 Bezier 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), 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 utilize 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 a derived 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.
- The current release is the ImageMagick 7.0.11-* series. It runs on Linux,
- Windows, Mac Os X, iOS, Android OS, and others.
- The authoritative ImageMagick web site is https://imagemagick.org. The
- authoritative source code repository is
- https://github.com/ImageMagick/ImageMagick.
- We continue to maintain the legacy release of ImageMagick, version 6,
- at https://legacy.imagemagick.org.
- 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 elliptical.
- * 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.
- * Bilateral blur: non-linear, edge-preserving, and noise-reducing
- smoothing filter.
- * 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 * https://legacy.imagemagick.org/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 @
- http://www.fmwconcepts.com/imagemagick/: 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.
- News
- ImageMagick best practices strongly encourages you to configure a security
- policy that suits your local environment.
- Now that ImageMagick version 7 is released, we continue
- to maintain the legacy release of ImageMagick, version 6, at
- https://legacy.imagemagick.org. Learn how ImageMagick version 7 differs
- from previous versions with our porting guide.
- Want more performance from ImageMagick? Try these options:
- * add more memory to your system, see the pixel cache;
- * add more cores to your system, see threads of execution support;
- * reduce lock contention with the tcmalloc memory allocation library;
- * push large images to a solid-state drive, see large image support.
- If these options are prohibitive, you can reduce the quality of the image
- results. The default build is Q16 HDRI. If you disable HDRI, you use
- half the memory and instead of predominantly floating point operations,
- you use the typically more efficient integer operations. The tradeoff
- is reduced precision and you cannot process out of range pixel values
- (e.g. negative). If you build the Q8 non-HDRI version of ImageMagick,
- you again reduce the memory requirements in half-- and once again there
- is a tradeoff, even less precision and no out of range pixel values. For
- a Q8 non-HDRI build of ImageMagick, use these configure script options:
- --with-quantum-depth=8 --disable-hdri.
|