



<!DOCTYPE html>
<html lang="en">
<head>
    <title>ImageMagick: Command-line Processing</title>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <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="command-line, processing, 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-2016 ImageMagick Studio LLC"/>
  <meta name="distribution" content="Global"/>
  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
  <link rel="icon" href="../images/wand.png"/>
  <link rel="shortcut icon" href="../images/wand.ico"/>
  <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:900,400,400italic,700,700italic,300,300italic|Open+Sans:300italic,400italic,700italic,300,400,600,700">
  <link rel="stylesheet" href="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 " href="../index.html">Home</a>
      <a class="magick-nav-item " href="binary-releases.html">Download</a>
      <a class="magick-nav-item " href="command-line-tools.html">Tools</a>
      <a class="magick-nav-item active" href="command-line-processing.html">Command-line</a>
      <a class="magick-nav-item " href="resources.html">Resources</a>
      <a class="magick-nav-item " href="api.html">Develop</a>
      <a class="magick-nav-item " href="http://www.imagemagick.org/script/search.php">Search</a>
      <a class="magick-nav-item pull-right" href="https://www.imagemagick.org/discourse-server/">Community</a>
    </nav>
  </div>
</div>
<div class="container">
<div class="magick-header">
<p class="text-center"><a href="command-line-processing.html#anatomy">The Anatomy of the Command-line</a> • <a href="command-line-processing.html#input">Input Filename</a> • <a href="command-line-processing.html#option">Command-line Options</a> • <a href="command-line-processing.html#output">Output Filename</a></p>

<p class="lead magick-description">The ImageMagick command-line <a href="command-line-tools.html">tools</a> can be as simple as this:</p>

<pre>
convert image.jpg image.png
</pre>

<p>Or it can be complex with a plethora of <a href="command-line-processing.html#option">options</a>, as in the following:</p>

<pre>
convert label.gif +matte \
  \( +clone  -shade 110x90 -normalize -negate +clone  -compose Plus -composite \) \
  \( -clone 0 -shade 110x50 -normalize -channel BG -fx 0 +channel -matte \) \
  -delete 0 +swap  -compose Multiply -composite  button.gif");
</pre>

<p class="bg-info">This example command is long enough that the command must be written across several lines, so we formatted it for clarity by inserting backslashes (<code>\</code>). The backslash is the Unix <var>line-continuation</var> character. In the Windows shell, use a carat character (<code>^</code>) for line-continuation. We use the Unix style on these web pages, as above. Sometimes, however, the lines are wrapped by your browser if the browser window is small enough, but the command-lines, shown in white, are still intended to be typed as one line. Line continuation characters need not be entered. The <var>parentheses</var> that are <var>escaped</var> above using the backslash are not escaped in Windows. There are some other differences between Windows and Unix (involving quotation marks, for instance), but we'll discuss some of those issues later, as they arise. </p>

<p>Without knowing much about the ImageMagick command-line, you can probably surmise that the first command above converts an image in the JPEG format to one in the PNG format.  However, very few may realize the second, more complex command, gives a flat two-dimensional label a three-dimensional look with rich textures and simulated depth:</p>

<ul>
  <a href="../images/label.gif"><img src="../images/label.gif" width="78" height="53" alt="label" /></a>
<img style="margin-top:16px; margin-bottom:17px;" src="../images/right.gif" width="20" height="20" alt="==>" />
  <a href="../images/button.gif">
  <img src="../images/button.gif" width="78" height="53" alt="button" /></a>
</ul>


<p>Here we show percent completion of a task as a shaded cylinder:</p>

<ul>
  <img src="../images/cylinder_shaded.png" width="320" height="200" alt="Shaded Cylinder" />
</ul>

<p>Given the complexity of the rendering, you might be surprised it is accomplished by a single command-line:</p>

<pre>
convert -size 320x90 canvas:none -stroke snow4 -size 1x90 -tile gradient:white-snow4 \
  -draw 'roundrectangle 16, 5, 304, 85 20,40' +tile -fill snow \
  -draw 'roundrectangle 264, 5, 304, 85  20,40' -tile gradient:chartreuse-green \
  -draw 'roundrectangle 16,  5, 180, 85  20,40' -tile gradient:chartreuse1-chartreuse3 \
  -draw 'roundrectangle 140, 5, 180, 85  20,40' +tile -fill none \
  -draw 'roundrectangle 264, 5, 304, 85 20,40' -strokewidth 2 \
  -draw 'roundrectangle 16, 5, 304, 85 20,40' \( +clone -background snow4 \
  -shadow 80x3+3+3 \) +swap -background none -layers merge \( +size -font Helvetica \
  -pointsize 90 -strokewidth 1 -fill red label:'50 %' -trim +repage \( +clone \
  -background firebrick3 -shadow 80x3+3+3 \) +swap -background none -layers merge \) \
  -insert 0 -gravity center -append -background white -gravity center -extent 320x200 \
  cylinder_shaded.png
</pre>

<p>In the next sections we dissect the anatomy of the ImageMagick command-line.  Hopefully, after carefully reading and better understanding how the command-line works, you should be able to accomplish complex image-processing tasks without resorting to the sometimes daunting <a href="api.html">program interfaces</a>.</p>

<p>See <a href="http://www.imagemagick.org/Usage/">Examples of ImageMagick Usage</a> for additional help when using ImageMagick from the command-line.</p>

<h2 class="magick-header"><a id="anatomy"></a>The Anatomy of the Command-line</h2>
<p>The ImageMagick command-line consists of</p>

<ol>
<li>one or more required input filenames.</li>
<li>zero, one, or more image settings.</li>
<li>zero, one, or more image operators.</li>
<li>zero, one, or more image sequence operators.</li>
<li>zero, one, or more image stacks.</li>
<li>zero or one output image filenames (required by
<a href="convert.html">convert</a>,
<a href="composite.html">composite</a>,
<a href="montage.html">montage</a>,
<a href="compare.html">compare</a>,
<a href="import.html">import</a>,
<a href="conjure.html">conjure</a>).
</li>
</ol>

<p>You can find a detailed explanation of each of the constituent parts of the command-line in the sections that follow.</p>

<h2 class="magick-header"><a id="input"></a>Input Filename</h2>

