<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" value="application/xhtml+xml" />
  <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
  <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
  <style type="text/css" media="screen,projection"><!--
    @import url("../www/magick.css");
  --></style>
  <link rel="shortcut icon" href="../images/wand.ico"  type="images/vnd.microsoft.icon"/>
  <title>ImageMagick: Command-line Tools</title>
  <meta http-equiv="Content-Language" content="en-US"/>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
  <meta name="Generator" content="PHP"/>
  <meta name="Keywords" content="command-line, tools, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
  <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.  ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems.  The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
  <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-2010 ImageMagick Studio LLC"/>
  <meta name="Distribution" content="Global"/>
</head>

<body id="www-imagemagick-org">
<div class="titlebar">
<a href="../index.html">
  <img src="../images/script.png" alt="[ImageMagick]"
  style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
<a href="http://www.networkredux.com">
  <img src="../images/networkredux.png" alt="[sponsor]"
  style="margin: 45px auto; border: 0px; float: left;" /></a>
<a href="http://www.imagemagick.org/discourse-server/">
  <img src="../images/logo.jpg" alt=""
  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
<a href="../index.html">
  <img src="../images/sprite.jpg" alt=""
  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
</div>

<div class="eastbar">

<div class="menu">
  <a href="../index.html">About ImageMagick</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a href="../www/command-line-tools.html">Command-line Tools</a>
</div>
<div class="sub">
    <a href="../www/command-line-processing.html">Processing</a>
</div>
<div class="sub">
    <a href="../www/command-line-options.html">Options</a>
</div>
<div class="sub">
    <a href="http://www.imagemagick.org/Usage/">Usage</a>
</div>
<div class="menu">
  <a href="../www/api.html">Program Interfaces</a>
</div>
<div class="sub">
    <a href="../www/magick-wand.html">MagickWand</a>
</div>
<div class="sub">
    <a href="../www/magick-core.html">MagickCore</a>
</div>
<div class="sub">
    <a href="../www/perl-magick.html">PerlMagick</a>
</div>
<div class="sub">
    <a href="../Magick++/">Magick++</a>
</div>
<div class="menu">
  <a href="../www/architecture.html">Architecture</a>
</div>
<div class="sep"></div>
<div  class="menu">
   <a href="../www/install-source.html">Install from Source</a>
</div>
<div class="sub">
    <a href="../www/install-source.html#unix">Unix</a>
</div>
<div class="sub">
    <a href="../www/install-source.html#windows">Windows</a>
 </div>
<div class="menu">
  <a href="../www/binary-releases.html">Binary Releases</a>
</div>
<div class="sub">
    <a href="../www/binary-releases.html#unix">Unix</a>
</div>
<div class="sub">
    <a href="../www/binary-releases.html#macosx">Mac OS X</a>
</div>
<div class="sub">
    <a href="../www/binary-releases.html#windows">Windows</a>
</div>
<div class="menu">
  <a href="../www/resources.html">Resources</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a href="../www/download.html">Download</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a href="http://www.imagemagick.org/script/search.php">Search</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a href="../www/sitemap.html">Site Map</a>
</div>
<div  class="sub">
    <a href="../www/links.html">Links</a>
</div>
<div class="sep"></div>
<div  class="menu">
  <a href="../www/sponsors.html">Sponsors:</a>

<div class="sponsbox">
<div  class="sponsor">
   <a href="http://www.abi-stoff.de/abizeitung/" title="Abibuch">Abizeitung</a><!-- 20101101000200 -->
</div>
<div  class="sponsor">
  <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
</div>
<div  class="sponsor">
  <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
</div>
<div  class="sponsor">
  <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
</div>
<div  class="sponsor">
  <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
</div>
<div  class="sponsor">
   <a href="http://www.goyax.de">Börse</a><!-- 201004010240 Gewiese digital-finance.de -->
</div>
<div  class="sponsor">
   <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
</div>
<div  class="sponsor">
  <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
</div>
</div>
</div>


</div>

<div class="main">

