



<!DOCTYPE html>
<html lang="en">
<head>
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
    <title>ImageMagick: Convert, Edit, Or Compose Bitmap Images</title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  <meta name="application-name" content="ImageMagick"/>
  <meta name="description" content="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, JPEG-2000, GIF, 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."/>
  <meta name="application-url" content="http://www.imagemagick.org"/>
  <meta name="generator" content="PHP"/>
  <meta name="keywords" content="convert, edit, or, compose, bitmap, images, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert"/>
  <meta name="rating" content="GENERAL"/>
  <meta name="robots" content="INDEX, FOLLOW"/>
  <meta name="generator" content="ImageMagick Studio LLC"/>
  <meta name="author" content="ImageMagick Studio LLC"/>
  <meta name="revisit-after" content="2 DAYS"/>
  <meta name="resource-type" content="document"/>
  <meta name="copyright" content="Copyright (c) 1999-2015 ImageMagick Studio LLC"/>
  <meta name="distribution" content="Global"/>
  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
  <link rel="icon" href="images/wand.png"/>
  <link rel="shortcut icon" href="images/wand.ico"/>
  <link rel="stylesheet" href="www/css/magick.css"/>
</head>
<body>
<div class="main">
<div class="magick-masthead">
  <div class="container">
    <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
         style="display:block"
         data-ad-client="ca-pub-3129977114552745"
         data-ad-slot="6345125851"
         data-ad-format="auto"></ins>
    <script>
      (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
    <nav class="magick-nav">
      <a class="magick-nav-item active" href="index.html">Home</a>
      <a class="magick-nav-item " href="www/binary-releases.html">Download</a>
      <a class="magick-nav-item " href="www/command-line-tools.html">Tools</a>
      <a class="magick-nav-item " href="www/command-line-processing.html">Command-line</a>
      <a class="magick-nav-item " href="www/resources.html">Resources</a>
      <a class="magick-nav-item " href="www/api.html">Develop</a>
      <a class="magick-nav-item " href="www/http://nextgen.imagemagick.org/script/search.php">Search</a>
      <a class="magick-nav-item pull-right" href="http://www.imagemagick.org/http://nextgen.imagemagick.org/discourse-server//">Community</a>
    </nav>
  </div>
</div>
<div class="container">
<div class="magick-header">
<p class="text-center"><a href="index.html#features">Features and Capabilities</a> • <a href="index.html#news">News</a> • <a href="index.html#community">Community</a></p>

<p class="lead magick-description"><a href="images/wizard.png" title="And Now a Touch of Magick"><img class="img-responsive magick-icon" id="logo" alt="And Now a Touch of Magick" width="265" height="352" src="images/wizard.jpg" /></a> 
ImageMagick<sup><a href="http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;entry=78333969">&#174;</a></sup> is a software suite to create, edit, compose, or convert bitmap images.  It can read and write images in a variety of <a href="www/formats.html">formats</a> (over 200) including PNG, JPEG, JPEG-2000, GIF, TIFF, <a href="www/motion-picture.html">DPX</a>, <a href="www/high-dynamic-range.html">EXR</a>, 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.</p>

<p>The functionality of ImageMagick is typically utilized from the <a href="www/command-line-processing.html">command-line</a> or you can use the features from programs written in your favorite language. Choose from these interfaces: <a href="www/api.html#ada">G2F</a> (Ada), <a href="www/api.html#c">MagickCore</a> (C), <a href="www/api.html#c">MagickWand</a> (C), <a href="www/api.html#ch">ChMagick</a> (Ch), <a href="www/api.html#com_">ImageMagickObject</a> (COM+), <a href="www/api.html#c__">Magick++</a> (C++), <a href="www/api.html#java">JMagick</a> (Java), <a href="www/api.html#lisp">L-Magick</a> (Lisp), <a href="www/api.html#lua">Lua</a> (LuaJIT), <a href="www/api.html#neko">NMagick</a> (Neko/haXe), <a href="www/api.html#dot-net">Magick.NET</a> (.NET), <a href="www/api.html#pascal">PascalMagick</a> (Pascal),  <a href="www/api.html#perl">PerlMagick</a> (Perl), <a href="www/api.html#php">MagickWand for PHP</a> (PHP),  <a href="www/api.html#php">IMagick</a> (PHP), <a href="www/api.html#python">PythonMagick</a> (Python), <a href="www/api.html#ruby">RMagick</a> (Ruby), or <a href="www/api.html#tcl">TclMagick</a> (Tcl/TK). With a language interface, use ImageMagick to modify or create images dynamically and <var>automagically</var>.</p>
<p>ImageMagick utilizes multiple computational threads to increase performance and can read, process, or write mega-, giga-, or tera-pixel image sizes.</p>
<p>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 <a href="http://www.imagemagick.org/www/license.html">license</a>.</p>

<p>The ImageMagick development process ensures a stable API and ABI. Before each ImageMagick release, we perform a comprehensive security assessment that includes <a href="https://code.google.com/p/address-sanitizer/">memory error</a> and <a href="https://code.google.com/p/data-race-test/wiki/ThreadSanitizer">thread data race</a> detection to prevent security vulnerabilities.</p>

<p>The current release is ImageMagick <a href="http://www.imagemagick.org/www/binary-releases.html">7.0.0-0</a>.  It runs on <a href="http://www.imagemagick.org/www/binary-releases.html#unix">Linux</a>, <a href="http://www.imagemagick.org/www/binary-releases.html#windows">Windows</a>, <a href="http://www.imagemagick.org/www/binary-releases.html#macosx">Mac Os X</a>, <a href="http://www.imagemagick.org/www/binary-releases.html#iOS">iOS</a>, Android OS, and others.</p>

<p>The authoritative ImageMagick web site is <a href="http://www.imagemagick.org/">http://www.imagemagick.org</a>. The authoritative source code repository is <a href="http://git.imagemagick.org/repos/ImageMagick">http://git.imagemagick.org/repos/ImageMagick</a>.  We maintain a source code mirror at <a href="https://gitlab.com/ImageMagick/ImageMagick">GitLab</a> and <a href="https://github.com/ImageMagick/ImageMagick">GitHub</a>.</p>

<h2 class="magick-header"><a id="features"></a>Features and Capabilities</h2>
<p>Here are just a few <a href="www/examples.html">examples</a> of what ImageMagick can do for you:</p>
<div class="table-responsive">
<table class="table table-condensed table-striped">
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/anim_basics/">Animation</a></td>
    <td>create a GIF animation sequence from a group of images.</td>
  </tr>
  <tr>
    <td><a href="www/color-management.html">Color management</a></td>
    <td>accurate color management with color profiles or in lieu of-- built-in gamma compression or expansion as demanded by the colorspace.</td>
  </tr>
  <tr>
    <td><a href="www/composite.html">Composite</a></td>
    <td>overlap one image over another.</td>
  </tr>
  <tr>
    <td><a href="www/connected-components.html">Connected component labeling</a></td>
    <td>uniquely label connected regions in an image.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/crop/">Decorate</a></td>
    <td>add a border or frame to an image.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/transform/#vision">Delineate image features</a></td>
    <td><a href="http://www.imagemagick.org/http://nextgen.imagemagick.org/discourse-server//viewtopic.html?f=4&t=25405">Canny edge detection</a>, <a href="http://www.imagemagick.org/http://nextgen.imagemagick.org/discourse-server//viewtopic.html?f=4&t=25476">Hough lines</a>.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/fourier/">Discrete Fourier transform</a></td>
    <td>implements the forward and inverse <a href="http://en.wikipedia.org/wiki/Discrete_Fourier_transform">DFT</a>.</td>
  </tr>
  <tr>
    <td><a href="www/distribute-pixel-cache.html">Distributed pixel cache</a></td>
    <td>offload intermediate pixel storage to one or more remote servers.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/draw/">Draw</a></td>
    <td>add shapes or text to an image.</td>
  </tr>
  <tr>
    <td><a href="www/cipher.html">Encipher or decipher an image</a></td>
    <td>convert ordinary images into unintelligible gibberish and back again.</td>
  </tr>
  <tr>
    <td><a href="www/convert.html">Format conversion</a></td>
    <td>convert an image from one <a href="www/formats.html">format </a> to another (e.g. PNG to JPEG).</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/distorts/">Generalized pixel distortion</a></td>
    <td>correct for, or induce image distortions including perspective.</td>
  </tr>
  <tr>
    <td><a href="www/architecture.html#distributed">Heterogeneous distributed processing</a></td>
    <td>certain algorithms are <a href="www/opencl.html">OpenCL</a>-enabled to take advantage of speed-ups offered by executing in concert across heterogeneous platforms consisting of CPUs, GPUs, and other processors.</td>
  </tr>
  <tr>
    <td><a href="www/high-dynamic-range.html">High dynamic-range images</a></td>
    <td>accurately represent the wide range of intensity levels found in real scenes ranging from the brightest direct sunlight to the deepest darkest shadows.</td>
  </tr>
  <tr>
    <td><a href="www/fx.html">Image calculator</a></td>
    <td>apply a mathematical expression to an image or image channels.</td>
  </tr>
  <tr>
    <td><a href="www/gradient.html">Image gradients</a></td>
    <td>create a gradual blend of two colors whose shape is horizontal, vertical, circular, or elliptical.</td>
  </tr>
  <tr>
    <td><a href="www/identify.html">Image identification</a></td>
    <td>describe the format and attributes of an image.</td>
  </tr>
  <tr>
    <td><a href="www/binary-releases.html#iOS">ImageMagick on the iPhone</a></td>
    <td>convert, edit, or compose images on your <a href="http://www.apple.com/ios/">iOS</a> device such as the iPhone or iPad.</td>
  </tr>
  <tr>
    <td><a href="www/architecture.html#tera-pixel">Large image support</a></td>
    <td>read, process, or write mega-, giga-, or tera-pixel image sizes.</td>
  </tr>
  <tr>
    <td><a href="www/montage.html">Montage</a></td>
    <td>juxtapose image thumbnails on an image canvas.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/morphology/">Morphology of shapes</a></td>
    <td>extract features, describe shapes, and recognize patterns in images.</td>
  </tr>
  <tr>
    <td><a href="www/motion-picture.html">Motion picture support</a></td>
    <td>read and write the common image formats used in digital film work.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/transform/#vision">Noise and color reduction</a></td>
    <td><a href="http://www.imagemagick.org/http://nextgen.imagemagick.org/discourse-server//viewtopic.html?f=4&t=26480">Kuwahara Filter</a>, <a href="http://www.imagemagick.org/http://nextgen.imagemagick.org/discourse-server//viewtopic.html?f=4&t=25504">mean-shift</a>.</td>
  </tr>
  <tr>
    <td><a href="http://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/index.html">Perceptual hash</a></td>
    <td>map visually identical images to the same or similar hash-- useful in image retrieval, authentication, indexing, or copy detection as well as digital watermarking.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/blur/">Special effects</a></td>
    <td>blur, sharpen, threshold, or tint an image.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/text/">Text &amp; comments</a></td>
    <td>insert descriptive or artistic text in an image.</td>
  </tr>
  <tr>
    <td><a href="www/architecture.html#threads">Threads of execution support</a></td>
    <td>ImageMagick is thread safe and most internal algorithms execute in <a href="www/openmp.html">parallel</a> to take advantage of speed-ups offered by multicore processor chips.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/resize/">Transform</a></td>
    <td>resize, rotate, deskew, crop, flip or trim an image.</td>
  </tr>
  <tr>
    <td><a href="http://www.imagemagick.org/Usage/masking/">Transparency</a></td>
    <td>render portions of an image invisible.</td>
  </tr>
  <tr>
    <td><a href="www/architecture.html#virtual-pixels">Virtual pixel support</a></td>
    <td>convenient access to pixels outside the image region.</td>
  </tr>
</table>
</div>

<p><a href="http://www.imagemagick.org/Usage/">Examples of ImageMagick Usage</a> shows how to use ImageMagick from the <a href="www/command-line-processing.html">command-line</a> to accomplish any of these tasks and much more. Also, see <a href="http://www.fmwconcepts.com/imagemagick/">Fred's ImageMagick Scripts</a>:  a plethora of command-line scripts that perform geometric transforms, blurs, sharpens, edging, noise removal, and color manipulations. With <a href="https://magick.codeplex.com/">Magick.NET</a>, use ImageMagick without having to install ImageMagick on your server or desktop.</p>

<h2 class="magick-header"><a id="news"></a>News</h2>

<p>The design of ImageMagick is an evolutionary process, with the design and implementation efforts serving to influence and guide further progress in the other.  With <a href="index.html">ImageMagick version 7</a>, we aim to improve the design based on lessons learned from the version 6 implementation.  See the <a href="www/porting.html">porting</a> guide to track the progress of the version 7 development effort.</p>

<h2 class="magick-header"><a id="community"></a>Community</h2>
<p>To join the ImageMagick community, try the <a href="http://www.imagemagick.org/http://nextgen.imagemagick.org/discourse-server//">discourse server</a>.  You can review questions or comments (with informed responses) posed by ImageMagick users or ask your own questions. If you want to contribute image processing algorithms, other enhancements, or bug fixes, open an <a href="http://git.imagemagick.org/repos/ImageMagick/issues">issue</a>. </p>
</div>
  <footer class="magick-footer">
    <p><a href="www/support.html">Donate</a> •
     <a href="www/sitemap.html">Sitemap</a> •
    <a href="www/links.html">Related</a> •
    <a href="www/architecture.html">Architecture</a>
</p>
    <p><a href="index.html#">Back to top</a> •
    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
    <a href="www/http://nextgen.imagemagick.org/script/contact.php">Contact Us</a></p>
        <p><small>©  1999-2015 ImageMagick Studio LLC</small></p>
  </footer>
</div><!-- /.container -->

  <script src="https://localhost/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://nextgen.imagemagick.org/js/magick.html"></script>
</div>
</body>
</html>