<p>ImageMagick extends the concept of an input filename to include:</p>
<ul>
<li>filename globbing</li>
<li>an explicit image format</li>
<li>using built-in images and patterns</li>
<li>STDIN, STDOUT, and file descriptors</li>
<li>selecting certain frames from an image</li>
<li>selecting a region of an image</li>
<li>forcing an inline image resize</li>
<li>forcing an inline image crop</li>
<li>using filename references</li>
</ul>

<p>These extensions are explained in the next few paragraphs.</p>

<h4>Filename Globbing</h4>
<p>In Unix shells, certain characters such as the asterisk (<code>*</code>) and question mark (<code>?</code>) automagically cause lists of filenames to be generated based on pattern matches. This feature is known as globbing.  ImageMagick supports filename globbing for systems, such as Windows, that does not natively support it.  For example, suppose you want to convert <code>1.jpg</code>, <code>2.jpg</code>, <code>3.jpg</code>, <code>4.jpg</code>, and <code>5.jpg</code> in your current directory to a GIF animation.  You can conveniently  refer to all of the JPEG files with this command:
</p>

<pre>
convert *.jpg images.gif
</pre>

<h4>Explicit Image Format</h4>
<p>Images are stored in a myriad of image formats including
the better known JPEG, PNG, TIFF and others.  ImageMagick must know the format
of the image before it can be read and processed.  Most formats have a
signature within the image that uniquely identifies the format.  Failing
that, ImageMagick leverages the filename extension to determine the format. 
For example, <code>image.jpg</code> or <code>image.JPG</code> tells ImageMagick
it is reading an image in the JPEG format. </p>

                <p>In some cases the image may not contain a signature
and/or the filename does not identify the image format.  In these cases an
explicit image format must be specified.  For example, suppose our image
is named <code>image</code> and contains raw red, green, and blue intensity
values.  ImageMagick has no way to automagically determine the image format
so we explicitly set one:
</p>

<pre>
convert -size 640x480 -depth 8 rgb:image image.png
</pre>

<h4>Built-in Images and Patterns</h4>

<p>ImageMagick has a number of built-in <a href="formats.html#builtin-images">images</a> and <a href="formats.html#builtin-patterns">patterns</a>.  To utilize the checkerboard pattern, for example, use:
</p>

<pre>
convert -size 640x480 pattern:checkerboard checkerboard.png
</pre>

<h4>STDIN, STDOUT, and file descriptors</h4>
<p>Unix and Windows permit the output of one command to be piped to the input of another. ImageMagick permits image data to be read and written from the <a href="http://en.wikipedia.org/wiki/Standard_streams">standard streams</a> STDIN (<var>standard in</var>) and STDOUT (<var>standard out</var>), respectively, using a pseudo-filename of <code>-</code>.  In this example we pipe the output of
  <a href="convert.html">convert</a> to the <a href="display.html">display</a> program:
</p>

<pre>
convert logo: gif:- | display gif:-
</pre>

<p>The second explicit format "<code>gif:</code>" is optional in the preceding example.  The GIF image format has a unique signature within the image so ImageMagick's <a href="display.html">display</a> command can readily recognize the format as GIF.  The <a href="convert.html">convert</a> program also accepts STDIN as input in this way:
</p>

<pre>
convert rose: gif:- | convert - -resize "200%" bigrose.jpg'
</pre>

<p>Other pipes can be accessed via their <var>file descriptors</var> (as of version 6.4.9-3). The file descriptors 0, 1, and 2 are reserved for the standard streams STDIN, STDOUT, and STDERR, respectively, but a pipe associated with a file descriptor number <var>N</var>&gt;2 can be accessed using the pseudonym <code>fd:</code><var>N</var>. (The pseudonyms <code>fd:0</code> and <code>fd:1</code> can be used for STDIN and STDOUT.) The next example shows how to append image data piped from files with  descriptors 3 and 4 and direct the result to the file with descriptor number 5.
</p>

<pre>
convert fd:3 fd:4 -append fd:5
</pre>

<p>When needed, explicit image formats can be given as mentioned earlier, as in the following.
</p>

<pre>
convert gif:fd:3 jpg:fd:4 -append tif:fd:5
</pre>

<h4>Selecting Frames</h4>
<p>Some images formats contain more than one image frame.  Perhaps you only want the first image, or the last, or some number of images in-between.  You can specify which image frames to read by appending the image filename with the frame range enclosed in brackets.  Here our image (an animated GIF) contains more than one frame but we only want the first:
</p>

<pre>
convert 'images.gif[0]' image.png
</pre>

<p class="bg-info">Unix shells generally interpret brackets so we enclosed the filename in quotes above.
In a Windows command shell the brackets are not interpreted but using quotes doesn't hurt. However, in most cases the roles of single-quotes and double-quotes are reversed with respect to Unix and Windows, so Windows users should usually try double-quotes where we display single-quotes, and vice versa.
</p>

<p>You can read more than one image from a sequence with a frame range.  For example, you can extract the first four frames of an image sequence:
</p>

<pre>
convert 'images.gif[0-3]' images.mng
</pre>

<p>Finally, you can read more than one image from a sequence, out-of-order. The next command gets the third image in the sequence, followed by the second, and then the fourth:
</p>

<pre>
convert 'images.gif[3,2,4]' images.mng
</pre>

<p>Notice that in the last two commands, a single image is written. The output in this case, where the image type is MNG, is a multi-frame file because the MNG format supports multiple frames. Had the output format been JPG, which only supports single frames, the output would have consisted of separate frames. More about that below, in the section about the <a href="command-line-processing.html#output">Output Filename</a>.
</p>

<h4>Selecting an Image Region</h4>
<p>Raw images are a sequence of color intensities without additional meta information such as width, height, or image signature.  With raw image formats, you must specify the image width and height but you can also specify a region of the image to read.  In our example, the image is in the raw 8-bit RGB format and is 6000 pixels wide and 4000 pixels high.  However, we only want a region of 600 by 400 near the center of the image:
</p>

<pre>
convert -size 6000x4000 -depth 8 \
  'rgb:image[600x400+1900+2900]' image.jpg
</pre>

<p>
  You can get the same results with the <a href="command-line-options.html#extract">&#x2011;extract</a> option:
</p>

<pre>
convert -size 6000x4000 -depth 8 \
  -extract 600x400+1900+2900 rgb:image image.jpg