<p class="navigation-index">[<a href="#animate">animate</a> &bull; <a href="#compare">compare</a> &bull; <a href="#composite">composite</a> &bull; <a href="#conjure">conjure</a> &bull; <a href="#convert">convert</a> &bull; <a href="#display">display</a> &bull; <a href="#identify">identify</a> &bull; <a href="#import">import</a> &bull; <a href="#mogrify">mogrify</a> &bull; <a href="#montage">montage</a> &bull; <a href="#stream">stream</a>]</p>

<p>ImageMagick includes a number of command-line utilities for manipulating images.  Most of you are probably accustomed to editing images one at a time with a graphical user interface (GUI) with such programs as <a href="http://www.gimp.org" target="1820926615">gimp</a> or <a href="http://www.adobe.com" target="199034814">Photoshop</a>.  However, a GUI is not always convenient.  Suppose you want to process an image dynamically from a web script or you want to apply the same operations to many images or repeat a specific operation at different times to the same or different image.  For these types of operations, the command-line image processing utility is appropriate.</p>

<p>The ImageMagick command-line tools exit with a status of 0 if the command line arguments have a proper syntax and no problems are encountered.  Expect a descriptive message and an exit status of 1 if any exception occurs such as improper syntax, a problem reading or writing an image, or any other problem that prevents the command from completing successfully.</p>

<p>In the paragraphs below, find a short description for each command-line tool. Click on the program name to get details about the program usage and a list of command-line options that alters how the program behaves.  If you are just getting acquainted with ImageMagick, start with the <a href="#convert">convert</a> program.  Be sure to peruse Anthony Thyssen's tutorial on how to use ImageMagick utilities to <a href="http://www.imagemagick.org/Usage/" target="7339577">convert, compose, or edit</a> images from the command-line.</p>

<div style="margin: auto;">
  <h2><a name="animate"></a><a href="../www/animate.html">animate</a></h2>
</div>

<p>animate an image sequence on any X server.</p>

<div style="margin: auto;">
  <h2><a name="compare"></a><a href="../www/compare.html">compare</a></h2>
</div>

<p>mathematically and visually annotate the difference between an image and its reconstruction.</p>

<div style="margin: auto;">
  <h2><a name="composite"></a><a href="../www/composite.html">composite</a></h2>
</div>

<p>overlap one image over another.</p>

<div style="margin: auto;">
  <h2><a name="conjure"></a><a href="../www/conjure.html">conjure</a></h2>
</div>

<p>interpret and execute scripts written in the Magick Scripting Language (MSL).</p>

<div style="margin: auto;">
  <h2><a name="convert"></a><a href="../www/convert.html">convert</a></h2>
</div>

<p>convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.</p>

<div style="margin: auto;">
  <h2><a name="display"></a><a href="../www/display.html">display</a></h2>
</div>

<p>display an image or image sequence on any X server.</p>

<div style="margin: auto;">
  <h2><a name="identify"></a><a href="../www/identify.html">identify</a></h2>
</div>

<p>describe the format and characteristics of one or more image files.</p>

<div style="margin: auto;">
  <h2><a name="import"></a><a href="../www/import.html">import</a></h2>
</div>

<p>save any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen.</p>

<div style="margin: auto;">
  <h2><a name="mogrify"></a><a href="../www/mogrify.html">mogrify</a></h2>
</div>

<p>resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.  Mogrify overwrites the original image file, whereas, <a href="../www/convert.html">convert</a> writes to a different image file.</p>

<div style="margin: auto;">
  <h2><a name="montage"></a><a href="../www/montage.html">montage</a></h2>
</div>

<p>create a composite image by combining several separate images.  The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.</p>

<div style="margin: auto;">
  <h2><a name="stream"></a><a href="../www/stream.html">stream</a></h2>
</div>

<p>a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats.  It writes the pixel components as they are read from the input image a row at a time making <kbd>stream</kbd> desirable when working with large images or when you require raw pixel components.</p>

</div>

<div id="linkbar">
 <!--    <span id="linkbar-west">&nbsp;</span>  -->
    <span id="linkbar-center">
      <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
    <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
    </span>
    <span id="linkbar-east">&nbsp;</span>
  </div>
  <div class="footer">
    <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
    <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
  </div>
  <div style="clear: both; margin: 0; width: 100%; "></div>
</body>
</html>