</pre>

<h4>Inline Image Resize</h4>
<p>It is sometimes convenient to resize an image as they are read.  Suppose you have hundreds of large JPEG images you want to convert to a sequence of PNG thumbails:
</p>

<pre>
convert '*.jpg' -resize 120x120 thumbnail%03d.png
</pre>

<p>Here <var>all</var> the images are read and subsequently
resized.  It is faster and less resource intensive to resize each image it
is read:
</p>

<pre>
convert '*.jpg[120x120]' thumbnail%03d.png
</pre>

<h4>Inline Image Crop</h4>
<p>It is sometimes convenient to crop an image as they are read.  Suppose you have hundreds of large JPEG images you want to convert to a sequence of PNG thumbails:
</p>

<pre>
convert '*.jpg' -crop 120x120+10+5 thumbnail%03d.png
</pre>

<p>Here <var>all</var> the images are read and subsequently cropped.  It is faster and less resource-intensive to crop each image as it is read:
</p>

<pre>
convert '*.jpg[120x120+10+5]' thumbnail%03d.png
</pre>


<h4>Filename References</h4>

<p>There are two methods to use a filename to reference other image filenames.
The first is with '<code>@</code>' which reads image filenames separated by white space from the specified file.  Assume the file <code>myimages.txt</code> consists of a list of filenames, like so:
</p>

<pre>
frame001.jpg
frame002.jpg
frame003.jpg
</pre>

<p>We then expect this command:</p>

<pre>
convert @myimages.txt mymovie.gif
</pre>

<p>to read the images <code>frame001.jpg</code>, <code>frame002.jpg</code>, and <code>frame003.jpg</code> and convert them to a GIF image sequence.  </p>
<p>If the image path includes one or more spaces, enclose the path in quotes:</p>
<pre>
'my title.jpg'
</pre>


    <p>Some ImageMagick command-line <a href="command-line-options.html">options</a> may exceed the capabilities of
your command-line processor.  Windows, for example, limits command-lines
to 8192 characters.  If, for example, you have a draw option with polygon
points that exceed the command-line length limit, put the draw option instead
in a file and reference the file with
the <code>@</code> (e.g. <code>@mypoly.txt</code>).</p>

<p>Another method of referring to other image files is by
embedding a formatting character in the filename with a scene range.  Consider
the filename <code>image-%d.jpg[1-5]</code>. The command</p>

<pre>
convert image-%d.jpg[1-5]
</pre>

<p>causes ImageMagick to attempt to read images with these filenames:
</p>

<pre>
image-1.jpg
image-2.jpg
image-3.jpg
image-4.jpg
image-5.jpg
</pre>

<h4>Stream Buffering</h4>
<p>By default, the input stream is buffered.  To ensure information on the source file or terminal is read as soon as its available, set the buffer size to 0:</p>

<pre>
convert logo: gif:- | display -define stream:buffer-size=0 gif:-
</pre>

<h2 class="magick-header"><a id="option"></a>Command-line Options</h2>

<p>You can direct the behavior of ImageMagick utilities with these command-line <a href="command-line-options.html">options</a>.  The behavior of an option falls into one of these categories:</p>

<ul>
<li><a href="command-line-processing.html#setting">Image Setting</a></li>
<li><a href="command-line-processing.html#operator">Image Operator</a></li>
<li><a href="command-line-processing.html#sequence">Image Sequence Operator</a></li>
<li><a href="command-line-processing.html#geometry">Image Geometry</a></li>
<li><a href="command-line-processing.html#stack">Image Stack</a></li>
</ul>

<h4 class="magick-header"><a id="setting"></a>Image Setting</h4>

<p>An image setting persists as it appears on the command-line and may affect
subsequent processing such as reading an image, an image operator, or when
writing an image as appropriate.  An image setting stays in effect until it
is reset or the command-line terminates.  The image settings include:</p>

<ul>
<a href="command-line-options.html#adjoin">&#x2011;adjoin</a>  • <a href="command-line-options.html#affine">&#x2011;affine</a>  • <a href="command-line-options.html#alpha">&#x2011;alpha</a>  • <a href="command-line-options.html#alpha-color">&#x2011;alpha&#x2011;color</a>  • <a href="command-line-options.html#antialias">&#x2011;antialias</a>  • <a href="command-line-options.html#authenticate">&#x2011;authenticate</a>  • <a href="command-line-options.html#background">&#x2011;background</a>  • <a href="command-line-options.html#bias">&#x2011;bias</a>  • <a href="command-line-options.html#black-point-compensation">&#x2011;black&#x2011;point&#x2011;compensation</a>  • <a href="command-line-options.html#blue-primary">&#x2011;blue&#x2011;primary</a>  • <a href="command-line-options.html#bordercolor">&#x2011;bordercolor</a>  • <a href="command-line-options.html#caption">&#x2011;caption</a>  • <a href="command-line-options.html#channel">&#x2011;channel</a>  • <a href="command-line-options.html#comment">&#x2011;comment</a>  • <a href="command-line-options.html#compress">&#x2011;compress</a>  • <a href="command-line-options.html#debug">&#x2011;debug</a>  • <a href="command-line-options.html#define">&#x2011;define</a>  • <a href="command-line-options.html#delay">&#x2011;delay</a>  • <a href="command-line-options.html#density">&#x2011;density</a>  • <a href="command-line-options.html#depth">&#x2011;depth</a>  • <a href="command-line-options.html#direction">&#x2011;direction</a>  • <a href="command-line-options.html#display">&#x2011;display</a>  • <a href="command-line-options.html#dispose">&#x2011;dispose</a>  • <a href="command-line-options.html#dither">&#x2011;dither</a>  • <a href="command-line-options.html#encoding">&#x2011;encoding</a>  • <a href="command-line-options.html#endian">&#x2011;endian</a>  • <a href="command-line-options.html#extract">&#x2011;extract</a>  • <a href="command-line-options.html#family">&#x2011;family</a>  • <a href="command-line-options.html#fill">&#x2011;fill</a>  • <a href="command-line-options.html#filter">&#x2011;filter</a>  • <a href="command-line-options.html#font">&#x2011;font</a>  • <a href="command-line-options.html#format">&#x2011;format</a>  • <a href="command-line-options.html#fuzz">&#x2011;fuzz</a>  • <a href="command-line-options.html#geometry">&#x2011;geometry</a>  • <a href="command-line-options.html#gravity">&#x2011;gravity</a>  • <a href="command-line-options.html#green-primary">&#x2011;green&#x2011;primary</a>  • <a href="command-line-options.html#interlace">&#x2011;interlace</a>  • <a href="command-line-options.html#intent">&#x2011;intent</a>  • <a href="command-line-options.html#interpolate">&#x2011;interpolate</a>  • <a href="command-line-options.html#label">&#x2011;label</a>  • <a href="command-line-options.html#limit">&#x2011;limit</a>  • <a href="command-line-options.html#linewidth">&#x2011;linewidth</a>  • <a href="command-line-options.html#log">&#x2011;log</a>  • <a href="command-line-options.html#loop">&#x2011;loop</a>  • <a href="command-line-options.html#mask">&#x2011;mask</a>  • <a href="command-line-options.html#mattecolor">&#x2011;mattecolor</a>  • <a href="command-line-options.html#monitor">&#x2011;monitor</a>  • <a href="command-line-options.html#orient">&#x2011;orient</a>  • <a href="command-line-options.html#page">&#x2011;page</a>  • <a href="command-line-options.html#pointsize">&#x2011;pointsize</a>  • <a href="command-line-options.html#preview">&#x2011;preview</a>  • <a href="command-line-options.html#quality">&#x2011;quality</a>  • <a href="command-line-options.html#quiet">&#x2011;quiet</a>  • <a href="command-line-options.html#red-primary">&#x2011;red&#x2011;primary</a>  • <a href="command-line-options.html#region">&#x2011;region</a>  • <a href="command-line-options.html#render">&#x2011;render</a>  • <a href="command-line-options.html#repage">&#x2011;repage</a>  • <a href="command-line-options.html#sampling-factor">&#x2011;sampling&#x2011;factor</a>  • <a href="command-line-options.html#scene">&#x2011;scene</a>  • <a href="command-line-options.html#seed">&#x2011;seed</a>  • <a href="command-line-options.html#size">&#x2011;size</a>  • <a href="command-line-options.html#stretch">&#x2011;stretch</a>  • <a href="command-line-options.html#stroke">&#x2011;stroke</a>  • <a href="command-line-options.html#strokewidth">&#x2011;strokewidth</a>  • <a href="command-line-options.html#style">&#x2011;style</a>  • <a href="command-line-options.html#texture">&#x2011;texture</a>  • <a href="command-line-options.html#tile">&#x2011;tile</a>  • <a href="command-line-options.html#transparent-color">&#x2011;transparent&#x2011;color</a>  • <a href="command-line-options.html#treedepth">&#x2011;treedepth</a>  • <a href="command-line-options.html#type">&#x2011;type</a>  • <a href="command-line-options.html#undercolor">&#x2011;undercolor</a>  • <a href="command-line-options.html#units">&#x2011;units</a>  • <a href="command-line-options.html#verbose">&#x2011;verbose</a>  • <a href="command-line-options.html#virtual-pixel">&#x2011;virtual&#x2011;pixel</a>  • <a href="command-line-options.html#weight">&#x2011;weight</a> </ul>

<p>In this example, <var>-channel</var> applies to each of the images, since, as we mentioned, settings persist:
</p>

<pre>
convert -channel RGB wand.png wizard.png images.png
</pre>

<h4 class="magick-header"><a id="operator"></a>Image Operator</h4>

<p>An image operator differs from a setting in that it affects the image
immediately as it appears on the command-line.  An operator is
any command-line <a href="command-line-options.html">option</a> not listed as a
<a href="command-line-processing.html#setting">image setting</a> or
<a href="command-line-processing.html#sequence">image sequence operator</a>.  Unlike an
image setting, which persists until the command-line terminates,
an operator is applied to an image and forgotten.  The image operators
include:</p>

<ul>
<a href="command-line-options.html#annotate">&#x2011;annotate</a>  • <a href="command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a>  • <a href="command-line-options.html#blur">&#x2011;blur</a>  • <a href="command-line-options.html#border">&#x2011;border</a>  • <a href="command-line-options.html#charcoal">&#x2011;charcoal</a>  • <a href="command-line-options.html#chop">&#x2011;chop</a>  • <a href="command-line-options.html#clip">&#x2011;clip</a>  • <a href="command-line-options.html#clip-path">&#x2011;clip&#x2011;path</a>  • <a href="command-line-options.html#clip-mask">&#x2011;clip&#x2011;mask</a>  • <a href="command-line-options.html#colors">&#x2011;colors</a>  • <a href="command-line-options.html#colorize">&#x2011;colorize</a>  • <a href="command-line-options.html#colorspace">&#x2011;colorspace</a>  • <a href="command-line-options.html#compose">&#x2011;compose</a>  • <a href="command-line-options.html#contrast">&#x2011;contrast</a>  • <a href="command-line-options.html#convolve">&#x2011;convolve</a>  • <a href="command-line-options.html#crop">&#x2011;crop</a>  • <a href="command-line-options.html#cycle">&#x2011;cycle</a>  • <a href="command-line-options.html#despeckle">&#x2011;despeckle</a>  • <a href="command-line-options.html#draw">&#x2011;draw</a>  • <a href="command-line-options.html#edge">&#x2011;edge</a>  • <a href="command-line-options.html#emboss">&#x2011;emboss</a>  • <a href="command-line-options.html#enhance">&#x2011;enhance</a>  • <a href="command-line-options.html#equalize">&#x2011;equalize</a>  • <a href="command-line-options.html#evaluate">&#x2011;evaluate</a>  • <a href="command-line-options.html#extent">&#x2011;extent</a>  • <a href="command-line-options.html#flip">&#x2011;flip</a>  • <a href="command-line-options.html#flop">&#x2011;flop</a>  • <a href="command-line-options.html#floodfill">&#x2011;floodfill</a>  • <a href="command-line-options.html#frame">&#x2011;frame</a>  • <a href="command-line-options.html#gamma">&#x2011;gamma</a>  • <a href="command-line-options.html#gaussian-blur">&#x2011;gaussian&#x2011;blur</a>  • <a href="command-line-options.html#grayscale">&#x2011;grayscale</a>  • <a href="command-line-options.html#implode">&#x2011;implode</a>  • <a href="command-line-options.html#lat">&#x2011;lat</a>  • <a href="command-line-options.html#level">&#x2011;level</a>  • <a href="command-line-options.html#map">&#x2011;map</a>  • <a href="command-line-options.html#median">&#x2011;median</a>  • <a href="command-line-options.html#modulate">&#x2011;modulate</a>  • <a href="command-line-options.html#monochrome">&#x2011;monochrome</a>  • <a href="command-line-options.html#negate">&#x2011;negate</a>  • <a href="command-line-options.html#noise">&#x2011;noise</a>  • <a href="command-line-options.html#normalize">&#x2011;normalize</a>  • <a href="command-line-options.html#opaque">&#x2011;opaque</a>  • <a href="command-line-options.html#ordered-dither">&#x2011;ordered&#x2011;dither</a>  • <a href="command-line-options.html#paint">&#x2011;paint</a>  • <a href="command-line-options.html#posterize">&#x2011;posterize</a>  • <a href="command-line-options.html#raise">&#x2011;raise</a>  • <a href="command-line-options.html#profile">&#x2011;profile</a>  • <a href="command-line-options.html#radial-blur">&#x2011;radial&#x2011;blur</a>  • <a href="command-line-options.html#raise">&#x2011;raise</a>  • <a href="command-line-options.html#random-threshold">&#x2011;random&#x2011;threshold</a>  • <a href="command-line-options.html#resample">&#x2011;resample</a>  • <a href="command-line-options.html#resize">&#x2011;resize</a>  • <a href="command-line-options.html#roll">&#x2011;roll</a>  • <a href="command-line-options.html#rotate">&#x2011;rotate</a>  • <a href="command-line-options.html#sample">&#x2011;sample</a>  • <a href="command-line-options.html#scale">&#x2011;scale</a>  • <a href="command-line-options.html#sepia-tone">&#x2011;sepia&#x2011;tone</a>  • <a href="command-line-options.html#segment">&#x2011;segment</a>  • <a href="command-line-options.html#shade">&#x2011;shade</a>  • <a href="command-line-options.html#shadow">&#x2011;shadow</a>  • <a href="command-line-options.html#sharpen">&#x2011;sharpen</a>  • <a href="command-line-options.html#shave">&#x2011;shave</a>  • <a href="command-line-options.html#shear">&#x2011;shear</a>  • <a href="command-line-options.html#sigmoidal-contrast">&#x2011;sigmoidal&#x2011;contrast</a>  • <a href="command-line-options.html#solarize">&#x2011;solarize</a>  • <a href="command-line-options.html#splice">&#x2011;splice</a>  • <a href="command-line-options.html#spread">&#x2011;spread</a>  • <a href="command-line-options.html#strip">&#x2011;strip</a>  • <a href="command-line-options.html#swirl">&#x2011;swirl</a>  • <a href="command-line-options.html#threshold">&#x2011;threshold</a>  • <a href="command-line-options.html#transparent">&#x2011;transparent</a>  • <a href="command-line-options.html#thumbnail">&#x2011;thumbnail</a>  • <a href="command-line-options.html#tint">&#x2011;tint</a>  • <a href="command-line-options.html#transform">&#x2011;transform</a>  • <a href="command-line-options.html#trim">&#x2011;trim</a>  • <a href="command-line-options.html#unsharp">&#x2011;unsharp</a>  • <a href="command-line-options.html#version">&#x2011;version</a>  • <a href="command-line-options.html#wave">&#x2011;wave</a>  • <a href="command-line-options.html#white-point">&#x2011;white&#x2011;point</a>  • <a href="command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a> </ul>

<p>In this example, <var>-negate</var> negates the wand image but not the wizard:</p>

<pre>
convert wand.png -negate wizard.png images.png
</pre>

<h4 class="magick-header"><a id="sequence"></a>Image Sequence Operator</h4>

<p>An image sequence operator differs from a setting in that it affects an
image sequence immediately as it appears on the command-line.  Choose from
these image sequence operators:</p>

<ul>
<a href="command-line-options.html#append">&#x2011;append</a>  • <a href="command-line-options.html#affinity">&#x2011;affinity</a>  • <a href="command-line-options.html#average">&#x2011;average</a>  • <a href="command-line-options.html#clut">&#x2011;clut</a>  • <a href="command-line-options.html#coalesce">&#x2011;coalesce</a>  • <a href="command-line-options.html#combine">&#x2011;combine</a>  • <a href="command-line-options.html#compare">&#x2011;compare</a>  • <a href="command-line-options.html#complex">&#x2011;complex</a>  • <a href="command-line-options.html#composite">&#x2011;composite</a>  • <a href="command-line-options.html#copy">&#x2011;copy</a>  • <a href="command-line-options.html#crop">&#x2011;crop</a>  • <a href="command-line-options.html#debug">&#x2011;debug</a>  • <a href="command-line-options.html#deconstruct">&#x2011;deconstruct</a>  • <a href="command-line-options.html#delete">&#x2011;delete</a>  • <a href="command-line-options.html#evaluate-sequence">&#x2011;evaluate&#x2011;sequence</a>  • <a href="command-line-options.html#fft">&#x2011;fft</a>  • <a href="command-line-options.html#flatten">&#x2011;flatten</a>  • <a href="command-line-options.html#fx">&#x2011;fx</a>  • <a href="command-line-options.html#hald-clut">&#x2011;hald&#x2011;clut</a>  • <a href="command-line-options.html#ift">&#x2011;ift</a>  • <a href="command-line-options.html#identify">&#x2011;identify</a>  • <a href="command-line-options.html#insert">&#x2011;insert</a>  • <a href="command-line-options.html#layers">&#x2011;layers</a>  • <a href="command-line-options.html#limit">&#x2011;limit</a>  • <a href="command-line-options.html#map">&#x2011;map</a>  • <a href="command-line-options.html#maximum">&#x2011;maximum</a>  • <a href="command-line-options.html#minimum">&#x2011;minimum</a>  • <a href="command-line-options.html#morph">&#x2011;morph</a>  • <a href="command-line-options.html#mosaic">&#x2011;mosaic</a>  • <a href="command-line-options.html#optimize">&#x2011;optimize</a>  • <a href="command-line-options.html#print">&#x2011;print</a>  • <a href="command-line-options.html#process">&#x2011;process</a>  • <a href="command-line-options.html#quiet">&#x2011;quiet</a>  • <a href="command-line-options.html#separate">&#x2011;separate</a>  • <a href="command-line-options.html#swap">&#x2011;swap</a>  • <a href="command-line-options.html#write">&#x2011;write</a> </ul>
<p>In this example, <var>-append</var> appends three images into one:</p>

<pre>
convert mikayla.png picnic.png beach.png -append vacation.png
</pre>

<h4 class="magick-header"><a id="geometry"></a>Image Geometry</h4>

<p>Many command-line <a href="command-line-options.html">options</a> take a <var>geometry</var> argument
to specify such things as the desired width and height of an image and other
dimensional quantities. Because users want so many variations on the resulting
dimensions, sizes, and positions of images (and because ImageMagick wants to
provide them), the <var>geometry</var> argument can take many
forms. We describe many of these in this section. </p>

<p>The image options and settings that take some form of
a <var>geometry</var> argument include the following.
Keep in mind that some of these parse their arguments in slightly
different ways. See the documentation for the individual option or
setting for more specifics.</p>

<ul>
<a href="command-line-options.html#adaptive-resize">&#x2011;adaptive&#x2011;resize</a>  • <a href="command-line-options.html#border">&#x2011;border</a>  • <a href="command-line-options.html#borderwidth">&#x2011;borderwidth</a>  • <a href="command-line-options.html#chop">&#x2011;chop</a>  • <a href="command-line-options.html#crop">&#x2011;crop</a>  • <a href="command-line-options.html#density">&#x2011;density</a>  • <a href="command-line-options.html#extent">&#x2011;extent</a>  • <a href="command-line-options.html#extract">&#x2011;extract</a>  • <a href="command-line-options.html#frame">&#x2011;frame</a>  • <a href="command-line-options.html#geometry">&#x2011;geometry</a>  • <a href="command-line-options.html#iconGeometry">&#x2011;iconGeometry</a>  • <a href="command-line-options.html#liquid-rescale">&#x2011;liquid&#x2011;rescale</a>  • <a href="command-line-options.html#page">&#x2011;page</a>  • <a href="command-line-options.html#region">&#x2011;region</a>  • <a href="command-line-options.html#repage">&#x2011;repage</a>  • <a href="command-line-options.html#resize">&#x2011;resize</a>  • <a href="command-line-options.html#sample">&#x2011;sample</a>  • <a href="command-line-options.html#scale">&#x2011;scale</a>  • <a href="command-line-options.html#shave">&#x2011;shave</a>  • <a href="command-line-options.html#splice">&#x2011;splice</a>  • <a href="command-line-options.html#thumbnail">&#x2011;thumbnail</a>  • <a href="command-line-options.html#window">&#x2011;window</a> </ul>

<p>The <var>geometry</var> argument might take any of the forms listed in the table below. These will described in more detail in the subsections following the table. The usual form is <var>size</var>[<var>offset</var>], meaning <var>size</var> is required and <var>offset</var> is optional. Occasionally, [<var>size</var>]<var>offset</var> is possible. In no cases are spaces permitted within the <var>geometry</var> argument.</p>


<div class="table-responsive">
<table class="table table-condensed table-striped">
  <col width="20%"/> <col width="80%"/>
  <thead>
  <tr>
    <th style="text-align:center"><var>size</var></th>
    <th>General description (actual behavior can vary for different options and settings)</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td><var>scale</var>%</td>
    <td>Height and width both scaled by specified percentage.</td>
  </tr>
  <tr>
    <td><var>scale-x</var>%x<var>scale-y</var>%</td>
    <td>Height and width individually scaled by specified percentages. (Only one % symbol needed.)</td>
  </tr>
  <tr>
    <td><var>width</var></td>
    <td>Width given, height automagically selected to preserve aspect ratio.</td>
  </tr>
  <tr>
    <td>x<var>height</var></td>
    <td>Height given, width automagically selected to preserve aspect ratio.</td>
  </tr>
  <tr>
    <td><var>width</var>x<var>height</var></td>
    <td>Maximum values of height and width given, aspect ratio preserved.</td>
  </tr>
  <tr>
    <td><var>width</var>x<var>height</var>^</td>
    <td>Minimum values of width and height given, aspect ratio preserved.</td>
  </tr>
  <tr>
    <td><var>width</var>x<var>height</var>!</td>
    <td>Width and height emphatically given, original aspect ratio ignored.</td>
  </tr>
  <tr>
    <td><var>width</var>x<var>height</var>&gt;</td>
    <td>Shrinks an image with dimension(s) <b>larger</b> than the corresponding <var>width</var> and/or <var>height</var> argument(s).</td>
  </tr>
  <tr>
    <td><var>width</var>x<var>height</var>&lt;</td>
    <td>Enlarges an image with dimension(s) <b>smaller</b> than the corresponding <var>width</var> and/or <var>height</var> argument(s).</td>
  </tr>
  <tr>
    <td><var>area</var>@</td>
    <td>Resize image to have specified area in pixels. Aspect ratio is preserved.</td>
  </tr>
  <tr>
    <td>{<var>size</var>}{<var>offset</var>}</td>
    <td>Specifying the <var>offset</var> (default is <code>+0+0</code>). Below, {<var>size</var>} refers to any of the forms above.</td>
  </tr>
  <tr>
    <td>{<var>size</var>}{<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var></td>
    <td>Horizontal and vertical offsets <var>x</var> and <var>y</var>, specified in pixels. Signs are required for both. Offsets are affected by <a href="command-line-options.html#gravity">&#x2011;gravity</a> setting. Offsets are not affected by <code>%</code> or other <var>size</var> operators.</td>
  </tr>
 </tbody>
</table></div>


<h4>Basic adjustments to width and height; the operators <code>%</code>, <code>^</code>, and <code>!</code> </h4>
<p>Here, just below, are a few simple examples of <var>geometry</var>, showing how it might be used as an argument to the <a href="command-line-options.html#resize">&#x2011;resize</a> option. We'll use the internal image <code>logo:</code> for our input image.
<a href="../images/logo.png">
This fine image</a> is 640 pixels wide and 480 pixels high. We say its <var>dimensions</var> are 640x480. When we give dimensions of an image, the width (the horizontal dimension) always precedes the height (the vertical dimension). This will be true when we speak of coordinates or <var>offsets</var> into an image, which will always be <var>x</var>–value followed by <var>y</var>. Just think of your high school algebra classes and the <var>xy</var>–plane. (Well, almost: our <var>y</var>–axis will always go downward!)
</p>

<pre>
convert logo: -resize '200%' bigWiz.png
convert logo: -resize '200x50%' longShortWiz.png
convert logo: -resize '100x200' notThinWiz.png
convert logo: -resize '100x200^' biggerNotThinWiz.png
convert logo: -resize '100x200!' dochThinWiz.png
</pre>

<p>The first of the four commands is simple—it stretches both the width and height of the input image by <code>200%</code> in each direction; it magnifies the whole thing by a factor of two. The second command specifies different percentages for each direction, stretching the width to <code>200</code>% and squashing the height to <code>50%</code>. The resulting image (in this example) has dimensions 1280x240. Notice that the percent symbol needn't be repeated; the following are equivalent: <code>200x50%</code>, <code>200%x50</code>, <code>200%x50%</code>.
</p>

<p>By default, the width and height given in a <var>geometry</var> argument are <var>maximum</var> values unless a percentage is specified. That is, the image is expanded or contracted to fit the specified width and height value while maintaining the <var>aspect ratio</var> (the ratio of its height to its width) of the image. For instance, the third command above "tries" to set the dimensions to <code>100x200</code>. Imagine gradually shrinking the original image (which is 640x480), keeping is aspect ratio constant, until it just fits into a 100x200 rectangle. Since the image is longer than it is tall, it will fit when its width shrinks to 100 pixels. To preserve the aspect ratio, the height will therefore have to be (480/640)×100 pixels=75 pixels, so the final dimensions will be 100x75.</p>

<p> Notice that in the previous example, at least one of the specified dimensions will be attained (in this case, the width, 100 pixels). The resulting image fits snugly within the original. One can do just the opposite of this by invoking the <code>^</code> operator, as in the fourth example above. In that case, when <code>100x200^</code> is given as the argument, again at least one of the dimensions will be attained, but in this case the resulting image can snugly contain the original. Here the <var>geometry</var> argument gives <var>minimum</var> values. In our example, the height will become 200 and the width will be scaled to preserve the aspect ratio, becoming (640/480)×200 pixels=267 pixels. With the <code>^</code> operator, one of those dimensions will match the requested size, but the image will likely overflow the dimensions requested to preserve its aspect ratio. (The <code>^</code> feature is new as of IM 6.3.8-2.)</p>

<p>We see that ImageMagick is very good about preserving aspect ratios of images, to prevent distortion of your favorite photos and images. But you might really want the dimensions to be <code>100x200</code>, thereby stretching the image. In this case just tell ImageMagick you really mean it (!) by appending an exclamation operator to the geometry. This will force the image size to exactly what you specify. So, for example, if you specify <code>100x200!</code> the dimensions will become exactly 100x200 (giving a small, vertically elongated wizard).</p>

<h4>Bounding the width, height, and area; the operators <code>&gt;</code>, <code>&lt;</code>, and <code>@</code> </h4>
<p>
Here are a few more examples:
</p>

<pre>
convert logo: -resize '100' wiz1.png
convert logo: -resize 'x200' wiz2.png
convert logo: -resize '100x200&gt;' wiz3.png
convert logo: -resize '100x200&lt;' wiz4.png
</pre>

<p>If only one dimension is given it is taken to be the width. When only the width is specified, as in the first example above, the width is accepted as given and the height is chosen to maintain the aspect ratio of the input image. Similarly, if only the height is specified, as in the second example above, the height is accepted and the width is chosen to maintain the aspect ratio.</p>


<p>Use <code>&gt;</code> to shrink an image <var>only</var> if its dimension(s) are <b>larger</b> than the corresponding <var>width</var> and/or <var>height</var> arguments. Use <code>&lt;</code> to enlarge an image <var>only</var> if its dimension(s) are <b>smaller</b> than the corresponding <var>width</var> and/or <var>height</var> arguments.  In either case, if a change is made, the result is as if the <code>&gt;</code> or <code>&lt;</code> operator was not present. So, in the third example above, we specified <code>100x200&gt;</code> and the original image size is 640x480, so the image size is reduced as if we had specified <code>100x200</code>. However, in the fourth example above, there will be no change to its size.</p>

<p>Finally, use <code>@</code> to specify the maximum area in pixels of an image, again while attempting to preserve aspect ratio. (Pixels take only integer values, so some approximation is always at work.) In the following example, an area of 10000 pixels is requested. The resulting file has dimensions 115x86, which has 9890 pixels. </p>

<pre>
convert logo: -resize '10000@' wiz10000.png
</pre>

<p class="bg-info">In all the examples above and below, we have enclosed the <var>geometry</var> arguments  within quotation marks. Doing so is optional in many cases, but not always. We <var>must</var> enclose the geometry specifications in quotation marks when using <code>&lt;</code> or <code>&gt;</code> to prevent these characters from being interpreted by the shell as <var>file redirection</var>. On Windows systems, the carat <code>^</code>  needs to be within quotes, else it is ignored. To be safe, one should probably maintain a habit of enclosing all <var>geometry</var> arguments in quotes, as we have here.
</p>

<h4>Offsets in geometry</h4>
<p>
Here are some examples to illustrate the use of <var>offsets</var> in <var>geometry</var> arguments. One typical use of offsets is in conjunction with the
<a href="command-line-options.html#region">&#x2011;region</a> option. This option allows many other options to modify the pixels within a specified rectangular subregion of an image. As such, it needs to be given the width and height of that region, and also an <var>offset</var> into the image, which is a pair of coordinates that indicate the location of the region within the larger image. Below, in the first example, we specify a region of size <code>100x200</code> to be located at the <var>xy</var>–coordinates <var>x</var>=10, <var>y</var>=20. Let's use the usual algebraic notation (<var>x</var>,<var>y</var>)=(10,20), for convenience.
</p>

<pre>
convert logo: -region '100x200+10+20' -negate wizNeg1.png
convert logo: -region '100x200-10+20' -negate wizNeg2.png
convert logo: -gravity center -region '100x200-10+20' \
  -negate wizNeg3.png
</pre>

<p>Note that offsets always require +/− signs. The offset is not actually a true location within the image; its coordinates must be added to some other location. Let's refer to that as the <var>current location</var>. In the first two examples above, though, that location is the upper-left hand corner of the image, which has coordinates (0,0). (That is the default situation when there are no other directives given to change it.) The first example above puts the <code>100x200</code> rectangle's own upper-left corner at (10,20). </p>

<p>A negative offset can make sense in many cases. In the second example above, the offset is (-10,20), specified by <code>-10+20</code>. In that case, only the portion of the (virtual) rectangle obtained that lies within the image can be negated; here it is equivalent to specifying the geometry as <code>90x200+0+20</code>.</p>

<p>In the third example above, the <a href="command-line-options.html#gravity">&#x2011;gravity</a> setting precedes the others and sets the current location within the image at the very center of the image. In this case that is at pixel (320,240), since the size of the image is 640x480. This means that the offsets apply to that location, which thereby gets moved, in this case, to (320-10,240+20)=(310,260). But the <code>100x200</code> region itself is affected by the <a href="command-line-options.html#gravity">&#x2011;gravity</a> setting, so instead of affecting its upper-left corner, the region's own center (at (+50,+100) within it) is determined. Therefore the center of the <code>100x200</code> rectangle is moved to (310,260). The negated rectangle's upper-left corner is now at (310-50,260-100)=(260,160).
</p>


<h4 class="magick-header"><a id="stack"></a>Image Stack</h4>

<p>In school, your teacher probably permitted you to work on problems on a scrap of paper and then copy the results to your test paper.  An image stack is similar.  It permits you to work on an image or image sequence in isolation and subsequently introduce the results back into the command-line.  The image stack is delineated with parenthesis.  Image operators only affect images in the current stack.  For example, we can limit the image rotation to just the wizard image like this:</p>

<pre>
convert wand.gif \( wizard.gif -rotate 30 \) +append images.gif
</pre>


<p class="bg-info">Notice again that the  parentheses are <var>escaped</var> by preceding them with
backslashes.  This is required under Unix, where parentheses are special
<var>shell</var> characters.  The backslash tells the shell not to interpret
these characters, but to pass them directly to the command being executed. Do
not escape the parentheses under Windows. Each parenthesis (or escaped
parenthesis) must have spaces on either side, as in the example shown
above.</p>

<p>In addition to the image operators already discussed, the following image operators are most useful when processing images in an image stack:</p>

<ul>
<a href="command-line-options.html#clone">&#x2011;clone</a>  • <a href="command-line-options.html#delete">&#x2011;delete</a>  • <a href="command-line-options.html#insert">&#x2011;insert</a>  • <a href="command-line-options.html#swap">&#x2011;swap</a> </ul>

<p>The arguments to these operators are indexes into the image sequence by number, starting with zero, for the first image, and so on. However if you give a negative index, the images are indexed from the end (last image added). That is, an index of -1 is the last image in the current image sequence, -2 gives the second-to-last, and so on.</p>

<h2 class="magick-header"><a id="output"></a>Output Filename</h2>

<p>ImageMagick extends the concept of an output filename to include:</p>

<ol>
<li>an explicit image format</li>
<li>write to <var>standard out</var></li>
<li>filename references</li>
</ol>

<p>Each of these extensions are explained in the next few paragraphs.</p>

<h4>Explicit Image Format</h4>
  <p>Images can be stored in a mryiad of image formats including the better known JPEG, PNG, TIFF and others.  ImageMagick must know the desired format of the image before it is written.  ImageMagick leverages the filename extension to determine the format.  For example, <code>image.jpg</code> tells ImageMagick to write the image in the JPEG format.  In some cases the filename does not identify the image format.  In these cases, the image is written in the format it was originally read unless an explicit image format is specified.  For example, suppose we want to write our image to a filename of <code>image</code> in the raw red, green, and blue intensity format:
  </p>

<pre>
convert image.jpg rgb:image
</pre>


<h4>Standard Out</h4>
  <p>Unix permits the output of one command to be piped to another.  ImageMagick permits piping one command to another with a filename of <code>-</code>.  In this example we pipe the output of <a href="convert.html">convert</a> to the <a href="display.html">display</a> program:
  </p>

<pre>
convert logo: gif:- | display gif:-
</pre>

<p>Here the explicit format is optional.  The GIF image format has a signature that uniquely identifies it so ImageMagick can readily recognize the format as GIF.</p>

<h4>Filename References</h4>
<p>Optionally, use an embedded formatting character to write a sequential image list.  Suppose our output filename is <code>image-%d.jpg</code> and our image list includes 3 images.  You can expect these images files to be written:
</p>

<pre>
image-0.jpg
image-1.jpg
image-2.jpg
</pre>

<p>Or retrieve image properties to modify the image filename.  For example, the command
</p>

<pre>
convert rose: -set filename:area '%wx%h' 'rose-%[filename:area].png'
</pre>

<p>writes an image with this filename:
</p>

<pre>
  rose-70x46.png
</pre>

<p>Finally to convert multiple JPEG images to individual PDF pages, use:</p>

<pre>
  convert *.jpg +adjoin page-%d.pdf
</pre>

<h4>Stream Buffering</h4>

<p>By default, the output stream is buffered.  To ensure information appears on the destination file or terminal as soon as written, set the buffer size to 0:</p>

<pre>
convert -define stream:buffer-size=0 logo: gif:- | display gif:-
</pre>
</div>
  <footer class="magick-footer">
    <p><a href="support.html">Donate</a> •
     <a href="sitemap.html">Sitemap</a> •
    <a href="links.html">Related</a> •
    <a href="architecture.html">Architecture</a>
</p>
    <p><a href="command-line-processing.html#">Back to top</a> •
    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
    <a href="http://www.imagemagick.org/script/contact.php">Contact Us</a></p>
        <p><small>©  1999-2016 ImageMagick Studio LLC</small></p>
  </footer>
</div><!-- /.container -->

  <script src="https://localhost/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="../js/magick.html"></script>
</div>
</body>
</html>
<!-- Magick Cache 17th June 2016 14:42 -->