



<!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 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 Options</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, options, 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-2009 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><!-- 20090501000200 -->
</div>
<div  class="sponsor">
  <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201003010120 Buchhorn -->
</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><!-- 201001000240 Gewiese digital-finance.de -->
</div>
<div  class="sponsor">
   <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
</div>
<div  class="sponsor">
  <a href="http://www.blumenversender.com">Blumenversand</a><!-- 200911010120 -->
</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="../www/command-line-options.html#adaptive-blur">&#x2011;adaptive&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#adaptive-resize">&#x2011;adaptive&#x2011;resize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#adaptive-sharpen">&#x2011;adaptive&#x2011;sharpen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#adjoin">&#x2011;adjoin</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#affine">&#x2011;affine</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#alpha">&#x2011;alpha</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#annotate">&#x2011;annotate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#antialias">&#x2011;antialias</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#append">&#x2011;append</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#attenuate">&#x2011;attenuate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#authenticate">&#x2011;authenticate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#auto-gamma">&#x2011;auto&#x2011;gamma</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#auto-level">&#x2011;auto&#x2011;level</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#auto-orient">&#x2011;auto&#x2011;orient</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#average">&#x2011;average</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#backdrop">&#x2011;backdrop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#background">&#x2011;background</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#bench">&#x2011;bench</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#bias">&#x2011;bias</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blackpoint-compensation">&#x2011;blackpoint&#x2011;compensation</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blend">&#x2011;blend</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blue-primary">&#x2011;blue&#x2011;primary</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blue-shift">&#x2011;blue&#x2011;shift</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blur">&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#border">&#x2011;border</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#bordercolor">&#x2011;bordercolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#borderwidth">&#x2011;borderwidth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#cache">&#x2011;cache</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#caption">&#x2011;caption</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#cdl">&#x2011;cdl</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#channel">&#x2011;channel</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#charcoal">&#x2011;charcoal</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#chop">&#x2011;chop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clamp">&#x2011;clamp</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clip">&#x2011;clip</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clip-mask">&#x2011;clip&#x2011;mask</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clip-path">&#x2011;clip&#x2011;path</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clone">&#x2011;clone</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clut">&#x2011;clut</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#coalesce">&#x2011;coalesce</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colorize">&#x2011;colorize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colormap">&#x2011;colormap</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colors">&#x2011;colors</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colorspace">&#x2011;colorspace</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#combine">&#x2011;combine</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#comment">&#x2011;comment</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#compose">&#x2011;compose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#composite">&#x2011;composite</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#compress">&#x2011;compress</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#contrast">&#x2011;contrast</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#contrast-stretch">&#x2011;contrast&#x2011;stretch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#convolve">&#x2011;convolve</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#crop">&#x2011;crop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#cycle">&#x2011;cycle</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#debug">&#x2011;debug</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#decipher">&#x2011;decipher</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#deconstruct">&#x2011;deconstruct</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#define">&#x2011;define</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#delay">&#x2011;delay</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#delete">&#x2011;delete</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#density">&#x2011;density</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#depth">&#x2011;depth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#descend">&#x2011;descend</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#deskew">&#x2011;deskew</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#despeckle">&#x2011;despeckle</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#displace">&#x2011;displace</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#display">&#x2011;display</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dispose">&#x2011;dispose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dissimilarity-threshold">&#x2011;dissimilarity&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dissolve">&#x2011;dissolve</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#distort">&#x2011;distort</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dither">&#x2011;dither</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#draw">&#x2011;draw</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#edge">&#x2011;edge</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#emboss">&#x2011;emboss</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#encipher">&#x2011;encipher</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#encoding">&#x2011;encoding</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#endian">&#x2011;endian</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#enhance">&#x2011;enhance</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#equalize">&#x2011;equalize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#evaluate">&#x2011;evaluate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#extent">&#x2011;extent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#extract">&#x2011;extract</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#family">&#x2011;family</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fft">&#x2011;fft</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fill">&#x2011;fill</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#filter">&#x2011;filter</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#flatten">&#x2011;flatten</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#flip">&#x2011;flip</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#floodfill">&#x2011;floodfill</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#flop">&#x2011;flop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#font">&#x2011;font</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#foreground">&#x2011;foreground</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#format">&#x2011;format</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#format_identify_">&#x2011;format[identify]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#frame">&#x2011;frame</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#frame_import_">&#x2011;frame[import]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#function">&#x2011;function</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fuzz">&#x2011;fuzz</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fx">&#x2011;fx</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#gamma">&#x2011;gamma</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#gaussian-blur">&#x2011;gaussian&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#geometry">&#x2011;geometry</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#gravity">&#x2011;gravity</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#green-primary">&#x2011;green&#x2011;primary</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#hald-clut">&#x2011;hald&#x2011;clut</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#help">&#x2011;help</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#highlight-color">&#x2011;highlight&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#iconGeometry">&#x2011;iconGeometry</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#iconic">&#x2011;iconic</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#identify">&#x2011;identify</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#ift">&#x2011;ift</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#immutable">&#x2011;immutable</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#implode">&#x2011;implode</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#insert">&#x2011;insert</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#intent">&#x2011;intent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#interlace">&#x2011;interlace</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#interpolate">&#x2011;interpolate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#interline-spacing">&#x2011;interline&#x2011;spacing</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#interword-spacing">&#x2011;interword&#x2011;spacing</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#kerning">&#x2011;kerning</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#label">&#x2011;label</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#lat">&#x2011;lat</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#layers">&#x2011;layers</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#level">&#x2011;level</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#level-colors">&#x2011;level&#x2011;colors</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#limit">&#x2011;limit</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#linear-stretch">&#x2011;linear&#x2011;stretch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#linewidth">&#x2011;linewidth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#liquid-rescale">&#x2011;liquid&#x2011;rescale</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#list">&#x2011;list</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#log">&#x2011;log</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#loop">&#x2011;loop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#lowlight-color">&#x2011;lowlight&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#magnify">&#x2011;magnify</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#map">&#x2011;map</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#map_stream_">&#x2011;map[stream]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mask">&#x2011;mask</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mattecolor">&#x2011;mattecolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#median">&#x2011;median</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#metric">&#x2011;metric</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mode">&#x2011;mode</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#modulate">&#x2011;modulate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#monitor">&#x2011;monitor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#monochrome">&#x2011;monochrome</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#morph">&#x2011;morph</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mosaic">&#x2011;mosaic</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#motion-blur">&#x2011;motion&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#name">&#x2011;name</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#negate">&#x2011;negate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#noise">&#x2011;noise</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#normalize">&#x2011;normalize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#opaque">&#x2011;opaque</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#ordered-dither">&#x2011;ordered&#x2011;dither</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#orient">&#x2011;orient</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#page">&#x2011;page</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#paint">&#x2011;paint</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#path">&#x2011;path</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pause_animate_">&#x2011;pause[animate]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pause_import_">&#x2011;pause[import]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pen">&#x2011;pen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#ping">&#x2011;ping</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pointsize">&#x2011;pointsize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#polaroid">&#x2011;polaroid</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#posterize">&#x2011;posterize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#preview">&#x2011;preview</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#print">&#x2011;print</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#process">&#x2011;process</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#profile">&#x2011;profile</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#quality">&#x2011;quality</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#quantize">&#x2011;quantize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#quiet">&#x2011;quiet</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#radial-blur">&#x2011;radial&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#raise">&#x2011;raise</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#random-threshold">&#x2011;random&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#recolor">&#x2011;recolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#red-primary">&#x2011;red&#x2011;primary</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#regard-warnings">&#x2011;regard&#x2011;warnings</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#region">&#x2011;region</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#remap">&#x2011;remap</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#remote">&#x2011;remote</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#render">&#x2011;render</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#repage">&#x2011;repage</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#resample">&#x2011;resample</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#resize">&#x2011;resize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#respect-parentheses">&#x2011;respect&#x2011;parentheses</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#reverse">&#x2011;reverse</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#roll">&#x2011;roll</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#rotate">&#x2011;rotate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sample">&#x2011;sample</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sampling-factor">&#x2011;sampling&#x2011;factor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#scale">&#x2011;scale</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#scene">&#x2011;scene</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#screen">&#x2011;screen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#seed">&#x2011;seed</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#segment">&#x2011;segment</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#selective-blur">&#x2011;selective&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#separate">&#x2011;separate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sepia-tone">&#x2011;sepia&#x2011;tone</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#set">&#x2011;set</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shade">&#x2011;shade</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shadow">&#x2011;shadow</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shared-memory">&#x2011;shared&#x2011;memory</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sharpen">&#x2011;sharpen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shave">&#x2011;shave</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shear">&#x2011;shear</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sigmoidal-contrast">&#x2011;sigmoidal&#x2011;contrast</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#silent">&#x2011;silent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#size">&#x2011;size</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sketch">&#x2011;sketch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#snaps">&#x2011;snaps</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#solarize">&#x2011;solarize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sparse-color">&#x2011;sparse&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#splice">&#x2011;splice</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#spread">&#x2011;spread</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stegano">&#x2011;stegano</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stereo">&#x2011;stereo</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stretch">&#x2011;stretch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#strip">&#x2011;strip</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stroke">&#x2011;stroke</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#strokewidth">&#x2011;strokewidth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#style">&#x2011;style</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#swap">&#x2011;swap</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#swirl">&#x2011;swirl</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#taint">&#x2011;taint</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#text-font">&#x2011;text&#x2011;font</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#texture">&#x2011;texture</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#threshold">&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#thumbnail">&#x2011;thumbnail</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#tile">&#x2011;tile</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#tile-offset">&#x2011;tile&#x2011;offset</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#tint">&#x2011;tint</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#title">&#x2011;title</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transform">&#x2011;transform</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transparent">&#x2011;transparent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transparent-color">&#x2011;transparent&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transpose">&#x2011;transpose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transverse">&#x2011;transverse</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#treedepth">&#x2011;treedepth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#trim">&#x2011;trim</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#type">&#x2011;type</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#undercolor">&#x2011;undercolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#unique-colors">&#x2011;unique&#x2011;colors</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#units">&#x2011;units</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#unsharp">&#x2011;unsharp</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#update">&#x2011;update</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#verbose">&#x2011;verbose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#version">&#x2011;version</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#view">&#x2011;view</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#vignette">&#x2011;vignette</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#virtual-pixel">&#x2011;virtual&#x2011;pixel</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#visual">&#x2011;visual</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#watermark">&#x2011;watermark</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#wave">&#x2011;wave</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#weight">&#x2011;weight</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#white-point">&#x2011;white&#x2011;point</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#window">&#x2011;window</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#window-group">&#x2011;window&#x2011;group</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#write">&#x2011;write</a>  ] </p>

<p>Below is list of command-line options recognized by the ImageMagick <a href="../www/command-line-tools.html">command-line tools</a>. If you want a description of a particular option, click on the option name in the navigation bar above and you will go right to it. Unless otherwise noted, each option is recognized by the commands
<a href="../www/convert.html">convert</a>, <a href="../www/mogrify.html">mogrify</a>, and ....  </p>

<div style="margin: auto;">
  <h4><a name="adaptive-blur" id="adaptive-blur"></a>-adaptive-blur <em class="arg">radius</em>[x<em class="arg">sigma</em>]</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Adaptively blur pixels, with decreasing effect near edges.</td><td style='text-align:right;'></td></tr></table>

<p>A Gaussian operator of the given radius and standard deviation (<em class="arg">sigma</em>) is used. If <em class="arg">sigma</em> is not given it defaults to 1.</p>

<div style="margin: auto;">
  <h4><a name="adaptive-resize" id="adaptive-resize"></a>-adaptive-resize <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Resize the image using data-dependent triangulation.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <a href="#adaptive-resize">-adaptive-resize</a> option defaults to data-dependent triangulation.  Use the <a href="#filter">-filter</a> to choose a different resampling algorithm.  Offsets, if present in the geometry string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>

<div style="margin: auto;">
  <h4><a name="adaptive-sharpen" id="adaptive-sharpen"></a>-adaptive-sharpen <em class="arg">radius</em>[x<em class="arg">sigma</em>]</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Adaptively sharpen pixels, with increasing effect near edges.</td><td style='text-align:right;'></td></tr></table>

<p>A Gaussian operator of the given radius and standard deviation (<em class="arg">sigma</em>) is used. If <em class="arg">sigma</em> is not given it defaults to 1.</p>

<div style="margin: auto;">
  <h4><a name="adjoin" id="adjoin"></a>-adjoin</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Join images into a single multi-image file.</td><td style='text-align:right;'></td></tr></table>

<p>This option is enabled by default. An attempt is made to save all
images of an image sequence into the given output file.
However, some formats, such as JPEG and PNG, do not support more than one
image per file, and in that case ImageMagick is forced to write each image as a separate file.  As
such, if more than one image needs to be written, the filename given is
modified by adding a <a href="#scene">-scene</a> number before the
suffix, in order to make distinct names for each image. </p>

<p>Use <a href="#adjoin">+adjoin</a> to force each image to be written
to separate files, whether or not the file format allows multiple images
per file (for example, GIF, MIFF, and TIFF). </p>

<p>Including a C-style integer format string in the output filename will automagically enable <a href="#adjoin">+adjoin</a> and are used to specify where the <a href="#scene">-scene</a> number is placed in the filenames. These strings, such as '<kbd>%d</kbd>' or '<kbd>%03d</kbd>', are familiar to those who have used the standard <kbd>printf()</kbd>' C-library function. As an example, the command</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: rose: -morph 15 my%02dmorph.jpg</span></p>
<p>will create a sequence of 17 images named my00morph.jpg, my01morph.jpg, my02morph.jpg, ..., my16morph.jpg.
</p>

<p>In summary, ImageMagick tries to write all images to one file, but will use
multiple files if either (1) the output image's file format does not allow multi-image files,
(2) the <a href="#adjoin">+adjoin</a> option is given, or (3) a C-style integer format string is
present in the output filename. </p>


<div style="margin: auto;">
  <h4><a name="affine" id="affine"></a>-affine <em class="arg">s<sub>x</sub></em>,<em class="arg">r<sub>x</sub></em>,<em class="arg">r<sub>y</sub></em>,<em class="arg">s<sub>y</sub></em>,<em class="arg">t<sub>x</sub></em>,<em class="arg">t<sub>y</sub></em><br/>
  -affine <em class="arg">s<sub>x</sub></em>,<em class="arg">r<sub>x</sub></em>,<em class="arg">r<sub>y</sub></em>,<em class="arg">s<sub>y</sub></em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the drawing transformation matrix for combined rotating and scaling.</td><td style='text-align:right;'></td></tr></table>

<p>This option sets a transformation matrix, encoded as (<em class="arg">s<sub>x</sub></em>, <em class="arg">r<sub>x</sub></em>, <em class="arg">r<sub>y</sub></em>, <em class="arg">s<sub>y</sub></em>, <em class="arg">t<sub>x</sub></em>, <em class="arg">t<sub>y</sub></em>), for use by subsequent <a href="#draw">-draw</a> or <a href="#transform">-transform</a> options.</p>

<p>The matrix entries are entered as comma-separated numeric values <i>with no spaces</i>. </p>

<p>Internally, the transformation matrix has 3x3 elements, but three of them are omitted from the input because they are constant. The new (transformed) coordinates (<em class="arg">x'</em>, <em class="arg">y'</em>) of a pixel at position (<em class="arg">x</em>, <em class="arg">y</em>) in the original image are calculated using the following matrix equation.</p>

<div class="eqn">
<img alt="affine transformation"  src="../images/affine.png"/>
</div>

<p>
The size of the resulting image is that of the smallest rectangle that contains the transformed source image.  The parameters <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em>  subsequently shift the image pixels so that those that are moved out of the image area are cut off.</p>

<p>The transformation matrix complies with the left-handed pixel coordinate system: positive <em class="arg">x</em> and <em class="arg">y</em> directions are rightward and downward, resp.; positive rotation is clockwise.</p>

<p> If the translation coefficients <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em> are omotted they default to 0,0. Therefore, four parameters suffice for rotation and scaling without translation.</p>

<p>Scaling by the factors <em class="arg">s<sub>x</sub></em> and <em class="arg">s<sub>y</sub></em> in the <em>x</em> and <em>y</em> directions, respectively, is accomplished with the following.</p>

<p class="crtsnip">
 -affine <em class="arg">s<sub>x</sub></em>,0,0,<em class="arg">s<sub>y</sub></em>
</p>

<p>Translation by a displacement (<em class="arg">t<sub>x</sub></em>, <em class="arg">t<sub>y</sub></em>) is accomplished like so:</p>

<p class="crtsnip">
  -affine 1,0,0,1,<em class="arg">t<sub>x</sub></em>,<em class="arg">t<sub>y</sub></em>
</p>

<p>Rotate clockwise about the origin (the upper left-hand corner) by an angle <em>a</em> by letting
<em>c</em> = cos(<em>a</em>), <em>s</em> = sin(<em>a</em>), and using the following.</p>

<p class="crtsnip">
  -affine <em>c</em>,<em>s</em>,-<em>s</em>,<em>c</em>
</p>

<p>The cumulative effect of a sequence of <a href="#affine" >-affine</a> transformations can be accomplished by instead by a single <a href="#affine" >-affine</a> operation using the matrix equal to the product of the matrices of the individual transformations.</p>

<p>An attempt is made to detect near-singular transformation matrices. If the matrix determinant has a sufficiently small absolute value it is rejected.</p>

<div style="margin: auto;">
  <h4><a name="alpha" id="alpha"></a>-alpha <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Gives control of the alpha/matte channel of an image.</td><td style='text-align:right;'></td></tr></table>

<p>Used to set a flag on an image indicating whether or not to use existing alpha
channel data, to create an alpha channel, or to perform other operations on the alpha channel.  Choose the argument <em class="arg">type</em> from the list below.</p>


<table class="doc">
  <tbody>
  <tr valign="top">
    <th align="left" style="width: 8%">type</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top"><kbd>Off</kbd>&nbsp; or
    <kbd>Deactivate</kbd></td>
    <td valign="top">
       Disables the image's transparency channel. Does not delete or change the
       existing data, just turns off the use of that data. This is the same as
       the older <a href="#matte" >+matte</a> operator. </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>On</kbd>&nbsp; or
    <kbd>Activate</kbd></td>
    <td valign="top">
       Enables the image's use of transparency.  If transparency data does not
       already exist, allocates the data and sets it to opaque. If the image has
       transparency data, the channel is enabled and the transparency data is not changed or modified in any way. This is NOT
       the same as the older <a href="#matte" >-matte</a> operator. </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>Set</kbd></td>
    <td valign="top">
       Turns '<kbd>On</kbd>' the alpha/matte channel and if it was previously
       turned off resets the channel to opaque.  If the image already had the
       alpha channel turned on, it will have no effect. This is the same as the older <a href="#matte">-matte</a> operator. </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>Opaque</kbd></td>
    <td valign="top">
       Turns '<kbd>On</kbd>' the alpha/matte channel and forces it to be fully
       opaque. </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>Transparent</kbd></td>
    <td valign="top">
       Turns '<kbd>On</kbd>' the alpha/matte channel and forces it to be fully
       transparent. This effectively creates a fully transparent image the same
       size as the original and with all its original RGB data still intact. </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>Extract</kbd></td>
    <td valign="top">
       Copies the alpha channel values into all the color channels and turns
       '<kbd>Off</kbd>' the the image's transparency, so as to generate a
       gray-scale mask of the image's shape. This is the inverse of
       '<kbd>Copy</kbd>'. </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>Copy</kbd></td>
    <td valign="top">
       Turns '<kbd>On</kbd>' the alpha/matte channel, then copies the
       gray-scale intensity of the image, as an alpha mask, into the alpha
       channel, converting a gray-scale mask into a transparent shaped image
       ready to be colored appropriately. The color channels are not modified.
       </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>Shape</kbd></td>
    <td valign="top">
       As per '<kbd>Copy</kbd>' but also colors the resulting shape mask with
       the current background color.
       </td></tr>

  <tr valign="top">
    <td valign="top"><kbd>Background</kbd></td>
    <td valign="top">
       Set any fully-transparent pixel to the background color.
       </td></tr>
  </tbody>
</table>

<p>Note that while the <a href="#matte" >+matte</a> operation is the same as
"<kbd><a href="#alpha" >-alpha</a> off</kbd>", the <a href="#matte"
>-matte</a> operation is the same as "<kbd><a href="#alpha" >-alpha</a> set</kbd>" and
not "<kbd><a href="#alpha" >-alpha</a> on</kbd>".
That is, "<kbd><a href="#alpha" >-alpha</a> set</kbd>" will ensure that the
written image is opaque if the original image had no transparency
channel enabled, regardless if transparency data is already present. </p>


<div style="margin: auto;">
 <h4><a name="annotate" id="annotate"></a>
 -annotate <em class="arg">degrees</em> <em class="arg">text</em><br />
 -annotate <em class="arg">Xdegrees</em>x<em class="arg">Ydegrees</em> <em class="arg">text</em><br />
 -annotate <em class="arg">Xdegrees</em>x<em class="arg">Ydegrees</em> {+-}<em class="arg">t<sub>x</sub></em>{+-}<em class="arg">t<sub>y</sub></em> <em class="arg">text</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Annotate an image with text.</td><td style='text-align:right;'></td></tr></table>

<p>This is a convenience for annotating an image with text. For more precise control over text annotations, use <a href="#draw">-draw</a>.</p>


<p>The values <em class="arg">Xdegrees</em> and <em class="arg">Ydegrees</em> control the shears with respect to the , respectively, applied to the text, while <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em> are offsets that give the location of the text relative to the upper left corner of the image.</p>

<p>Using <a href="#annotate">-annotate</a>&nbsp;<em class="arg">degrees</em> or <a href="#annotate">-annotate</a>&nbsp;<em class="arg">degrees</em>x<em class="arg">degrees</em> produces an unsheared rotation of the text. The direction of the rotation is positive, which means a clockwise rotation if <em class="arg">degrees</em> is positive. (This conforms to the usual mathematical convention once it is realized that the positive <em>y</em>&ndash;direction is conventionally considered to be <em>downward</em> for images.)</p>

<p>The new (transformed) coordinates (<em class="arg">x'</em>, <em class="arg">y'</em>) of a pixel at position (<em class="arg">x</em>, <em class="arg">y</em>) in the image are calculated using the following matrix equation.</p>
<div class="eqn"><img alt="annotate transformation"  src="../images/annotate.png"/></div>

<p>If <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em> are omitted, they default to 0. This makes the bottom-left of the text becomes the upper-left corner of the image, which is probably undesirable. Adding a <a href="#gravity" >-gravity</a> option in this case leads to nice results.</p>

<p>Text is any UTF-8 encoded character sequence.  If <em class="arg">text</em> is of the form '@mytext.txt', the text is read from the file <kbd>mytext.txt</kbd>.  Text  in a file is taken literally; no embedded formatting characters are recognized.</p>

<div style="margin: auto;">
  <h4><a name="antialias" id="antialias"></a>-antialias</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Enable/Disable of the rendering of anti-aliasing pixels when
drawing fonts and lines.</td><td style='text-align:right;'></td></tr></table>

<p>By default, objects (e.g. text, lines, polygons, etc.) are antialiased when
drawn.  Use <a href="#antialias">+antialias</a> to disable the addition of
antialiasing edge pixels.  This will then reduce the number of colors added to
an image to just the colors being directly drawn.  That is, no mixed colors
will be added when drawing such objects. </p>

<div style="margin: auto;">
  <h4><a name="append" id="append"></a>-append</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Join current images vertically or horizontally.</td><td style='text-align:right;'></td></tr></table>

<p>This option creates a single longer image image, by joining all the current
images in sequence top-to-bottom. Use <a href="#append">+append</a> to
stack images left-to-right. </p>

<p>If they are not of the same width, narrower images are padded with the
current <a href="#background">-background</a> color setting, and their
position relative to each other can be controled by the current <a
href="#gravity">-gravity</a> setting. </p>


<div style="margin: auto;">
  <h4><a name="attenuate" id="attenuate"></a>-attenuate <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Lessen (or intensify) when adding noise to an image.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="authenticate" id="authenticate"></a>-authenticate <em class="arg">password</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Decrypt a PDF with a password.</td><td style='text-align:right;'></td></tr></table>

<p>Use this option to supply a <em class="arg">password</em> for decrypting a PDF that has been encrypted using Microsoft Crypto API (MSC API). The encrypting using the MSC API is not supported.</p>

<p>For a different encryption method, see <a href="#encipher">-encipher</a> and <a href="#decipher">-decipher</a>. </p>

<div style="margin: auto;">
  <h4><a name="auto-gamma" id="auto-gamma"></a>-auto-gamma</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Automagically adjust gamma level of image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="auto-level" id="auto-level"></a>-auto-level</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Automagically adjust color levels of image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="auto-orient" id="auto-orient"></a>-auto-orient</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Automagically orient (rotate) an image created by a digital camera.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="average" id="average"></a>-average</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Average a set of images.</td><td style='text-align:right;'></td></tr></table>

<p>An error results if the images are not identically sized.</p>

<p>The sequence of images is terminated by the appearance of any option. If the <a href="#average">-average</a> option appears after all of the input images, all images are averaged.</p>

<div style="margin: auto;">
  <h4><a name="backdrop" id="backdrop"></a>-backdrop</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Display the image centered on a backdrop.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>

<p>This backdrop covers the entire workstation screen and is useful for hiding other X window activity while viewing the image. The color of the backdrop is specified as the background color. The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>

<div style="margin: auto;">
  <h4><a name="background" id="background"></a>-background <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the background color.</td><td style='text-align:right;'></td></tr></table>

<p>The color is specified using the format described under the <a href="#fill">-fill</a> option. The default background color (if none is specified or found in the image) is white.</p>

<div style="margin: auto;">
  <h4><a name="bench" id="bench"></a>-bench <em class="arg">iterations</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Measure performance.</td><td style='text-align:right;'></td></tr></table>

<p>Repeat the entire command for the given number of <em class="arg">iterations</em> and report the user-time and elapsed time. For instance, consider the following command and its output.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -resize 1000% -bench 5 biglogo.png</span><span class='crtout'>Performance: 5i 0.0539724ips 91.750u 2:33</span></p>
<p>In this example, 5&nbsp;iterations were completed at 0.0539724&nbsp;iterations per second, using 91.750&nbsp;seconds of the user's allotted time, for a total elapsed time of 2&nbsp;minutes&nbsp;and&nbsp;33&nbsp;seconds.</p>

<div style="margin: auto;">
  <h4><a name="bias" id="bias"></a>-bias <em class="arg">value</em>{<em class="arg">%</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Add bias when convolving an image.</td><td style='text-align:right;'></td></tr></table>

<p>This option shifts the output of <a href="../www/command-line-options.html#convolve">&#x2011;convolve</a>  so that positive and negative results are relative to the specified bias value. </p>

<p>This is important for non-HDRI compilations of ImageMagick when dealing with convolutions that contain negative as well as positive values. This is especially the case with convolutions involving high pass filters or edge detection. Without an output bias, the negative values are clipped at zero.</p>

<p>When using an ImageMagick with the HDRI compile-time setting, <a href="../www/command-line-options.html#bias">&#x2011;bias</a> is not needed, as ImageMagick is able to store/handle any
negative results without clipping to the color value range
(0..QuantumRange).</p>

<p>See the discussion on HDRI implementations of ImageMagick on the page
<a href="/www/high-dynamic-range.html">High Dynamic-Range Images</a>. For more about HDRI go the ImageMagick <a href="http://www.imagemagick.org/Usage/basics/#hdri">Usage</a> pages or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a> entry.
</p>

<div style="margin: auto;">
  <h4><a name="black-point-compensation" id="black-point-compensation"></a>-black-point-compensation</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Use black point compensation.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="black-threshold" id="black-threshold"></a>-black-threshold <em class="arg">value</em>{<em class="arg">%</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Force to black all pixels below the threshold while leaving all pixels at or above the threshold unchanged.</td><td style='text-align:right;'></td></tr></table>

<p> The threshold value can be given as a percentage or as an absolute integer value within [0,&nbsp;<em class="QR">QuantumRange</em>] corresponding to the desired <a href="../www/command-line-options.html#channel">&#x2011;channel</a> value. See <a href="../www/command-line-options.html#threshold">&#x2011;threshold</a> for more details on thresholds and resulting values.
</p>


<div style="margin: auto;">
  <h4><a name="blend" id="blend"></a>-blend <em class="arg">percent</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>blend an image into another by the given percent.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>

<p>Blend will average the images together ('plus') according to the
percentages given and each pixels transparency.  If only a single percentage
value is given it sets the weight of the composite or 'source' image, while
the background image is weighted by the exact opposite amount. That is a
<kbd>-blend 30</kbd> merges 30% of the 'source' image with 70% of the
'destination' image.  Thus it is equivalent to <kbd>-blend 30x70</kbd>.</p>


<div style="margin: auto;">
  <h4><a name="blue-primary" id="blue-primary"></a>-blue-primary <em class="arg">x</em>,<em class="arg">y</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the blue chromaticity primary point.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="blue-shift" id="blue-shift"></a>-blue-shift <em class="arg">factor</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a scene at nighttime in the moonlight.  Start with a factor of 1.5</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">

<div style="margin: auto;">
  <h4><a name="blur" id="blur"></a>-blur <em class="arg">radius</em><br />-blur <em class="arg">radius</em>x<em class="arg">sigma</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Reduce image noise and reduce detail levels.</td><td style='text-align:right;'></td></tr></table>

<p>Convolve the image with a Gaussian or normal distribution.  The formula is:</p>

<div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/>
</div>

<p>Where <i>r</i> is the blur radius (<i>r</i><sup>2</sup> = <i>u</i><sup>2</sup> + <i>v</i><sup>2</sup>), and &sigma; is the standard deviation of the Gaussian distribution.  As a guideline, set <i>r</i> to approximately 3&sigma;.  If a radius of 0 is specified, ImageMagick selects a suitable radius for you.</p>

<p>This option differs from <a href="#gaussian-blur">-gaussian-blur</a> simply by taking advantage of the separability properties of the distribution.  Here we apply a single-dimensional Gaussian matrix in the horizontal direction, then repeat the process in the vertical direction.</p>

<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
pixels which are outside the image proper are blurred into the final result.
</p>


<div style="margin: auto;">
  <h4><a name="blur-composite" id="blur"></a>-blur <em class="arg">Width</em>[x<em class="arg">Height</em>[+<em class="arg">Angle</em>]]</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Variably blur and image according to the overlay mapping.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>

<p>Each pixel in the overlaid region is replaced with an Elliptical Weighted
Average (EWA) of the source image, scaled according to the grayscale
mapping. </p>

<p>The ellipse is weighted with sigma set to the given <em class="arg"
>Width</em> and <em class="arg" >Height</em>. The <em class="arg" >Height</em>
defaults to the <em class="arg" >Width</em> for a normal circular Guassian
weighting.  The <em class="arg" >Angle</em> will rotate the ellipse from
horizontal clock-wise.  </p>

<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
pixels which are outside the image proper are blurred into the final result.
</p>


<div style="margin: auto;">
  <h4><a name="border" id="border"></a>-border <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Surround the image with a border of color. </td><td style='text-align:right;'></td></tr></table>

<p>Set the width and height using the <em class="arg">size</em> portion of the <em class="arg">gravity</em> argument.  See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets are ignored. </p>

<p>Set the border color by preceding with the <a href="#bordercolor">-bordercolor</a> setting.</p>

<p>See also the <a href="#frame">-frame</a> option, which has more functionality.</p>

<div style="margin: auto;">
  <h4><a name="bordercolor" id="bordercolor"></a>-bordercolor <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the border color.</td><td style='text-align:right;'></td></tr></table>

<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>

<p>The default border color is <kbd>#DFDFDF</kbd>, <span style="background-color: #dfdfdf;">this shade of gray</span>.</p>

<div style="margin: auto;">
  <h4><a name="borderwidth" id="borderwidth"></a>-borderwidth <em class="arg">geometry</em> </h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the border width.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>

<div style="margin: auto;">
  <h4><a name="cache" id="cache"></a>-cache <em class="arg">threshold</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>(This option has been replaced by the <a href='#limit'>-limit</a> option.)</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="caption" id="caption"></a>-caption <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Assign a caption to an image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="cdl" id="cdl"></a>-cdl <em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>color correct with a color decision list.</td><td style='text-align:right;'></td></tr></table>

<p>Here is an example color correction collection:</p>

<pre class="text">
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2">
  &lt;ColorCorrection id="cc06668">
    &lt;SOPNode>
      &lt;Slope> 0.9 1.2 0.5 &lt;/Slope>
      &lt;Offset> 0.4 -0.5 0.6 &lt;/Offset>
      &lt;Power> 1.0 0.8 1.5 &lt;/Power>
    &lt;/SOPNode>
    &lt;SATNode>
      &lt;Saturation> 0.85 &lt;/Saturation>
    &lt;/SATNode>
  &lt;/ColorCorrection>
&lt;/ColorCorrectionCollection>
</pre>

<div style="margin: auto;">
  <h4><a name="channel" id="channel"></a>-channel <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify those image color channels to which subsequent operators are limited.</td><td style='text-align:right;'></td></tr></table>

<p>Choose from: <kbd>Red</kbd>, <kbd>Green</kbd>, <kbd>Blue</kbd>, <kbd>Alpha</kbd>, <kbd>Cyan</kbd>, <kbd>Magenta</kbd>, <kbd>Yellow</kbd>, <kbd>Black</kbd>, <kbd>Opacity</kbd>, <kbd>Index</kbd>, <kbd>RGB</kbd>, <kbd>RGBA</kbd>, <kbd>CMYK</kbd>, or <kbd>CMYKA</kbd>.</p>

<p>To print a complete list of channel types, use <a href="#list">-list channel</a>.</p>

<p>The channels above can be specified as a comma-separated list or can be abbreviated as a
concatenation of the letters '<kbd>R</kbd>', '<kbd>G</kbd>', '<kbd>B</kbd>',
'<kbd>A</kbd>', '<kbd>O</kbd>', '<kbd>C</kbd>', '<kbd>M</kbd>', '<kbd>Y</kbd>',
'<kbd>K</kbd>'.

For example, to negate only the alpha channel of an image, use</p>
<p class="crtsnip">
    -channel Alpha -negate
</p>

<p>By default, ImageMagick sets <a href="#channel">-channel</a> to the value
'<kbd>RGB</kbd>', which specifies that operators act on all channels except
the opacity channel. Using the option <a href="#channel" >+channel</a> will reset the value back to this default. </p>

<p>Options that are affected by the <a href="#channel" >-channel</a> setting include the following.
<a href="#black-threshold">-black-threshold</a>,
<a href="#blur">-blur</a>,
<a href="#clamp">-clamp</a>,
<a href="#clut">-clut</a>,
<a href="#combine">-combine</a>,
<a href="#contrast-stretch">-contrast-stretch</a>,
<a href="#evaluate">-evaluate</a>,
<a href="#function">-function</a>,
<a href="#fx">-fx</a>,
<a href="#hald-clut">-hald-clut</a>,
<a href="#gaussian-blur">-gaussian-blur</a>,
<a href="#motion-blur">-motion-blur</a>,
<a href="#negate">-negate</a>,
<a href="#normalize">-normalize</a>,
<a href="#ordered-dither">-ordered-dither</a>,
<a href="#radial-blur">-radial-blur</a>,
<a href="#random-threshold">-random-threshold</a>,
<a href="#separate">-separate</a>, and
<a href="#white-threshold">-white-threshold</a>.
</p>


<div style="margin: auto;">
  <h4><a name="clamp" id="clamp"></a>-clamp</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Restrict image colors from 0 to the quantum depth.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="charcoal" id="charcoal"></a>-charcoal <em class="arg">factor</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Simulate a charcoal drawing.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="chop" id="chop"></a>-chop <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Remove pixels from the interior of an image.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <em class="arg">width</em> and <em class="arg">height</em> given in the of the <em class="arg">size</em> portion of the <em class="arg">geometry</em> argument  give the number of columns and rows to remove. The <em class="arg">offset</em> portion of the <em class="arg">geometry</em> argument is influenced by a <a href="#gravity">-gravity</a> setting, if present.</p>

<p>The <a href="#chop">-chop</a> option removes entire rows and columns, and moves the remaining corner blocks leftward and upward to close the gaps.</p>

<div style="margin: auto;">
  <h4><a name="clip" id="clip"></a>-clip</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply the clipping path if one is present.</td><td style='text-align:right;'></td></tr></table>

<p>If a clipping path is present, it is applied to subsequent operations.</p>

<p>For example, in the command</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -clip -negate cockatoo.tif negated.tif</span></p>
<p>only the pixels within the clipping path are negated.</p>

<p>The <a href="#clip">-clip</a> feature requires the XML library. If the XML library is not present, the option is ignored.</p>

<div style="margin: auto;">
  <h4><a name="clip-mask" id="clip-mask"></a>-clip-mask</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Clip the image as defined by this mask.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="clip-path" id="clip-path"></a>-clip-path <em class="arg">id</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Clip along a named path from the 8BImageMagick profile.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="clone" id="clone"></a>-clone <em class="arg">index(s)</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Make a copy of an image (or images).</td><td style='text-align:right;'></td></tr></table>

<p>Specify the image by its index in the sequence.  The first image is index
0.  Negative indexes are relative to the end of the sequence; for example, &minus;1
represents the last image of the sequence.  Specify a range of images with a
dash (e.g. 0&minus;4).  Separate multiple indexes with commas but no spaces (e.g. 0,2,5).  Use <a
href="#clone">+clone</a>  make a copy of the last image in the image
sequence.</p>

<div style="margin: auto;">
  <h4><a name="clut" id="clut"></a>-clut</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Replace the channel values in the first image using each
corresponding channel in the second image as a <b>c</b>olor
<b>l</b>ook<b>u</b>p <b>t</b>able.</td><td style='text-align:right;'></td></tr></table>

<p>The second (LUT) image is ordinarily a gradient image containing the
histogram mapping of how each channel should be modified. Typically it is a
either a single row or column image of replacement color values. If larger
than a single row or column, values are taken from a diagonal line from
top-left to bottom-right corners.</p>

<p>The lookup is further controlled by the <a
href="#interpolate">-interpolate</a> setting, which is especially handy for an
LUT which is not the full length needed by the ImageMagick installed Quality
(Q) level. Good settings for this are the '<kbd>bilinear</kbd>' and
'<kbd>bicubic</kbd>' interpolation settings, which give smooth color
gradients, and the '<kbd>integer</kbd>' setting for a direct, unsmoothed
lookup of color values. </p>

<p>This operator is especially suited to replacing a grayscale image with a
specific color gradient from the CLUT image. </p>

<p>Only the channel values defined by the <a href="#channel">-channel</a>
setting will have their values replaced. In particular, since the default <a
href="#channel">-channel</a> setting is <kbd>RGB</kbd>, this means that
transparency (alpha/matte channel) is not affected, unless the <a
href="#channel">-channel</a> setting is modified. When the alpha channel is
set, it is treated by the <a href="#clut" >-clut</a> operator in the same way
as the other channels, implying that alpha/matte values are replaced using the
alpha/matte values of the original image. </p>

<p>If either the image being modified, or the lookup image, conatins no
transparency (i.e. <a href="#alpha" >-alpha</a> is turned 'off') but the <a
href="#channel">-channel</a> setting includes alpha replacement, then it is
assumed that image represents a gray-scale graident which will be used for the
replacement alpha values.  That is you can use a gray-scale CLUT image to
adjust a existing images alpha channel, or you can color a gray-scale image
using colors form CLUT containing the desired colors, including transparency.
</p>

<p>See also <a href="#hald-clut" >-hald-clut</a> which replaces colors according
the lookup of the full color RGB value from a 2D representation of a 3D color
cube. </p>


<div style="margin: auto;">
  <h4><a name="coalesce" id="coalesce"></a>-coalesce</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Fully define the look of each frame of an GIF animation sequence, to form a 'film strip' animation.</td><td style='text-align:right;'></td></tr></table>

<p>Overlay each image in an image sequence according to its <a href="#dispose">-dispose</a> meta-data, to reproduce the look of an animation at each point in the animation sequence. All images should be the same size, and are assigned appropriate GIF disposal settings for the animation to continue working as expected as a GIF animation.  Such frames are more easilly viewed and processed than the highly optimized GIF overlay images.  </p>

<p>The animation can be re-optimized after processing using the <a href="#layers">-layers</a> method '<kbd>optimize</kbd>', though there is no guarantee that the restored GIF animation optimization is better than the original. </p>


<div style="margin: auto;">
  <h4><a name="colorize" id="colorize"></a>-colorize <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Colorize the image by an amount specified by <em class="arg">value</em> using the color specified by the most recent <a href="#fill" >-fill</a> setting.</td><td style='text-align:right;'></td></tr></table>

<p>Specify the amount of colorization as a percentage. Separate colorization values can be applied to the red, green, and blue channels of the image with a comma-delimited list of colorization values (e.g., <kbd>-colorize 0,0,50</kbd>).</p>

<div style="margin: auto;">
  <h4><a name="colormap" id="colormap"></a>-colormap <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Define the colormap type.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>

<p>The <em class="arg">type</em> can be  <kbd>shared</kbd> or <kbd>private</kbd>.</p>

<p>This option only applies when the default X server visual is <kbd>PseudoColor</kbd> or <kbd>GrayScale</kbd>. Refer to <a href="#visual">-visual</a> for more details. By default, a shared colormap is allocated. The image shares colors with other X clients. Some image colors could be approximated, therefore your image may look very different than intended. If <kbd>private</kbd> is chosen, the image colors appear exactly as they are defined. However, other clients may go <em>technicolor</em> when the image colormap is installed.</p>

<div style="margin: auto;">
  <h4><a name="colors" id="colors"></a>-colors <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the preferred number of colors in the image.</td><td style='text-align:right;'></td></tr></table>

<p>The actual number of colors in the image may be less than your request, but never more. Note that this a color reduction option. Images with fewer unique colors than specified by <em class="arg">value</em> will have any duplicate or unused colors removed.  The ordering of an existing color palette may be altered. When converting an image from color to grayscale, it is more efficient to convert the image to the gray colorspace before reducing the number of colors. Refer to the <a href="../www/quantize.html">color reduction algorithm</a> for more details.</p>

<div style="margin: auto;">
  <h4><a name="colorspace" id="colorspace"></a>-colorspace <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the image colorspace.</td><td style='text-align:right;'></td></tr></table>

<p>Choices are:</p>

<pre class="text">
  CMY
  CMYK
  Gray
  HSB
  HSL
  HWB
  Lab
  Log
  OHTA
  Rec601Luma
  Rec601YCbCr
  Rec709Luma
  Rec709YCbCr
  RGB
  sRGB
  Transparent
  XYZ
  YCbCr
  YCC
  YIQ
  YPbPr
  YUV
</pre>

<p>To print a complete list of colorspaces, use <a href="#list">-list colorspace</a>.</p>

<p>For a more accurate color conversion to or from the RGB, CMYK, or grayscale colorspaces, use the <a href="#profile">-profile</a> option.</p>

<table class="doc">
        <caption>Conversion Of RGB To Other Color Spaces</caption>
        <tr><th align="left" valign="middle">CMY</th></tr>
        <tr><td align="left" valign="middle">C=<em class="QR">QuantumRange</em>&minus;R</td></tr>
        <tr><td align="left" valign="middle">M=<em class="QR">QuantumRange</em>&minus;G</td></tr>
        <tr><td align="left" valign="middle">Y=<em class="QR">QuantumRange</em>&minus;B</td></tr>
        <tr><th align="left" valign="middle">CMYK &mdash; starts with CMY from above</th></tr>
        <tr><td align="left" valign="middle">K=min(C,Y,M)</td></tr>
        <tr><td align="left" valign="middle">C=<em class="QR">QuantumRange</em>*(C&minus;K)/(<em class="QR">QuantumRange</em>&minus;K)</td></tr>
        <tr><td align="left" valign="middle">M=<em class="QR">QuantumRange</em>*(M&minus;K)/(<em class="QR">QuantumRange</em>&minus;K)</td></tr>
        <tr><td align="left" valign="middle">Y=<em class="QR">QuantumRange</em>*(Y&minus;K)/(<em class="QR">QuantumRange</em>&minus;K)</td></tr>

        <tr><th align="left" valign="middle">Gray</th></tr>
        <tr><td align="left" valign="middle">Gray = 0.29900*R+0.58700*G+0.11400*B</td></tr>

        <tr><th align="left" valign="middle">HSB &mdash; Hue, Saturation, Brightness; like a cone peak downward</th></tr>
        <tr><td align="left" valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
        <tr><td align="left" valign="middle">S=distance from axis outward</td></tr>
        <tr><td align="left" valign="middle">B=distance along axis from bottom upward; B=max(R,G,B); <em>intensity-like</em></td></tr>

        <tr><th align="left" valign="middle">HSL &mdash; Hue, Saturation, Lightness; like a double cone end-to-end with peaks at very top and bottom</th></tr>
        <tr><td align="left" valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
        <tr><td align="left" valign="middle">S=distance from axis outward</td></tr>
        <tr><td align="left" valign="middle">L=distance along axis from bottom upward; L=0.5*max(R,G,B) + 0.5*min(R,G,B); <em>intensity-like</em></td></tr>

        <tr><th align="left" valign="middle">HWB &mdash; Hue, Whiteness, Blackness</th></tr>
        <tr><td align="left" valign="middle">Hue (complicated equation)</td></tr>
        <tr><td align="left" valign="middle">Whiteness (complicated equation)</td></tr>
        <tr><td align="left" valign="middle">Blackness (complicated equation)</td></tr>

        <tr><th align="left" valign="middle">LAB</th></tr>
        <tr><td align="left" valign="middle">L (complicated equation relating X,Y,Z)</td></tr>
        <tr><td align="left" valign="middle">A (complicated equation relating X,Y,Z)</td></tr>
        <tr><td align="left" valign="middle">B (complicated equation relating X,Y,Z)</td></tr>

        <tr><th align="left" valign="middle">LOG</th></tr>
        <tr><td align="left" valign="middle">I1 (complicated equation involving logarithm of R)</td></tr>
        <tr><td align="left" valign="middle">I2 (complicated equation involving logarithm of G)</td></tr>
        <tr><td align="left" valign="middle">I3 (complicated equation involving logarithm of B)</td></tr>

        <tr><th align="left" valign="middle">OHTA &mdash; approximates principal components transformation</th></tr>
        <tr><td align="left" valign="middle">I1=0.33333*R+0.33334*G+0.33333*B; <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">I2=(0.50000*R+0.00000*G&minus;0.50000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
        <tr><td align="left" valign="middle">I3=(&minus;0.25000*R+0.50000*G&minus;0.25000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>

        <tr><th align="left" valign="middle">Rec601Luma</th></tr>
        <tr><td align="left" valign="middle">Gray = 0.29900*R+0.58700*G+0.11400*B</td></tr>

        <tr><th align="left" valign="middle">Rec601YCbCr</th></tr>
        <tr><td align="left" valign="middle">Y=0.299000*R+0.587000*G+0.114000*B; <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">Cb=(&minus;0.168736*R-0.331264*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
        <tr><td align="left" valign="middle">Cr=(0.500000*R&minus;0.418688*G&minus;0.081312*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>

        <tr><th align="left" valign="middle">Rec709Luma</th></tr>
        <tr><td align="left" valign="middle">Gray=0.21260*R+0.71520*G+0.07220*B</td></tr>

        <tr><th align="left" valign="middle">Rec709YCbCr</th></tr>
        <tr><td align="left" valign="middle">Y=0.212600*R+0.715200*G+0.072200*B; <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">Cb=(&minus;0.114572*R&minus;0.385428*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
        <tr><td align="left" valign="middle">Cr=(0.500000*R&minus;0.454153*G&minus;0.045847*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>

        <tr><th align="left" valign="middle">sRGB</th></tr>
        <tr><td align="left" valign="middle">if Rs &le; .03928 then Rs=R/12.92 else Rs=((R+.055)/1.055)^2.4</td></tr>
        <tr><td align="left" valign="middle">if Gs &le; .03928 then Gs=B/12.92 else Gs=((G+.055)/1.055)^2.4</td></tr>
        <tr><td align="left" valign="middle">if Bs &le; .03928 then Bs=B/12.92 else Bs=((B+.055)/1.055)^2.4</td></tr>

        <tr><th align="left" valign="middle">XYZ</th></tr>
        <tr><td align="left" valign="middle">X=0.4124240*R+0.3575790*G+0.1804640*B</td></tr>
        <tr><td align="left" valign="middle">Y=0.2126560*R+0.7151580*G+0.0721856*B</td></tr>
        <tr><td align="left" valign="middle">Z=0.0193324*R+0.1191930*G+0.9504440*B</td></tr>

        <tr><th align="left" valign="middle">YCC</th></tr>
        <tr><td align="left" valign="middle">Y=(0.29900*R+0.58700*G+0.11400*B) (with complicated scaling); <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">C1=(&minus;0.29900*R&minus;0.58700*G+0.88600*B) (with complicated scaling)</td></tr>
        <tr><td align="left" valign="middle">C2=(0.70100*R&minus;0.58700*G&minus;0.11400*B) (with complicated scaling)</td></tr>

        <tr><th align="left" valign="middle">YCbCr</th></tr>
        <tr><td align="left" valign="middle">Y=0.299000*R+0.587000*G+0.114000*B; <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">Cb=(&minus;0.168736*R&minus;0.331264*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
        <tr><td align="left" valign="middle">Cr=(0.500000*R&minus;0.418688*G&minus;0.081312*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>

        <tr><th align="left" valign="middle">YIQ</th></tr>
        <tr><td align="left" valign="middle">Y=0.29900*R+0.58700*G+0.11400*B; <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">I=(0.59600*R&minus;0.27400*G&minus;0.32200*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
        <tr><td align="left" valign="middle">Q=(0.21100*R&minus;0.52300*G+0.31200*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>

        <tr><th align="left" valign="middle">YPbPr</th></tr>
        <tr><td align="left" valign="middle">Y=0.299000*R+0.587000*G+0.114000*B; <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">Pb=(&minus;0.168736*R&minus;0.331264*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
        <tr><td align="left" valign="middle">Pr=(0.500000*R&minus;0.418688*G&minus;0.081312*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>

        <tr><th align="left" valign="middle">YUV</th></tr>
        <tr><td align="left" valign="middle">Y=0.29900*R+0.58700*G+0.11400*B; <em>intensity-like</em></td></tr>
        <tr><td align="left" valign="middle">U=(&minus;0.14740*R&minus;0.28950*G+0.43690*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
        <tr><td align="left" valign="middle">V=(0.61500*R&minus;0.51500*G&minus;0.10000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
</table>

<div style="margin: auto;">
  <h4><a name="combine" id="combine"></a>-combine</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Combine one or more images into a single image.</td><td style='text-align:right;'></td></tr></table>

<p>The channels (previously set by <a href="#channel">-channel</a>) of the combined image are taken from the grayscale values of each image in the sequence, in order. For the default -channel setting of <kbd>RGB</kbd>, this means the first image  is assigned to the <kbd>Red</kbd> channel, the second to the <kbd>Green</kbd> channel, the third to the <kbd>Blue</kbd>.</p>

<p>This option can be thought of as the inverse to <a href="#separate">-separate</a>, so long as the channel settings are the same. Thus, in the following example, the final image should be a copy of the original.
</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert original.png -channel RGB -separate sepimage.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB -combine imagecopy.png</span></p>
<div style="margin: auto;">
  <h4><a name="comment" id="comment"></a>-comment <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Embed a comment in an image.</td><td style='text-align:right;'></td></tr></table>

<p>This option places comments in a non-pixel portion of the image file. For a comment to be visibly written on the image itself, use the <a href="#annotate">-annotate</a> or <a href="#draw">-draw</a> options.</p>

<p>Use this option to assign a specific comment to the image, when writing to an image format that supports comments.  You can include the image filename, type, width, height, or other image attribute by embedding special format characters listed under the <a href="#format">-format</a> option. The comment is not drawn on the image, but is embedded in the image datastream via "Comment" tag or similar mechanism. </p>

<p>For example,</p>

<p class="crtsnip">
     -comment "%m:%f %wx%h"
</p>

<p>produces an image comment of <kbd>MIFF:bird.miff 512x480</kbd> for an image titled <kbd>bird.miff</kbd> and whose width is 512 and height is 480.</p>

<p>If the first character of <em class="arg">string</em> is <em class="arg">@</em>, the image comment is read from a file titled by the remaining characters in the string.  Comments in a file are literal; no embedded formatting characters are recognized.</p>

<div style="margin: auto;">
  <h4><a name="compose" id="compose"></a>-compose <em class="arg">operator</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the type of image composition.</td><td style='text-align:right;'></td></tr></table>

<p>The description of composition uses abstract terminology in order to allow
the description to be more precise, while avoiding constant values which are
specific to a particular build configuration. Each image pixel is represented
by red, green, and blue levels (which are equal for a gray pixel). The
build-dependent value <em class="QR">QuantumRange</em> is the maximum integral
value which may be stored, per pixel, in the red, green, or blue channels of
the image. Each image pixel may also optionally (if the image matte channel is
enabled) have an associated level of opacity, ranging from <em>opaque</em> to
<em>transparent</em>, which may be used to determine the influence of the pixel
color when compositing the pixel with another image pixel. If the image matte
channel is disabled, then all pixels in the image are treated as opaque. The
color of an opaque pixel is fully visible while the color of a transparent
pixel color is entirely absent (pixel color is ignored).</p>

<p>By definition, raster images have a rectangular shape. All image rows are of
equal length, as are all image columns. By treating the alpha channel as a
visual "mask" the rectangular image may be given a "shape" by treating the
alpha channel as a cookie-cutter for the image. This is done by setting the
pixels within the shape to be opaque, with pixels outside the shape set as
transparent. Pixels on the boundary of the shape may be between opaque and
transparent in order to provide antialiasing (visually smooth edges). The
description of the composition operators use this concept of image "shape" in
order to make the description of the operators easier to understand. While it
is convenient to describe the operators in terms of "shapes" they are by no
means limited to mask-style operations since they are based on continuous
floating-point mathematics rather than simple boolean operations.</p>

<p>The following alpha blending (Duff-Porter) compose methods are available:</p>

<table class="doc">
  <tbody>
  <tr valign="top">
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top">clear</td>
    <td valign="top">Both the color and the alpha of the destination are
        cleared. Neither the source nor the destination are used (except for
        destinations size and other meta-data which is always preserved.</td>
  </tr>

  <tr valign="top">
    <td valign="top">src</td>
    <td valign="top">The source is copied to the destination. The destination
        is not used as input, though it is cleared.</td>
  </tr>

  <tr valign="top">
    <td valign="top">dst</td>
    <td valign="top">The destination is left untouched. The source image is
        completely ignored.</td>
  </tr>

  <tr valign="top">
    <td valign="top">src-over</td>
    <td valign="top">The source is composited over the destination. this is
       the default alpha blending compose method, when neither the compose
       setting is set, nor is set in the image meta-data.</td>
  </tr>

  <tr valign="top">
    <td valign="top">dst-over</td>
    <td valign="top">The destination is composited over the source and the
        result replaces the destination.</td>
  </tr>

  <tr valign="top">
    <td valign="top">src-in</td>
    <td valign="top">The part of the source lying inside of the destination
        replaces the destination.</td>
  </tr>

  <tr valign="top">
    <td valign="top">dst-in</td>
    <td valign="top">The part of the destination lying inside of the source
        replaces the destination. Areas not overlaid are cleared.</td>
  </tr>

  <tr valign="top">
    <td valign="top">src-out</td>
    <td valign="top">The part of the source lying outside of the destination
        replaces the destination.</td>
  </tr>

  <tr valign="top">
    <td valign="top">dst-out</td>
    <td valign="top">The part of the destination lying outside of the source
        replaces the destination.</td>
  </tr>

  <tr valign="top">
    <td valign="top">src-atop</td>
    <td valign="top">The part of the source lying inside of the destination is
        composited onto the destination.</td>
  </tr>

  <tr valign="top">
    <td valign="top">dst-atop</td>
    <td valign="top">The part of the destination lying inside of the source is
        composited over the source and replaces the destination. Areas not
        overlaid are cleared. </td>
  </tr>

  <tr valign="top">
    <td valign="top">xor</td>
    <td valign="top">The part of the source that lies outside of the
        destination is combined with the part of the destination that lies
        outside of the source.  Source or Destination, but not both. </td>
  </tr>

  </tbody>
</table>

<p>Any of the 'Src-*' methods can also be specified without the 'Src-' part.
For example the defaul compose method can be specified as just 'Over'.</p>


<p>The following mathemathical composition methods are also available. </p>

<p>Typically these use the default 'Over' alpha blending when transparencies
are also involved, except for 'Plus', 'Minus', 'Add', and 'Subtract', which
also composes the alpha channel using the same process as the color channels.
This allows them to be used for special image masking techniques. </p>

<table class="doc">
  <tbody>
  <tr valign="top">
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top">multiply</td>
    <td valign="top">The source is multiplied by the destination and replaces the destination. The resultant color is always at least as dark as either of the two constituent colors. Multiplying any color with black produces black. Multiplying any color with white leaves the original color unchanged.</td>
  </tr>

  <tr valign="top">
    <td valign="top">screen</td>
    <td valign="top">The source and destination are complemented and then multiplied and then replace the destination. The resultant color is always at least as light as either of the two constituent colors. Screening any color with white produces white. Screening any color with black leaves the original color unchanged.</td>
  </tr>

  <tr valign="top">
    <td valign="top">plus</td>
    <td valign="top">The source is added to the destination and replaces the
        destination. This operator is useful for averaging or a controled
        merger of two images, rather than a direct overlay.</td>
  </tr>

  <tr valign="top">
    <td valign="top">add</td>
    <td valign="top">As per 'plus' but transparency data is treated as matte
        values. As such any transparent areas in either image remain
        transparent. </td>
  </tr>

  <tr valign="top">
    <td valign="top">minus</td>
    <td valign="top">Subtract the colors in the source image from the
        destination image. When transparency is involved, opaque areas is
        subtracted from any destination opaque areas. </td>
  </tr>

  <tr valign="top">
    <td valign="top">subtract</td>
    <td valign="top">Subtract the colors in the source image from the
        destination image. When transparency is involved transparent areas are
        subtracted, so only the opaque areas in the source remain opaque in
        the destination image. </td>
  </tr>

  <tr valign="top">
    <td valign="top">difference</td>
    <td valign="top">Subtracts the darker of the two constituent colors from
        the lighter. Painting with white inverts the destination color.
        Painting with black produces no change.</td>
  </tr>

  <tr valign="top">
    <td valign="top">exclusion</td>
    <td valign="top">Produces an effect similar to that of 'difference', but
        appears as lower contrast.  Painting with white inverts the
        destination color. Painting with black produces no change.</td>
  </tr>

  <tr valign="top">
    <td valign="top">darken</td>
    <td valign="top">Selects the darker of the destination and source colors.
        The destination is replaced with the source when the source is darker,
        otherwise it is left unchanged.</td>
  </tr>

  <tr valign="top">
    <td valign="top">lighten</td>
    <td valign="top">Selects the lighter of the destination and source colors.
        The destination is replaced with the source when the source is
        lighter, otherwise it is left unchanged. </td>
  </tr>

  <tr valign="top">
    <td valign="top">linear-dodge</td>
    <td valign="top">This is equivelent to 'Plus' in that the color channels
        are simply added, however it does not 'Plus' the alpha channel, but
        uses the normal 'Over' alpha blending, which transparencies are
        involved.  Produces a sort of additive multiply-like result. Added
        ImageMagick version 6.5.4-3. </td>
  </tr>

  <tr valign="top">
    <td valign="top">linear-burn</td>
    <td valign="top">As 'Linear-Dodge', but also subtract one from the result.
        Sort of a additive 'Screen' of the images.  Added ImageMagick version
        6.5.4-3. </td>
  </tr>

  <tr valign="top">
    <td valign="top">color-dodge</td>
    <td valign="top">Brightens the destination color to reflect the source
        color. Painting with black produces no change.</td>
  </tr>

  <tr valign="top">
    <td valign="top">color-burn</td>
    <td valign="top">Darkens the destination color to reflect the source
        color.  Painting with white produces no change. Fixed in ImageMagick
        version 6.5.4-3. </td>
  </tr>

  <tr valign="top">
    <td valign="top">overlay</td>
    <td valign="top">Multiplies or screens the colors, dependent on the
        destination color. Source colors overlay the destination whilst
        preserving its highlights and shadows. The destination color is not
        replaced, but is mixed with the source color to reflect the lightness
        or darkness of the destination.</td>
  </tr>

  <tr valign="top">
    <td valign="top">hard-light</td>
    <td valign="top">Multiplies or screens the colors, dependent on the source
        color value. If the source color is lighter than 0.5, the destination
        is lightened as if it were screened. If the source color is darker
        than 0.5, the destination is darkened, as if it were multiplied. The
        degree of lightening or darkening is proportional to the difference
        between the source color and 0.5. If it is equal to 0.5 the
        destination is unchanged.  Painting with pure black or white produces
        black or white.</td>
  </tr>


  <tr valign="top">
    <td valign="top">linear-light</td>
    <td valign="top">Like 'Hard-Light' but using linear-dodge and linear-burn
        instead.  Increases contrast slightly with an impact on the
        foreground's tonal values.</td>
  </tr>

  <tr valign="top">
    <td valign="top">soft-light</td>
    <td valign="top">Darkens or lightens the colors, dependent on the source
        color value. If the source color is lighter than 0.5, the destination
        is lightened. If the source color is darker than 0.5, the destination
        is darkened, as if it were burned in. The degree of darkening or
        lightening is proportional to the difference between the source color
        and 0.5. If it is equal to 0.5, the destination is unchanged. Painting
        with pure black or white produces a distinctly darker or lighter area,
        but does not result in pure black or white. Fixed in ImageMagick
        version 6.5.4-3. </td>
  </tr>

  <tr valign="top">
    <td valign="top">pegtop-light</td>
    <td valign="top">Almost equivelent to 'Soft-Light', but using a
        continuious mathematical formula rather than two conditionally
        selected formulae. Added ImageMagick version 6.5.4-3. </td>
  </tr>

  <tr valign="top">
    <td valign="top">vivid-light</td>
    <td valign="top">A modified 'Linear-Light' designed to preserve very stong
        primary and secondary colors in the image. Added ImageMagick version
        6.5.4-3. </td>
  </tr>

  <tr valign="top">
    <td valign="top">pin-light</td>
    <td valign="top">Similar to 'Hard-Light', but using sharp linear shadings,
        to similate the effects of a strong 'pinhole' light source. Added
        ImageMagick version 6.5.4-3. </td>
  </tr>

  </tbody>
</table>


<p>Also included are these special purpose compose methods:</p>

<table class="doc">
  <tbody>
  <tr valign="top">
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top">copy-*</td>
    <td valign="top">Copy the specified channel (Red, Green, Blue, Cyan,
        Magenta, Yellow, Black, or Opacity) in the source image to the
        same channel in the destination image.  If the channel specified
        does not exist in the source image, (which can only happen for methods,
        '<kbd>copy-opacity</kbd>' or '<kbd>copy-black</kbd>') then it is
        assumed that the source image is a special grayscale channel image
        of the values to be copied. </td>
    </tr>

  <tr valign="top">
    <td valign="top">change-mask</td>
    <td valign="top">Replace any destination pixel that is the similar to the source images pixel (as defined by the current <a href="#fuzz">-fuzz</a> factor), with transparency. </td>
  </tr>
  </tbody>
</table>

<p>On top of these composed methods are a few special ones that not only require
the two images that are being merged or overlaid, but have some extra numerical
arguments, which are tabled below. </p>

<p>In the "<code>composite</code>" command these composition methods are
selected using special options with the arguments needed. They are usually,
but not always, the same name as the composte 'method' they use, and replaces
the normal use of the <a href="#compose" >-compose</a> setting in the
"<code>composite</code>" command.  For example... </p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>composite ... -blend 50x50 ...</span></p>
<p>As of IM v6.5.3-4 the "<code>convert</code>" command can now also supply
these extra arguments to its <a href="#composite" >-composite</a> operator,
using the special <a href="#set">-set</a> attribute of '<kbd class="arg">option:compose:args</kbd>'.  This means you can now make use of
these special argumented <a href="#compose" >-compose</a> methods, those the
argument and the method both need to be set separatally.  For example... </p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert ... -compose blend  -set option:compose:args 50x50  -composite ...</span></p>
<p>The following is a table of these special 'argumented' compose methods,
with a brief summary of what they do. For more details see the equivalent
"composite" command option name.  </p>

<table class="doc">
  <tbody>
  <tr valign="top">
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top">dissolve</td>
    <td valign="top">Arguments:
        <em class="arg">src_percent</em>[x<em class="arg">dst_percent</em>]
    <br>Equivalent to "<code>composite</code>" <a href="#dissolve">-dissolve</a>
    <br>Dissolve the 'source' image by the percentage given before overlaying
        'over' the 'destination' image. If <em class="arg">src_percent</em> is
        greater than 100, it starts dissolving the main image so it will
        become transparent at a value of '<kbd class="arg">200</kbd>'.  If
        both percentages are given, each image are dissolved to the
        percentages given.
    </td>
  </tr>

  <tr valign="top">
    <td valign="top">blend</td>
    <td valign="top">Arguments:
        <em class="arg">src_percent</em>[x<em class="arg">dst_percent</em>]
    <br>Equivalent to "<code>composite</code>" <a href="#blend">-blend</a>
    <br>Average the images together ('plus') according to the percentages
        given and each pixels transparency.  If only a single percentage value
        is given it sets the weight of the composite or 'source' image, while
        the background image is weighted by the exact opposite amount. That is
        a <kbd>-blend 30</kbd> merges 30% of the 'source' image with 70% of
        the 'destination' image.  Thus it is equivalent to <kbd>-blend
        30x70</kbd>.
    </td>
  </tr>

  <tr valign="top">
    <td valign="top">mathematics</td>
    <td valign="top">Arguments: <em class="arg">A, B, C, D</em>
    <br>Not available in "<code>composite</code>" at this time.
    <br>Merge the source and destination images according to the formula
    <br>&nbsp; &nbsp; &nbsp;<code>A*Sc*Dc + B*Sc + C*Dc + D</code>
    <br>Can be used to generate a custom composition method that would
        otherwise need to be implemented using the slow <a href="#fx">-fx</a>
        DIY image operator.   Added to ImageMagick version 6.5.4-3.
    </td>
  </tr>

  <tr valign="top">
    <td valign="top">modulate</td>
    <td valign="top">Arguments:
        <em class="arg">brightness</em>[x<em class="arg">saturation</em>]
    <br>Equivalent to "<code>composite</code>" <a href="#watermark">-watermark</a>
    <br>Take a grayscale image (with alpha mask) and modify the destination
        image's brightness according to watermark image's grayscale value and
        the <em class="arg">brightness</em> percentage.  The destinations
        color saturation attribute is just direct modified by the <em
        class="arg">saturation</em> percentage, which defaults to 100 percent
        (no color change).

    </td>
  </tr>

  <tr valign="top">
    <td valign="top">displace</td>
    <td valign="top">Arguments:
        <em class="arg">X-scale</em>[x<em class="arg">Y-scale</em>][!][%]
    <br>Equivalent to "<code>composite</code>" <a href="#displace">-displace</a>
    <br>With this option, the 'overlay' image, and optionally the 'mask'
        image, is used as a relative displacement map, which is used to
        displace the lookup of what part of the destination image is seen at
        each point of the overlaid area.  Much like the displacement map is a
        'lens' that distorts the original 'background' image behind it.
    <br><br>
        The X-scale is modilated by the 'red' channel of the overlay image
        while the Y-scale is modulated by the green channel, (the mask image
        if given is rolled into green channel of the overlay image. This
        separation allows you to modulate the X and Y lookup displacement
        separatally allowing you to di 2 dimentional displacements, rather
        than 1 dimentional verctored displacements (using grayscale image).
    <br><br>
        If the overlay image contains transparency this is used as a mask
        of the resulting image to remove 'invalid' pixels.
    <br><br>
        The '%' flag makes the displacement scale relative to the size of the
        overlay image (100% = half width/height of image). Using '!' switches
        percentage arguments to refer to the destination image size instead.
    <br><br>
        Special flags were added Added to ImageMagick version 6.5.3-5.
    </td>
  </tr>

  <tr valign="top">
    <td valign="top">distort</td>
    <td valign="top">Arguments:
        <em class="arg">X-scale</em>[x<em class="arg">Y-scale</em
        >[+<em class="arg">X-center</em>+<em class="arg">Y-center</em>]][!][%]
    <br>Not available in "<code>composite</code>" at this time.
    <br>Exactly as per 'Displace' (above), but using absolute coordinates,
        relative to the center of the overlay (or that given).  Basically
        allows you to generate absolute distortion maps where 'black' will
        look up the left/top edge, and 'white' looks up the bottom/right
        edge of the destination image, according to the scale given.
    <br><br>
        The '!' flag not only switches percentage scaling, to use the
        destination image, but also the image the center offset of the lookup.
        This means the overlay can lookup a completely different region of the
        destination image.
    <br><br>
        Added to ImageMagick version 6.5.3-5.
    </td>
  </tr>

  <tr valign="top">
    <td valign="top">blur</td>
    <td valign="top">Arguments:
        <em class="arg">Width</em>[x<em class="arg">Height</em
          >[+<em class="arg">Angle</em>]]
    <br>Equivalent to "<code>composite</code>"
        <a href="#blur-composite">-blur</a>
    <br>A Variable Blur Mapping Composition method, where each pixel in the
        overlaid region is replaced with an Elliptical Weighted Average (EWA),
        with an ellipse (typically a circle) of the given sigma size, scaled
        according to overlay (source image) grayscale mapping.
    <br><br>
        As per 'Displace' and 'Distort', the red channel will modulate the
        width of the ellipse, while the green channel will modulate the height
        of the ellipse.  However at this time the ellipse angle is not
        modulated though this may be a future posibility (perhaps with a
        special flag to enable use of blur channel for this purpose).
    <br><br>
        Added to ImageMagick version 6.5.4-0.
    </td>
  </tr>

  </tbody>
</table>

<p>To print a complete list of all the available compose operators, use <a href="#list">-list compose</a>.</p>


<div style="margin: auto;">
  <h4><a name="composite" id="composite"></a>-composite</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Perform alpha composition on the current image sequence.</td><td style='text-align:right;'></td></tr></table>

<p>Take the first image 'destination' and overlay the second 'source' image
according to the current <a href="#compose">-compose</a> setting. The location
of the 'source' or 'overlay' image is controlled according to <a
href="#geometry" >-geometry</a>, and <a href="#geometry" >-geometry</a>
settings. </p>

<p>If a third image is given this is treated as a gray-scale 'mask' image
relative to the first 'destination' image. This mask will limit what parts of
the destination can be modified by the image composition.  However for the
'<kbd>displace</kbd>' compose method, the mask is used to provide a separate
Y-displacement image instead. </p>

<p>If a <a href="#compose">-compose</a> method requires extra numerical
arguments or flags these can be provided by setting the  <a
href="#set">-set</a> '<kbd class="arg">option:compose:args</kbd>'
appropriatally for the compose method. </p>

<p>Some <a href="#compose">-compose</a> methods can modify the 'destination'
image outside the overlay area. You can disable this by setting the special <a
href="#set">-set</a> '<kbd class="arg">option:compose:outside-overlay</kbd>'
to '<kbd>false</kbd>'.  </p>


<div style="margin: auto;">
  <h4><a name="compress" id="compress"></a>-compress <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Use pixel compression specified by <em class="arg">type</em> when writing the image.</td><td style='text-align:right;'></td></tr></table>

<p>Choices are: <kbd class="arg">None</kbd>, <kbd class="arg">BZip</kbd>, <kbd class="arg">Fax</kbd>, <kbd class="arg">Group4</kbd>, <kbd class="arg">JPEG</kbd>,  <kbd class="arg">JPEG2000</kbd>, <kbd class="arg">Lossless</kbd>, <kbd class="arg">LZW</kbd>, <kbd class="arg">RLE</kbd> or <kbd class="arg">Zip</kbd>.</p>

<p>To print a complete list of compression types, use <a href="#list">-list compress</a>.</p>

<p>Specify <a href="#compress">+compress</a> to store the binary image in an uncompressed format. The default is the compression type of the specified image file.</p>

<p>If <kbd>LZW</kbd> compression is specified but LZW compression has not been enabled, the image data is written in an uncompressed LZW format that can be read by LZW decoders. This may result in larger-than-expected GIF files.</p>

<p><kbd>Lossless</kbd> refers to lossless JPEG, which is only available if the JPEG library has been patched to support it. Use of lossless JPEG is generally not recommended.</p>

<p>Use the <a href="#quality">-quality</a> option to set the compression level to be used by JPEG, PNG, MIFF, and MPEG encoders. Use the <a href="#sampling-factor">-sampling-factor</a> option to set the sampling factor to be used by JPEG, MPEG, and YUV encoders for down-sampling the chroma channels.</p>

<div style="margin: auto;">
  <h4><a name="contrast" id="contrast"></a>-contrast</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Enhance or reduce the image contrast.</td><td style='text-align:right;'></td></tr></table>

<p>This option enhances the intensity differences between the lighter and darker elements of the image. Use <a href="#contrast">-contrast</a> to enhance the image or <a href="#contrast">+contrast</a> to reduce the image contrast.</p>

<p>For a more pronounced effect you can repeat the option:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose: -contrast -contrast rose_c2.png</span></p>
<div style="margin: auto;">
  <h4><a name="contrast-stretch" id="contrast-stretch"></a>-contrast-stretch <em class="arg">black-point</em><br />-contrast-stretch <em class="arg">black-point</em>{x<em class="arg">white-point</em>}{<em class="arg">%</em>}}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Increase the contrast in an image by <em>stretching</em> the range of intensity values.</td><td style='text-align:right;'></td></tr></table>

<p>While performing the stretch, black-out at most <em class="arg">black-point</em> pixels and white-out at most <em class="arg">white-point</em> pixels. Or, if percent is used, black-out at most <em class="arg">black-point %</em> pixels and white-out at most <em class="arg">white-point %</em> pixels.</p>

<p>Prior to ImageMagick 6.4.7-0, <a href="#contrast-stretch">-contrast-stretch</a> will black-out at most <em class="arg">black-point</em> pixels and white-out at most <em class="arg">total pixels minus white-point</em> pixels. Or, if percent is used, black-out at most <em class="arg">black-point %</em> pixels and white-out at most <em class="arg">100% minus white-point %</em> pixels.</p>

<p>Note that <kbd>-contrast-stretch 0</kbd> will modify the image such that the image's
min and max values are stretched to 0 and <em class="QR">QuantumRange</em>, respectively, without any loss of data due to burn-out at either end. This is not the same as <a href="#normalize">-normalize</a>, which is equivalent to <kbd>-contrast-stretch 2%x1%</kbd> (or prior to ImageMagick 6.4.7-0, <kbd>-contrast-stretch 2%x99%</kbd>).</p>

<p>The channels are stretched in concert.  Specify <a href="#channel">-channel</a> to normalize the RGB channels individually.</p>


<div style="margin: auto;">
  <h4><a name="convolve" id="convolve"></a>-convolve <em class="arg">kernel</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Convolve an image with a user-supplied convolution kernel.</td><td style='text-align:right;'></td></tr></table>

<p>The <em class="arg">kernel</em> is a square matrix specified as a comma-separated list of integers (with no spaces), ordered left-to right, starting with the top row. Presently, only odd-dimensioned kernels are supported, and therefore the number of entries in the specified <em class="arg">kernel</em> must be 3<sup>2</sup>=9, 5<sup>2</sup>=25, 7<sup>2</sup>=49, etc. </p>

<p>Note that the <a href="../www/command-line-options.html#convolve">&#x2011;convolve</a> operator supports the <a href="../www/command-line-options.html#bias">&#x2011;bias</a> setting. This option shifts the convolution so that positive and negative results are relative to a user-specified bias value. This is important for non-HDRI compilations of ImageMagick when dealing with convolutions that contain negative as well as positive values. This is especially the case with convolutions involving high pass filters or edge detection. Without an output bias, the negative values is clipped at zero.
</p>

<p>When using an ImageMagick with the HDRI compile-time setting, <a href="../www/command-line-options.html#bias">&#x2011;bias</a> is not needed,
as ImageMagick is able to store/handle any negative results without
clipping to the color value range (0..QuantumRange).</p>

<p>See the discussion on HDRI implementations of ImageMagick on the page
<a href="/www/high-dynamic-range.html">High Dynamic-Range Images</a>. For more about HDRI go the ImageMagick <a href="http://www.imagemagick.org/Usage/basics/#hdri">Usage</a> pages or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a> entry.
</p>

<div style="margin: auto;">
  <h4><a name="crop" id="crop"></a>-crop <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Cut out one or more rectangular regions of the image.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<p>The <em class="arg">width</em> and <em class="arg">height</em> of the <em class="arg">geometry</em> argument give the size of the image that remains after cropping, and <em class="arg">x</em> and <em class="arg">y</em> in the <em class="arg">offset</em> (if present) gives the location of the top left corner of the cropped image with respect to the original image. To specify the amount to be removed, use <a href="#shave">-shave</a> instead.</p>

<p>If the <em class="arg">x</em> and <em class="arg">y</em> offsets are present, a single image is generated, consisting of the pixels from the cropping region. The offsets specify the location of the upper left corner of the cropping region measured downward and rightward with respect to the upper left corner of the image. If the <a href="#gravity">-gravity</a> option is present with <kbd>NorthEast</kbd>, <kbd>East</kbd>, or <kbd>SouthEast</kbd> gravity, it gives the distance leftward from the right edge of the image to the right edge of the cropping region. Similarly, if the <a href="#gravity">-gravity</a> option is present with <kbd>SouthWest</kbd>, <kbd>South</kbd>, or <kbd>SouthEast</kbd> gravity, the distance is measured upward between the bottom edges.</p>

<p>If the <em class="arg">x</em> and <em class="arg">y</em> offsets are omitted, a set of tiles of the specified geometry, covering the entire input image, is generated. The rightmost tiles and the bottom tiles are smaller if the specified geometry extends beyond the dimensions of the input image.</p>

<p>By adding a exclamation character flag to the geometry argument, the
cropped images virtual canvas page size and offset is set as if the
geometry argument was a viewport or window. This means the canvas page size
is set to exactly the same size you specified, the image offset set
relative top left corner of the region cropped. </p>

<p>If the cropped image 'missed' the actual image on its virtual canvas, a
special single pixel transparent 'missed' image is returned, and a 'crop
missed' warning given. </p>


<div style="margin: auto;">
  <h4><a name="cycle" id="cycle"></a>-cycle <em class="arg">amount</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>displace image colormap by amount.</td><td style='text-align:right;'></td></tr></table>

<p><em class="arg">Amount</em> defines the number of positions each
colormap entry is shifted.</p>


<div style="margin: auto;">
  <h4><a name="debug" id="debug"></a>-debug <em class="arg">events</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>enable debug printout.</td><td style='text-align:right;'></td></tr></table>

<p>The <kbd>events</kbd> parameter specifies which events are to be logged. It can be either <kbd>None</kbd>, <kbd>All</kbd>, <kbd>Trace</kbd>, or a comma-separated list consisting of one or more of the following domains: <kbd>Annotate</kbd>, <kbd>Blob</kbd>, <kbd>Cache</kbd>, <kbd>Coder</kbd>, <kbd>Configure</kbd>, <kbd>Deprecate</kbd>, <kbd>Exception</kbd>, <kbd>Locale</kbd>, <kbd>Render</kbd>, <kbd>Resource</kbd>, <kbd>Security</kbd>, <kbd>TemporaryFile</kbd>, <kbd>Transform</kbd>, <kbd>X11</kbd>, or <kbd>User</kbd>. </p>


<p>For example, to log cache and blob events, use.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -debug "Cache,Blob" rose: rose.png</span></p>
<p>The <kbd>User</kbd> domain is normally empty, but developers can log user events in their private copy of ImageMagick.</p>

<p>To print the complete list of debug methods, use <a href="#list">-list debug</a>.</p>

<p>Use the <a href="#log">-log</a> option to specify the format for debugging output.</p>

<p>Use <a href="#debug">+debug</a> to turn off all logging.</p>

<p>Debugging may also be set using the <kbd>MAGICK_DEBUG</kbd> <a href="../www/resources.html#environment">environment variable</a>.  The allowed values for the <kbd>MAGICK_DEBUG</kbd> environment variable are the same as for the <a href="#debug">-debug</a> option.</p>


<div style="margin: auto;">
  <h4><a name="decipher" id="decipher"></a>-decipher <em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Decipher and restore pixels that were previously transformed by <a href="#encipher">-encipher</a>.</td><td style='text-align:right;'></td></tr></table>

<p>Get the passphrase from the file specified by <em class="arg">filename</em>.</p>

<p>For more information, see the webpage, <a href="http://www.imagemagick.org/www/cipher.html">ImageMagick: Encipher or Decipher an Image</a>.</p>


<div style="margin: auto;">
  <h4><a name="deconstruct" id="deconstruct"></a>-deconstruct</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>find areas that has changed between images </td><td style='text-align:right;'></td></tr></table>

<p>Given a sequence of images all the same size, such as produced by <a href="#coalesce">-coalesce</a>, replace the second and later images, with a smaller image of just the area that changed relative to the previous image. </p>

<p>The resulting sequence of images can be used to optimize an animation sequence, though will not work correctly for GIF animations when parts of the animation can go from opaque to transparent. </p>

<p>This option is actually equivalent to the  <a href="#layers">-layers</a> method '<kbd>compare-any</kbd>'. </p>


<div style="margin: auto;">
  <h4><a name="define" id="define"></a>-define <em class="arg">key</em>{<em class="arg">=value</em>}<em class="arg">...</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>add coder/decoder specific options.</td><td style='text-align:right;'></td></tr></table>

<p>This option creates one or more definitions for coders and decoders to use while reading and writing image data.  Definitions may be passed to coders and decoders to control options that are specific to certain image formats. If <em class="arg">value</em> is missing for a definition, an empty-valued definition of a flag is created with that name. This used to control on/off options.  Use <a href="#define">+define key</a> to remove definitions previously created. Use <a href="#define">+define "*"</a> to remove all existing definitions.</p>

<p>The following definitions may be created:</p>

<ul>
<dt>jpeg:size=geometry</dt>
  <dd>Set the size hint of a JPEG image, for example, -define jpeg:size=128x128.  It is most useful for increasing performance and reducing the memory requirements when reducing the size of a large JPEG image.</dd><br />
<dt>jp2:rate=value</dt>
  <dd>Specify the compression factor to use while writing JPEG-2000 files. The compression factor is the reciprocal of the compression ratio. The valid range is 0.0 to 1.0, with 1.0 indicating lossless compression. If defined, this value overrides the -quality setting.  A quality setting of 75 results in a rate value of 0.06641.</dd><br />
<dt>mng:need-cacheoff</dt>
  <dd>turn playback caching off for streaming MNG.</dd><br />
<dt>png:bit-depth=value</dt>
<dt>png:color-type=value</dt>
  <dd>desired bit-depth and color-type for PNG output.  You can force the PNG encoder to use a different bit-depth and color-type than it would have normally selected, but only if this does not cause any loss of image quality. Any attempt to reduce image quality is treated as an error and no PNG file is written.  E.g., if you have a 1-bit black-and-white image, you can use these "defines" to cause it to be written as an 8-bit grayscale, indexed, or even a 64-bit RGBA.  But if you have a 16-million color image, you cannot force it to be written as a grayscale or indexed PNG.  If you wish to do this, you must use the appropriate <a href="#depth">-depth</a>, <a href="#colors">-colors</a>, or <a href="#type">-type</a> directives to reduce the image quality prior to using the PNG encoder. Note that in indexed PNG files, "bit-depth" refers to the number of bits per index, which can range from 1 to 8.  In such files, the color samples always have 8-bit depth.</dd><br />
<dt>ps:imagemask</dt>
  <dd>If the ps:imagemask flag is defined, the PS3 and EPS3 coders will create Postscript files that render bilevel images with the Postscript imagemask operator instead of the image operator.</dd>
</ul>

<p>For example, to create a postscript file that will render only the black pixels of a bilevel image, use:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert bilevel.tif -define ps:imagemask eps3:stencil.ps</span></p>
<p>Set attributes of the image registry by prefixing the value with <kbd>registry:</kbd>.  For example, to set a temporary path to put work files, use:</p>

<p class="crtsnip">
-define registry:temporary-path=/data/tmp
</p>

<div style="margin: auto;">
  <h4><a name="delay" id="delay"></a>-delay <em class="arg">ticks</em> <br />-delay <em class="arg">ticks</em>x<em class="arg">ticks-per-second</em> {<em class="arg">&lt;</em>} {<em class="arg">&gt;</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>display the next image after pausing.</td><td style='text-align:right;'></td></tr></table>

<p>This option is useful for regulating the animation of image sequences <em>ticks/ticks-per-second</em> seconds must expire before the display of the next image. The default is no delay between each showing of the image sequence.  The default ticks-per-second is 100.</p>

<p>Use <kbd>&gt;</kbd> to change the image delay <em>only</em> if its current value exceeds the given delay. <kbd>&lt;</kbd> changes the image delay <em>only</em> if current value is less than the given delay.  For example, if you specify <kbd>30&gt;</kbd> and the image delay is 20, the image delay does not change. However, if the image delay is 40 or 50, the delay it is changed to 30. Enclose the given delay in quotation marks to prevent the <kbd>&lt;</kbd> or <kbd>&gt;</kbd> from being interpreted by your shell as a file redirection.</p>


<div style="margin: auto;">
  <h4><a name="delete" id="delete"></a>-delete <em class="arg">index</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>delete the image, specified by its index, from the image sequence.</td><td style='text-align:right;'></td></tr></table>

<p>Specify the image by its index in the sequence.  The first image is index 0.  Negative indexes are relative to the end of the sequence, for example, -1 represents the last image of the sequence.  Specify a range of images with a dash (e.g. 0-4).  Separate indexes with a comma (e.g. 0,2).  Use <kbd>+delete</kbd> to delete the last image in the current image sequence.</p>


<div style="margin: auto;">
  <h4><a name="density" id="density"></a>-density <em class="arg">width</em><br />-density <em class="arg">width</em>x<em class="arg">height</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the horizontal and vertical resolution of an image for rendering to devices.</td><td style='text-align:right;'></td></tr></table>

<p>This option specifies the image resolution to store while encoding a raster image or the canvas resolution while rendering (reading) vector formats such as Postscript, PDF, WMF, and SVG into a raster image. Image resolution provides the unit of measure to apply when rendering to an output device or raster image. The default unit of measure is in dots per inch (DPI). The <a href="#units">-units</a> option may be used to select dots per centimeter instead.</p>

<p>The default resolution is 72 dots per inch, which is equivalent to one point per pixel (Macintosh and Postscript standard). Computer screens are normally 72 or 96 dots per inch, while printers typically support 150, 300, 600, or 1200 dots per inch. To determine the resolution of your display, use a ruler to measure the width of your screen in inches, and divide by the number of horizontal pixels (1024 on a 1024x768 display).</p>

<p>If the file format supports it, this option may be used to update the stored image resolution. Note that Photoshop stores and obtains image resolution from a proprietary embedded profile. If this profile is not stripped from the image, then Photoshop will continue to treat the image using its former resolution, ignoring the image resolution specified in the standard file header.</p>

<p>The <a href="#density">-density</a> option sets an <em>attribute</em> and does not alter the underlying raster image. It may be used to adjust the rendered size for desktop publishing purposes by adjusting the scale applied to the pixels. To resize the image so that it is the same size at a different resolution, use the <a href="#resample">-resample</a> option.</p>

<div style="margin: auto;">
  <h4><a name="depth" id="depth"></a>-depth <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>depth of the image.</td><td style='text-align:right;'></td></tr></table>

<p>This the number of bits in a color sample within a pixel.  Use this option to specify the depth of raw images whose depth is unknown such as GRAY, RGB, or CMYK, or to change the depth of any image after it has been read.</p>

<div style="margin: auto;">
  <h4><a name="descend" id="descend"></a>-descend</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>obtain image by descending window hierarchy.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="deskew" id="deskew"></a>-deskew <em class="arg">threshold</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>straighten an image.  A threshold of 40% works for most images.</td><td style='text-align:right;'></td></tr></table>

<p>Use <a href="#set">-set</a> <kbd>option:deskew:auto-crop <em>width</em></kbd> to auto crop the image.  The set argument is the pixel width of the image background (e.g 40).</p>

<div style="margin: auto;">
  <h4><a name="despeckle" id="despeckle"></a>-despeckle</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>reduce the speckles within an image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="displace" id="displace"></a>-displace <em class="arg">horizontal-scale</em><br />-displace <em class="arg">horizontal-scale</em>x<em class="arg">vertical-scale</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>shift image pixels as defined by a displacement map.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>

<p>With this option, the 'overlay' image, and optionally the 'mask' image,
will be used as a displacement map, which is used to displace the lookup of
what part of the 'background' image is seen at each point of the overlaid
area.  Much like the displacement map is a 'lens' that redirects light shining
through it so as to present a distorted view the original 'background' image
behind it. </p>

<p>Any perfect grey areas of the displacement map produce a zero
displacement of the image. Black areas produce the given maximum negative
displacement of the lookup point, while white produce a maximum positive
displacement of the lookup. </p>

<p>Note that it is the lookup of the 'background' that is displaced, not a
displacement of the image itself. As such an area of the displacement map
containing 'white' will have the lookup point 'shifted' by a positive amount,
and thus generating a copy of the destination image to the right/downward from
the correct position.  That is the image will look like it may have been
'shifted' in a negative left/upward direction.  Understanding this is a very
important in understanding how displacement maps work.  </p>

<p>The given arguments define the maximum amount of displacement in pixels
that a particular map can produce. If the displacement scale is large enough
it is also posible to lookup parts of the 'background' image that lie well
outside the bounds of the displacement map itself.  That is you could very
easilly copy a section of the original image from outside the overlay area
into the overlay area. </p>

<p>The '%' flag makes the displacement scale relative to the size of the
overlay image (100% = half width/height of image). Using '!' switches
percentage arguments to refer to the destination image size instead.
these flags were added as of IM v6.5.3-5.</p>

<p>Normally a single grayscale displacement map is provided, which with the
given scaling values will determine a single direction (vector) in which
displacements can occur (positivally or negativally).  However, if you also
specify a third image which is normally used as a <em class="arg">mask</em>,
then the <em class="arg">composite image</em> will be used for horizontal X
displacement, while the <em class="arg">mask image</em> is used for vertical Y
displacement.  This allows you to define completely different displacement
values for the X and Y directions, and allowing you to lookup any point within
the  <em class="arg">scale</em> bounds.  In other words each pixel can lookup
any other nearby pixel, producing complex 2 dimentional displacements, rather
than a simple 1 dimentional vector displacements. </p>

<p>Alternativally rather than suppling two separate images, as of IM v6.4.4-0,
you can use the 'red' channel of the overlay image to specify the horizontal
or X displacement, and the 'green' channel for the vertical or Y displacement.
</p>

<p>As of IM v6.5.3-5 any alpha channel in the overlay image will be used as a
mask the transparency of the destination image. However areas outside the
overlaid areas will not be effected. </p>


<div style="margin: auto;">
  <h4><a name="display" id="display"></a>-display <em class="arg">host:display[.screen]</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specifies the X server to contact.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>

<p>This option is used with convert for obtaining image or font from this X server. See <em class="arg">X(1)</em>.</p>

<div style="margin: auto;">
  <h4><a name="dispose" id="dispose"></a>-dispose <em class="arg">method</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>define the GIF disposal image setting for images that are being created or read in. </td><td style='text-align:right;'></td></tr></table>

<p>The layer disposal method defines the way each the displayed image is to be
modified after the current 'frame' of an animation has finished being
displayed (after its 'delay' period), but before the next frame on an
animation is to be overlaid onto the display. </p>

<p>Here are the valid methods:</p>

<pre class="text">
Undefined   0  No disposal specified (equivalent to '<kbd>none</kbd>').
None        1  Do not dispose, just overlay next frame image.
Background  2  Clear the frame area with the background color.
Previous    3  Clear to the image prior to this frames overlay.
</pre>

<p>You can also use the numbers given above, which is what the GIF format
uses internally to represent the above settings. </p>

<p>To print a complete list of dispose methods, use <a href="#list">-list dipose</a>.</p>

<p>Use <a href="#dispose" >+dispose</a>, turn off the setting and prevent
resetting the layer disposal methods of images being read in. </p>

<p>Use <a href="#set">-set</a> '<kbd>dispose</kbd>' method to set the image
disposal method for images already in memory.</p>

<div style="margin: auto;">
  <h4><a name="dissimilarity-threshold" id="dissimilarity-threshold"></a>-dissimilarity-threshold <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>maximum RMSE for subimage match (default 0.2).</td><td style='text-align:right;'>[<a href="../www/compare.html">compare</a>]</td></tr></table>


<div style="margin: auto;">
  <h4><a name="dissolve" id="dissolve"></a>-dissolve <em class="arg">src_percent</em>[x<em class="arg">dst_percent</em>]</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>dissolve an image into another by the given percent.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>

<p>The opacity of the composite image is multiplied by the given percent, then
it is composited 'over' the main image.  If <em class="arg">src_percent</em>
is greater than 100, start dissolving the main image so it will become
transparent at a value of '<kbd class="arg">200</kbd>'.  If both percentages
are given, each image are dissolved to the percentages given. </p>

<p>Note that dissolve percentages do not add, two opaque images dissolved
'50,50', produce a 75% transparency. For a 50% + 50% blending of the two
images, you would need to use dissolve values of '50,100'.  </p>

<div style="margin: auto;">
  <h4><a name="distort" id="distort"></a>-distort <em class="arg">method arguments</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>distort an image, using the given <em class="arg">method</em> and its required <em class="arg">arguments</em>.</td><td style='text-align:right;'></td></tr></table>

<p>The <em class="arg">arguments</em> is a single string containing a list
of floating point numbers separated by commas or spaces.  The number of
and meaning of the floating point values depends on the distortion <em
class="arg">method</em> being used. </p>

<p>Choose from these distortion types:</p>

<table class="doc">
  <tr valign="top">
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top"><kbd>ScaleRotateTranslate</kbd>&nbsp;&nbsp;
    <br/>or &nbsp; <kbd>SRT</kbd></td>
    <td valign="top">
       Distort image by first scaling and rotating about a given 'center',
       before translating that 'center' to the new location, in that order. It
       is an alternative method of specifying a '<kbd>Affine</kbd>' type of
       distortion, but without shearing effects.  It also provides a good way
       of rotating and displacing a smaller image for tiling onto a larger
       background (IE 2-dimensional animations). <br/>

       The number of arguments determine the specific meaning of each
       argument for the scales, rotation, and translation operations. <br/>

       <table style="margin-left:auto; margin-right:auto;">
       <tr><td># &nbsp;</td><td>arguments meaning</td></tr>
       <tr><td>1:</td><td><em>Angle_of_Rotation</em></td></tr>
       <tr><td>2:</td><td><em>Scale &nbsp; Angle</em></td></tr>
       <tr><td>3:</td><td><em>ScaleX,ScaleY &nbsp; Angle</em></td></tr>
       <tr><td>4:</td><td><em>X,Y &nbsp; Scale &nbsp; Angle</em></td></tr>
       <tr><td>5:</td>
           <td><em>X,Y &nbsp; ScaleX,ScaleY &nbsp; Angle</em></td></tr>
       <tr><td>6:</td>
           <td><em>X,Y &nbsp; Scale &nbsp; Angle &nbsp; NewX,NewY</em></td></tr>
       <tr><td>7:</td>
           <td><em>X,Y &nbsp; ScaleX,ScaleY &nbsp; Angle
                   &nbsp; NewX,NewY</em></td></tr>
       </table>

       This is actually an alternative way of specifing a 2 dimensional linear
       '<kbd>Affine</kbd>' or '<kbd>AffineProjection</kbd>' distortion.  </td> </tr>

  <tr valign="top">
    <td valign="top"><kbd>Affine</kbd></td>
    <td valign="top">
       Distort the image linearly by moving a list of at least 3 or more sets
       of control points (as defined below).  Idealy 3 sets or 12 floating
       point values are given allowing the image to be linearly scaled,
       rotated, sheared, and translated, according to those three points. See
       also the related '<kbd>AffineProjection</kbd>' and '<kbd>SRT</kbd>'
       distortions. <br/>

       More than 3 sets given control point pairs (12 numbers) is least
       squares fitted to best match a lineary affine distortion. If only 2
       control point pairs (8 numbers) are given a two point image translation
       rotation and scaling is performed, without any posible  shearing,
       flipping or changes in aspect ratio to the resulting image. If only one
       control point pair is provides the image is only translated, (which may
       be a floating point non-integer translation). <br/>

       This distortion does not include any form of perspective distortion.
       </td>

  </tr>

  <tr valign="top">
    <td valign="top"><kbd>AffineProjection</kbd></td>
    <td valign="top">
       Linearly distort an image using the given Affine Matrix of 6
       pre-calculated coefficients forming a set of Affine Equations to map
       the source image to the destination image.

       <div style="text-align: center"><em>
       s<sub>x</sub>, r<sub>x</sub>,
       r<sub>y</sub>, s<sub>y</sub>,
       t<sub>x</sub>, t<sub>y</sub>
       </em></div>

       See <a href="#affine" >-affine</a> setting for more detail, and
       meanings of these coefficients. <br/>

       The distortions '<kbd>Affine</kbd>' and '<kbd>SRT</kbd>' provide
       alternative methods of defining this distortion, with ImageMagick doing the
       calculations needed to generate the required coefficients. You can see
       the internally generated coefficients, by using a <a href="#verbose"
       >-verbose</a> setting.  </td>

  </tr>

<!--  still under development, do not display - Anthony
  <tr valign="top">
    <td valign="top"><kbd>Bilinear</kbd></td>
    <td valign="top">
       Bilinear (reversed) Distortion, given a minimum of 4 sets of
       coordinate pairs, or 16 values (see below). Not that lines may not
       appear straight after distortion, though the distance between
       coordinates will remain consistant. </td>
  </tr>
-->

  <tr valign="top">
    <td valign="top"><kbd>Perspective</kbd></td>
    <td valign="top">
       Perspective distort the images, using a list of 4 or more sets of
       control points (as defined below).  More that 4 sets (16 numbers) of
       control points provide least squares fitting for more accurate
       distortions (for the purposes of image registration and panarama
       effects).  Less than 4 sets will fall back to a '<kbd>Affine</kbd>'
       linear distortion.  <br/>

       Perspective Distorted images ensures that straight lines remain
       straight, but the scale of the distorted image will vary. The horizon
       is anti-aliased, and the 'sky' color may be set using the
       <a href="#mattecolor" >-mattecolor</a> setting. </td>
  </tr>

  <tr valign="top">
    <td valign="top"><kbd>PerspectiveProjection</kbd>&nbsp;&nbsp;</td>
    <td valign="top">
       Do a '<kbd>Perspective</kbd>' distortion basied on a set of 8
       pre-calculated coefficients. You can get these coefficients by looking
       at the <a href="#verbose" >-verbose</a> output of a
       '<kbd>Prespective</kbd>' distortion, or by calculating them yourself.
       If the last two perspective scaling coefficients are zero, the
       remaining 6 represents a transposed 'Affine Matrix'. </td>

  </tr>

  <tr valign="top">
    <td valign="top"><kbd>Arc</kbd></td>
    <td valign="top">
       Arc the image (variation of polar mapping) over the angle given around
       a circle. <br/>
       <table width="90%" style = "margin-left: auto; margin-right: auto;">
       <tr valign="top"><td>Argument</td>
           <td>Meaning</td></tr>
       <tr valign="top"><td><em>arc_angle</em></td>
           <td>The angle over which to arc the image side-to-side</td></tr>
       <tr valign="top"><td><em>rotate_angle</em></td>
           <td>Angle to rotate resulting image from vertical center</td></tr>
       <tr valign="top"><td><em>top_radius</em></td>
           <td>Set top edge of source image at this radius</td></tr>
       <tr valign="top"><td><em>bottom_radius</em>&nbsp;</td>
           <td>Set bottom edge to this radius (radial scaling)</td></tr>
       </table>

       The resulting image is always resized to best fit the resulting image,
       (as if using <a href="#distort" >+distort</a>) while attempting to
       preserve scale and aspect ratio of the original image as much as
       possible with the arguments given by the user. All four arguments will
       be needed to change the overall aspect ratio of an 'Arc'ed image. <br/>

       This a variation of a polar distortion designed to try to preserve the
       aspect ratio of the image rather than direct Cartesian to Polar
       conversion. </td>
  </tr>

  <tr valign="top">
    <td valign="top"><kbd>Polar</kbd></td>
    <td valign="top">
       Like '<kbd>Arc</kbd>' but do a complete Cartesian to Polar mapping of
       the image. that is the height of the input image is mapped to the
       radius limits, while the width is wrapped around between the
       angle limits. <br/>

       Arguments: <em>Rmax,Rmin CenterX,CenterY, start,end_angle</em> <br/>

       All arguments are optional. With <em>Rmin</em> defaulting to zero, the
       center to the center of the image, and the angles going from -180 (top)
       to +180 (top).  If <em>Rmax</em> is given the special value of
       '<code>0</code>', the the distance from the center to the nearest edge
       is used for the radius of the output image, which will ensure the whole
       image is visible (though scaled smaller).  However a special value of
       '<code>-1</code>' will use the distance from the center to the furthest
       corner,  This may 'clip' the corners from the input rectangular image,
       but will generate the exact reverse of a '<kbd>DePolar</kbd>' with
       the same arguments. <br/>

       If the plus form of distort (<a href="#distort" >+distort</a>) is used
       output image center will default to <code>0,0</code> of the virtual
       canvas, and the image size adjusted to ensure the whole input image is
       made visible in the output image on the virtual canvas. </td>

  </tr>

  <tr valign="top">
    <td valign="top"><kbd>DePolar</kbd></td>
    <td valign="top">
       Uses the same arguments and meanings as a '<kbd>Polar</kbd>' distortion
       but generates the reverse Polar to Cartesian distortion. <br/>

       The special <em>Rmax</em> setting of '<code>0</code>' may however clip
       the corners of the input image.  However using the special
       <em>Rmax</em> setting of '<code>-1</code>' (maximum center to corner
       distance) will ensure the whole distorted image is preserved in the
       generated result, so that the same argument to '<kbd>Polar</kbd>' will
       reverse the distortion re-producing the original.

       Note that as this distortion requires the area resampling of a circular
       arc, which can not be handled by the builtin EWA resampling function.
       As such the normal EWA filters are turned off. It is recomended some
       form of 'super-sampling' image processing technique be used to produce
       a high quality result. </td>

  </tr>

  <tr valign="top">
    <td valign="top"><kbd>Barrel</kbd></td>
    <td valign="top">
       Given the four coefficients (A,B,C,D) as defined by <a
       href="http://www.all-in-one.ee/~dersch/barrel/barrel.html" >Helmut
       Dersch</a>, perform a barrell or pincussion distortion appropriate to
       correct radial lens distortions.  That is in photographs, make straight
       lines straight again. <br/>

       Arguments: <em>A &nbsp; B &nbsp; C</em> &nbsp; [ <em>D</em> &nbsp; [
       <em>X</em> , <em>Y</em> ] ] <br/>
       or <em>A<sub>x</sub> B<sub>x</sub> C<sub>x</sub> D<sub>x</sub> &nbsp;
       A<sub>y</sub> B<sub>y</sub> C<sub>y</sub> D<sub>y</sub></em> &nbsp;
       [ <em>X</em> , <em>Y</em> ] <br/>
       So that it forms the function <br/>
          Rsrc = r * ( <em>A</em>*r<sup>3</sup> + <em>B</em>*r<sup>2</sup> +
                               <em>C</em>*r + <em>D</em> )<br/>

       Where <em>X</em>,<em>Y</em> is the optional center of the distortion
       (defaulting to the center of the image). <br/>
       The second form is typically used to distort images, rather than
       correct lens distortions. <br/>
       </td>

  </tr>

  <tr valign="top">
    <td valign="top"><kbd>BarrelInverse</kbd></td>
    <td valign="top">
       This is very simular to '<kbd>Barrel</kbd>' with the same set of
       arguments, and argument handling.  However it uses the inverse
       of the radial polynomial,
       so that it forms the function <br/>
          Rsrc = r / ( <em>A</em>*r<sup>3</sup> + <em>B</em>*r<sup>2</sup> +
                               <em>C</em>*r + <em>D</em> )
       </td>
  </tr>

  <tr valign="top">
    <td valign="top"><kbd>Shepards</kbd></td>
    <td valign="top">
       Distort the given list control points (any number) using an Inverse
       Squared Distance Interpolation Method (<a
       href="http://www.ems-i.com/smshelp/Data_Module/Interpolation/Inverse_Distance_Weighted.htm"
       >Shepards Method</a>). The control points in effect do 'localized'
       distortions of the image around the given control point.  For best
       results extra control points should be added to 'lock' the positions of
       the corners and other unchanging parts of the image. <br/>

       The distortion has been likened to 'taffy pulling' using nails, pins or
       sticks. It basically uses the <a href="#sparse-color"
       >-sparse-color</a> method of the same name to generate separate X and Y
       displacement maps (see <a href="#displace" >-displace</a>) for source
       image color look-up. </td>

  </tr>

</table>

<p>To print a complete list of distortion methods, use <a href="#list">-list distort</a>.</p>

<p>Many of the above distortion methods such as '<kbd>Affine</kbd>',
'<kbd>Perspective</kbd>', and '<kbd>Shepards</kbd>' use a list control points
defining how these points in the given image should be distorted in the
destination image. Each set of four floating point values represent a source
image coordinate, followed immediately by the destination image coordinate.
This produces a list of values such as...</p>
<div style="text-align: center"><em>
      U<sub>1</sub>,V<sub>1</sub> X<sub>1</sub>,Y<sub>1</sub> &nbsp;
      U<sub>2</sub>,V<sub>2</sub> X<sub>2</sub>,Y<sub>2</sub> &nbsp;
      U<sub>3</sub>,V<sub>3</sub> X<sub>3</sub>,Y<sub>3</sub> &nbsp;
      ... &nbsp;
      U<sub>n</sub>,V<sub>n</sub> X<sub>n</sub>,Y<sub>n</sub> &nbsp;
</em></div>
<p>where <em>U,V</em> on the source image is mapped to <em>X,Y</em> on the
destination image. </p>

<p>For example, to warp an image using '<kbd>perspective</kbd>' distortion,
needs a list of at least 4 sets of coordinates, or 16 numbers.  Here is the
perspective distortion of the built-in "rose:" image. Note how spaces were
used to group the 4 sets of coordinate pairs, to make it easier to read and
understand.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>
  convert rose:  -virtual-pixel black \ <br/>
       -distort Perspective '0,0,0,0  0,45,0,45   69,0,60,10  69,45,60,35' \ <br/>
       rose_3d_rotated.gif</span></p>
<p>If more that the required number of coordinate pairs are given for a
distortion, the distortion method is 'least squares' fitted to
produce the best result for all the coordinate pairs given. If less than the
ideal number of points are given, the distort will generally fall back to a
simpler form of distortion that can handles the smaller number of coordinates
(usally a linear '<kbd>Affine</kbd>' distortion). </p>

<p>By using more coodinates you can make use of image registration tool to
find matching coordinate pairs in overlaping images, so as to improve the 'fit'
of the distortion. Of course a bad coordinate pair can also make the 'fit'
worse. Caution is always advised. </p>

<p>Colors are acquired from the source image according to the <a
href="#interpolate" >-interpolate</a> color lookup setting, when the image is
magnified.  However if the viewed image is minified (image becomes smaller), a
special area resampling function (added ImageMagick v6.3.5-9), is used to
produce a higher quality image.  For example you can use a
'<kbd>perspective</kbd>' distortion to view a infinitely tiled 'plane' all the
way to the horizon. </p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 90x90 pattern:checkerboard -normalize -virtual-pixel tile \ <br/>
      -distort perspective  '0,0,5,45  89,0,45,46  0,89,0,89  89,89,89,89' \ <br/>
      checks_tiled.jpg</span></p>
<p>Note that a infinitely tiled perspective images involving the horizon can
be very slow to generate due to the use of the high quality 'area resampling'
function (added ImageMagick v6.3.5-9).  You can turn off 'area resampling'
using a <a href="#filter" >-filter</a> setting of '<kbd>point</kbd>'
(recommended if you plan to use super-sampling instead). </p>

<p>If an image generates <i>invalid pixels</i>, such as the 'sky' in the last
'<kbd>perspective</kbd>' distortion example, <a href="#distort" >-distort</a>
will use the current <a href="#mattecolor" >-mattecolor</a> setting for these
pixels. If you do not what these pixels to be visible, set the color to match
the rest of the ground. </p>

<p>The output image size will by default be the same as the input image.  This
means that if the part of the distorted image falls outside the viewed area of
the 'distorted space', those parts is clipped and lost.  However if you
use the plus form of the operator (<a href="#distort" >+distort</a>) the
operator will attempt (if posible) to show the whole of the distorted image,
while retaining a correct 'virtual canvas' offset, for image layering. This
offset may need to be removed using <a href="#repage" >+repage</a>, to remove
if it is unwanted. </p>

<p>You can alternatively specify a special "<kbd><a href="#set" >-set</a>
option:distort:viewport {geometry_string}</kbd>" setting which will specify
the size and the offset of the generated 'viewport' image of the distorted
image space.</p>

<p>Adding a "<kbd><a href="#set" >-set</a> option:distort:scale
{scale_factor}</kbd>" will scale the output image (viewport or otherwise) by
that factor without changing the viewed contents of the distorted image. This
can be used either for 'super-sampling' the image for a higher quality result,
or for panning and zooming around the image (with appropriate viewport
changes, or post-distort cropping and resizing). </p>

<p>Setting <a href="#verbose" >-verbose</a> setting, will cause <a
href="#distort" >-distort</a> to attempt to output the internal coefficients,
and the <a href="#fx" >-fx</a> equivalent to the distortion, for expert study,
and debugging purposes. This many not be available for all distorts. </p>

<p>Affine rotations and shears (such as '<kbd>SRT</kbd>' distortion), tend to
produce a cleaner result that the equivalent <a href="#rotate" >-rotate</a>
and/or <a href="#shear" >-shear</a> operation, with more control of due to the
above settings. It is algorithmically slower, though in ImageMagick it may be faster.
</p>


<div style="margin: auto;">
  <h4><a name="dither" id="dither"></a>-dither <em class="arg">method</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a Riemersma or Floyd-Steinberg error diffusion dither to images when general color reduction is applied via an option, or automagically when saving to specific formats. This enabled by default. </td><td style='text-align:right;'></td></tr></table>

<p>Dithering places two or more colors in neighbouring pixels so that to the eye a closer approximation of the images original color is reproduced. This reduces the number of colors needed to reproduce the image but at the cost of a lower level pattern of colors. Error diffusion dithers can use any set of colors (generated or user defined) to an image.  </p>

<p>Dithering is turned on by default, to turn it off use the plus form of the
setting, <a href="#dither">+dither</a>. This will also also render PostScript
without text or graphic aliasing. Disabling dithering often (but not always)
leads to faster process, a smaller number of colors, but more cartoon like
image coloring.  Generally resulting in 'color banding' effects in areas with
color gradients. </p>

<p>The color reduction operators <a href="#colors">-colors</a>, <a
href="#monochrome">-monochrome</a>, <a href="#remap ">-remap</a>, and <a href="#posterize">-posterize</a>, apply dithering to images using the reduced color set they created. These operators are also used as part of automatic color reduction when saving images to formats with limited color support, such as <kbd>GIF:</kbd>, <kbd>XBM:</kbd>, and others, so dithering may also be used in these cases. </p>

<p>Alternatively you can use <a href="#random-threshold">-random-threshold</a> to generate purely random dither. Or use <a href="#ordered-dither">-ordered-dither</a> to apply threshold mapped dither patterns, using uniform color maps, rather than specific color maps. </p>


<div style="margin: auto;">
  <h4><a name="draw" id="draw"></a>-draw <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Annotate an image with one or more graphic primitives.</td><td style='text-align:right;'></td></tr></table>

<p>Use this option to annotate or decorate an image with one or more graphic primitives. The primitives include shapes, text, transformations, and pixel operations.</p>

<p>The shape primitives:</p>

<pre class="text">
   point           x,y
   line            x0,y0 x1,y1
   rectangle       x0,y0 x1,y1
   roundRectangle  x0,y0 x1,y1 wc,hc
   arc             x0,y0 x1,y1 a0,a1
   ellipse         x0,y0 rx,ry a0,a1
   circle          x0,y0 x1,y1
   polyline        x0,y0  ...  xn,yn
   polygon         x0,y0  ...  xn,yn
   bezier          x0,y0  ...  xn,yn
   path            path specification
   image           operator x0,y0 w,h filename
</pre>

<p>The text primitive:</p>

<pre class="text">
   text            x0,y0 string
</pre>
<p>The text gravity primitive:</p>

<pre class="text">
   gravity         NorthWest, North, NorthEast, West, Center,
                   East, SouthWest, South, or SouthEast
</pre>

<p>The text gravity primitive only affects the placement of text and does not interact with the other primitives.  It is equivalent to using the <a href="#gravity">-gravity</a> command-line option, except that it is limited in scope to the <a href="#draw">-draw</a> option in which it appears.</p>

<p>The transformation primitives:</p>

<pre class="text">
   rotate          degrees
   translate       dx,dy
   scale           sx,sy
   skewX           degrees
   skewY           degrees
</pre>

<p>The pixel operation primitives:</p>

<pre class="text">
   color           x0,y0 method
   matte           x0,y0 method
</pre>

<p>The shape primitives are drawn in the color specified by the preceding <a href="#fill">-fill</a> setting.  For unfilled shapes, use <a href="#fill">-fill none</a>.  You can optionally control the stroke (the "outline" of a shape) with the <a href="#stroke">-stroke</a> and <a href="#strokewidth">-strokewidth</a> settings.</p>

<p>A <kbd>point</kbd> primitive is specified by a single <em>point</em> in the pixel plane, that is, by an ordered pair of integer coordinates, <em>x</em>,<em>y</em>. (As it involves only a single pixel, a <kbd>point</kbd> primitive is not affected by <a href="#stroke">-stroke</a> or <a href="#strokewidth">-strokewidth</a>.)</p>

<p>A <kbd>line</kbd> primitive requires a start point and end point.</p>

<p>A <kbd>rectangle</kbd> primitive is specified by the pair of points at the upper left and lower right corners.</p>

<p>A <kbd>roundRectangle</kbd> primitive takes the same corner points as a <kbd>rectangle</kbd> followed by the width and height of the rounded corners to be removed.</p>

<p>The <kbd>circle</kbd> primitive makes a disk (filled) or circle (unfilled). Give the center and any point on the perimeter (boundary).</p>

<p>The <kbd>arc</kbd> primitive is used to inscribe an elliptical segment in to a given rectangle. An <kbd>arc</kbd> requires the two corners used for <kbd>rectangle</kbd> (see above) followed by the start and end angles of the arc of the segment segment (e.g. 130,30 200,100 45,90). The start and end points produced are then joined with a line segment and the resulting segment of an ellipse is filled.</p>

<p>Use <kbd>ellipse</kbd> to draw a partial (or whole) ellipse. Give the center point, the horizontal and vertical "radii" (the <em>semi-axes</em> of the ellipse) and start and end angles in degrees (e.g. 100,100 100,150 0,360).</p>

<p>The <kbd>polyline</kbd> and <kbd>polygon</kbd> primitives require three or more points to define their perimeters. A <kbd>polyline</kbd> is simply a <kbd>polygon</kbd> in which the final point is not stroked to the start point. When unfilled, this is a <em>polygonal line</em>. If the <a href="#stroke">-stroke</a> setting is <kbd>none</kbd> (the default), then a <kbd>polyline</kbd> is identical to a <kbd>polygon</kbd>.
</p>

<p>A <em>coordinate</em> is a pair of integers separated by a space or optional comma. </p>

<p>As an example, to define a circle centered at 100,100 that extends to 150,150 use:</p>

<p class="crtsnip">
   -draw 'circle 100,100 150,150'
</p>

<p>The <kbd>Bezier</kbd> primitive creates a spline curve and requires three or points to define its shape. The first and last points are the <em>knots</em> and these points are attained by the curve, while any intermediate coordinates are <em>control points</em>. If two control points are specified, the line between each end knot and its sequentially respective control point determines the tangent direction of the curve at that end. If one control point is specified, the lines from the end knots to the one control point determines the tangent directions of the curve at each end. If more than two control points are specified, then the additional control points act in combination to determine the intermediate shape of the curve. In order to
draw complex curves, it is highly recommended either to use the <kbd>path</kbd> primitive or to draw multiple four-point bezier segments with the start and end knots of each successive segment repeated. For example:</p>

<p class="crtsnip">
   -draw 'bezier 20,50 45,100 45,0 70,50'
</p>
<p class="crtsnip">
   -draw 'bezier 70,50 95,100 95,0 120,50'
</p>


<p>A <kbd>path</kbd> represents an outline of an object, defined in terms of moveto (set a new current point), lineto (draw a straight line), curveto (draw a Bezier curve), arc (elliptical or circular arc) and closepath (close the current shape by drawing a line to the last moveto) elements. Compound paths (i.e., a path with subpaths, each consisting of a single moveto followed by one or more line or curve operations) are possible to allow effects such as <em>donut holes</em> in objects. (See <a href="http://www.w3.org/TR/SVG/paths.html">Paths</a>.)</p>

<p>Use <kbd>image</kbd> to composite an image with another image. Follow the image keyword with the composite operator, image location, image size, and filename:</p>

<p class="crtsnip">
   -draw 'image SrcOver 100,100 225,225 image.jpg'
</p>

<p>You can use 0,0 for the image size, which means to use the actual dimensions found in the image header. Otherwise, it is scaled to the given dimensions. See <a href="#compose">-compose</a> for a description of the composite operators.</p>

<p>Use <kbd>text</kbd> to annotate an image with text. Follow the text coordinates with a string. If the string has embedded spaces, enclose it in single or double quotes.</p>

<p>For example, the following annotates the image with <kbd>Works like magick!</kbd> for an image titled <kbd>bird.miff</kbd>. </p>

<p class="crtsnip">
   -draw 'text 100,100 "Works like magick!"'
</p>

<p>See the <a href="#annotate">-annotate</a> option for another convenient way to annotate an image with text.</p>

<p>The <kbd>rotate</kbd> primitive rotates subsequent shape primitives and text primitives about the origin of the main image. If the <a href="#region">-region</a> option precedes the <a href="#draw">-draw</a> option, the origin for transformations is the upper left corner of the region.</p>

<p>The <kbd>translate</kbd> primitive translates subsequent shape and text primitives.</p>

<p>The <kbd>scale</kbd> primitive scales them.</p>

<p>The <kbd>skewX</kbd> and <kbd>skewY</kbd> primitives skew them with respect to the origin of the main image or the region.</p>

<p>The transformations modify the current affine matrix, which is initialized from the initial affine matrix defined by the <a href="#affine">-affine</a> option. Transformations are cumulative within the <a href="#draw">-draw</a> option. The initial affine matrix is not affected; that matrix is only changed by the appearance of another <a href="#affine">-affine</a> option. If another <a href="#draw">-draw</a> option appears, the current affine matrix is reinitialized from the initial affine
matrix.</p>

<p>Use the <kbd>color</kbd> primitive to change the color of a pixel to the fill color (see <a href="#fill">-fill</a>). Follow the pixel coordinate with a method:</p>

<pre class="text">
   point
   replace
   floodfill
   filltoborder
   reset
</pre>

<p>Consider the target pixel as that specified by your coordinate. The <kbd>point</kbd> method recolors the target pixel. The <kbd>replace</kbd> method recolors any pixel that matches the color of the target pixel.  <kbd>Floodfill</kbd> recolors any pixel that matches the color of the target pixel and is a neighbor, whereas <kbd>filltoborder</kbd> recolors any neighbor pixel that is not the border color. Finally, <kbd>reset</kbd> recolors all pixels.</p>

<p>Use <kbd>matte</kbd> to the change the pixel matte value to transparent. Follow the pixel coordinate with a method (see the <kbd>color</kbd> primitive for a description of methods). The <kbd>point</kbd> method changes the matte value of the target pixel. The <kbd>replace</kbd> method changes the matte value of any pixel that matches the color of the target pixel. <kbd>Floodfill</kbd> changes the matte value of any pixel that matches the color of the target pixel and is a neighbor, whereas <kbd>filltoborder</kbd> changes the matte value of any neighbor pixel that is not the border color (<a href="#bordercolor">-bordercolor</a>). Finally <kbd>reset</kbd> changes the matte value of all pixels.</p>

<p>You can set the primitive color, font, and font bounding box color with <a href="#fill">-fill</a>, <a href="#font">-font</a>, and <a href="#box">-box</a> respectively.  Options are processed in command line order so be sure to use these options <em>before</em> the <a href="#draw">-draw</a> option.</p>

<p>Strings that begin with a number must be quoted (e.g. use '1.png' rather than 1.png).</p>

<p>Drawing primitives conform to the <a href="../www/magick-vector-graphics.html">Magick Vector Graphics</a> format.</p>


<div style="margin: auto;">
  <h4><a name="edge" id="edge"></a>-edge <em class="arg">radius</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>detect edges within an image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="emboss" id="emboss"></a>-emboss <em class="arg">radius</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>emboss an image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="encipher" id="encipher"></a>-encipher <em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Encipher pixels for later deciphering by <a href="#decipher">-decipher</a>.</td><td style='text-align:right;'></td></tr></table>

<p>Get the passphrase from the file specified by <em class="arg">filename</em>.</p>

<p>For more information, see the webpage, <a href="http://www.imagemagick.org/www/cipher.html">ImageMagick: Encipher or Decipher an Image</a>.</p>

<div style="margin: auto;">
  <h4><a name="encoding" id="encoding"></a>-encoding <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the text encoding.</td><td style='text-align:right;'></td></tr></table>

<p>Choose from <kbd>AdobeCustom</kbd>, <kbd>AdobeExpert</kbd>, <kbd>AdobeStandard</kbd>, <kbd>AppleRoman</kbd>, <kbd>BIG5</kbd>, <kbd>GB2312</kbd>, <kbd>Latin 2</kbd>, <kbd>None</kbd>, <kbd>SJIScode</kbd>, <kbd>Symbol</kbd>, <kbd>Unicode</kbd>, <kbd>Wansung</kbd>.</p>

<div style="margin: auto;">
  <h4><a name="endian" id="endian"></a>-endian <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify endianness (<kbd>MSB</kbd> or <kbd>LSB</kbd>) of the image.</td><td style='text-align:right;'></td></tr></table>

<p>To print a complete list of endian types, use the <a href="#list">-list endian</a> option.</p>

<p>Use <a href="#endian">+endian</a> to revert to unspecified endianness.</p>


<div style="margin: auto;">
  <h4><a name="enhance" id="enhance"></a>-enhance</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a digital filter to enhance a noisy image.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="equalize" id="equalize"></a>-equalize</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>perform histogram equalization on the image channel-by-channel.</td><td style='text-align:right;'></td></tr></table>

<p>To perform histogram equalization on all channels in concert, transform the image into some other color space, such as HSL, OHTA, YIQ or YUV, then equalize the appropriate intensity-like channel, then convert back to RGB.</p>

<p>For example using HSL, we have: ... <kbd>-colorspace HSL -channel lightness -equalize -colorspace RGB</kbd> ...</p>

<p>For YIQ, YUV and OHTA use the red channel. For example, OHTA is a principal components transformation that puts most of the information in the first channel. Here we have ... <kbd>-colorspace OHTA -channel red -equalize -colorspace RGB</kbd> ...</p>

<div style="margin: auto;">
  <h4><a name="evaluate" id="evaluate"></a>-evaluate <em class="arg">operator value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Alter channel pixels by evaluating an arithmetic, relational, or logical expression.</td><td style='text-align:right;'></td></tr></table>

<p>(See the <a href="#function" >-function</a> operator for some multi-parameter functions. See the <a href="#fx" >-fx</a> operator if more elaborate calculations are needed.)</p>

<p>The behaviors of each <em class="arg">operator</em> are summarized in the following list. For brevity, the numerical value of a "pixel" referred to below is the value of the corresponding channel of that pixel, while a "normalized pixel" is that number divided by the maximum (installation-dependent) value <em class="QR">QuantumRange</em>. (If normalized pixels are used, they are restored, following the other calculations, to the full range by multiplying by <em class="QR">QuantumRange</em>.)</p>

<table class="doc">
  <col width="25%" />
  <col width="75%" />
  <thead>
  <tr>
  <th><em class="arg">operator</em></th>
  <th>Summary (see further below for details)</th>
  </tr>
  </thead>
  <tbody>

    <tr><td>Add </td>             <td>Add <em class="arg">value</em> to pixels. </td></tr>
    <tr><td>AddModulus </td>      <td>Add <em class="arg">value</em> to pixels modulo <em class="QR">QuantumRange</em>.</td></tr>
    <tr><td>And  </td>            <td>Binary AND of pixels with <em class="arg">value</em>.</td></tr>
    <tr><td>Cos, Cosine </td>             <td>Apply cosine to pixels with frequency <em class="arg">value</em> with 50% bias added.</td></tr>
    <tr><td>Divide  </td>         <td>Divide pixels by <em class="arg">value</em>.</td></tr>
    <tr><td>LeftShift </td>       <td>Shift the pixel values left by <em class="arg">value</em> bits (i.e., multiply pixels by 2<sup><em class="arg">value</em></sup>).</td></tr>
    <tr><td>Log  </td>            <td>Apply scaled logarithm to normalized pixels.</td></tr>
    <tr><td>Max  </td>            <td>Clip pixels at lower bound <em class="arg">value</em>.</td></tr>
    <tr><td>Min  </td>            <td>Clip pixels at upper bound <em class="arg">value</em>.</td></tr>
    <tr><td>Multiply </td>        <td>Multiply pixels by <em class="arg">value</em>.</td></tr>
    <tr><td>Or  </td>             <td>Binary OR of pixels with <em class="arg">value</em>.</td></tr>
    <tr><td>Pow </td>             <td>Raise normalized pixels to the power <em class="arg">value</em>.</td></tr>
    <tr><td>RightShift </td>      <td>Shift the pixel values right by <em class="arg">value</em> bits (i.e., divide pixels by 2<sup><em class="arg">value</em></sup>).</td></tr>
    <tr><td>Set </td>             <td>Set pixel equal to <em class="arg">value</em>.</td></tr>
    <tr><td>Sin, Sine </td>             <td>Apply sine to pixels with frequency <em class="arg">value</em> with 50% bias added.</td></tr>
    <tr><td>Subtract </td>        <td>Subtract <em class="arg">value</em> from pixels.</td></tr>
    <tr><td>Xor </td>             <td>Binary XOR of pixels with <em class="arg">value.</em></td></tr>

    <tr><td>&nbsp;</td></tr>

   <tr><td>Gaussian-noise</td></tr>
   <tr><td>Impulse-noise</td></tr>
   <tr><td>Laplacian-noise</td></tr>
   <tr><td>Multiplicative-noise</td>      <td>(These are equivalent to the corresponding <a href="#noise" >-noise</a> operators.)</td></tr>
   <tr><td>PoissonNoise</td></tr>
   <tr><td>Uniform-noise</td></tr>

   <tr><td>&nbsp;</td></tr>

   <tr><td>Threshold </td>       <td>Threshold pixels larger than <em class="arg">value</em>.</td></tr>
   <tr><td>ThresholdBlack </td>  <td>Threshold pixels to zero values equal to or below <em class="arg">value</em>.</td></tr>
   <tr><td>ThresholdWhite </td>  <td>Threshold pixels to maximum values above <em class="arg">value</em>.  </td></tr>
 </tbody>
 </table>

<p>The specified functions are applied only to each previously set <a
href="#channel" >-channel</a> in the image. If necessary, the results of the
calculations are truncated (clipped) to fit in the interval [0,&nbsp;<em
class="QR">QuantumRange</em>].  The transparency channel of the image is
represented as a 'alpha' values (0 = fully transparent), so, for example, a
<kbd>Divide</kbd> by&nbsp;2 of the alpha channel will make the image
semi-transparent.  Append the percent symbol '<kbd>%</kbd>' to specify a value
as a percentage of the <em class="QR">QuantumRange</em>.</p>

<p>To print a complete list of <a href="#evaluate">-evaluate</a> operators, use
<a href="#list">-list evaluate</a>.</p>

<p>The results of the <kbd>Add</kbd>, <kbd>Subtract</kbd> and
<kbd>Multiply</kbd> methods can also be achieved using either the <a
href="#level" >-level</a> or the <a href="#level" >+level</a> operator, with
appropriate argument, to linearly modify the overall range of color values.
Please note, however, that <a href="#level" >-level</a> treats transparency as
'matte' values (0 = opaque), while <a href="#level" >-evaluate</a> works with
'alpha' values.</p>

<p><kbd>AddModulus</kbd> has been added as of ImageMagick 6.4.8-4 and provides addition modulo the <em class="QR">QuantumRange</em>. It is therefore equivalent to <kbd>Add</kbd> unless the resulting pixel value is outside the interval [0,&nbsp;<em class="QR">QuantumRange</em>]. </p>

<p><kbd>Log</kbd> has been added as of ImageMagick 6.4.2-1 and works on normalized pixel values. This a <em>scaled</em> log function. The <em class="arg">value</em> used with <kbd>Log</kbd> provides a <em>scaling factor</em> that adjusts the curvature in the graph of the log function. The formula applied to a normalized value <b><em>u</em></b> is below. </p>

        <div style="text-align:center;">
        log(<em class="arg">value</em> &times; <b><em>u</em></b> + 1) / log(<em class="arg">value</em> + 1)
        </div>

<p><kbd>Pow</kbd> has been added as of ImageMagick 6.4.1-9, and works on
normalized pixel values. Note that <kbd>Pow</kbd> is related to the <a
href="#gamma" >-gamma</a> operator. For example, <b>-gamma 2</b> is equivalent
to <b>-evaluate pow 0.5</b>, i.e., a 'square root' function. The value used
with <a href="#gamma" >-gamma</a> is simply the reciprocal of the value used
with <kbd>Pow</kbd>.</p>

<p><kbd>Cosine</kbd> and <kbd>Sine</kbd> was added as of IM v6.4.8-8 and
converts the image values into a value according to a (co)sine wave function.
The  synonyms <kbd>Cos</kbd> and <kbd>Sin</kbd> may also be used.  The output
is biased 50% and normalized by 50% so as to fit in the respective color value
range.  The <em class="arg">value</em> scaling of the <em>period</em> of the
function (its frequency), and thus determines the number of 'waves' that will
be generated over the input color range.  For example, if the <em
class="arg">value</em> is&nbsp;1, the effective period is simply the <em
class="QR">QuantumRange</em>; but if the <em class="arg">value</em> is&nbsp;2,
then the effective period is the <em>half</em> the <em
class="QR">QuantumRange</em>.

        <div style="text-align:center;">
        0.5 + 0.5 &times; cos(2 &pi; <b><em>u</em></b> &times; <em class="arg">value</em>).
        </div>

See also the <a href="#function" >-function</a> operator, which is a
multi-value version of evaluate. </P>


<div style="margin: auto;">
  <h4><a name="extent" id="extent"></a>-extent <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the image size and offset.</td><td style='text-align:right;'></td></tr></table>

<p>If the image is enlarged, unfilled areas are set to the background color. To position the image, use offsets in the <em class="arg">geometry</em> specification or precede with a <a href="#gravity">-gravity</a> setting.</p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="extract" id="extract"></a>-extract <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Extract the specified area from image.</td><td style='text-align:right;'></td></tr></table>

<p>This option is most useful for extracting a subregion of a very large raw image.  Note that these two commands are equivalent:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 -extract 640x480+1280+960 image.rgb image.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 'image.rgb[640x480+1280+960]' image.rgb image.png</span></p><p>If you omit the offsets, as in</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 -extract 640x480 image.rgb image.png</span></p>
<p>then the image will be <em>resized</em> to the specified dimensions instead,
equivalent to:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 -resize 640x480 image.rgb image.png</span></p>
<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="family" id="family"></a>-family <em class="arg">fontFamily</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a font family for text.</td><td style='text-align:right;'></td></tr></table>

<p>This setting suggests a font family that ImageMagick should try to use for rendering text. If the family can be found it is used; if not, a default font (e.g., "Arial") or a family known to be similar is substituted (e.g., "Courier" might be used if "System" is requested but not found).
</p>

<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#stretch">-stretch</a>, <a href="#style">-style</a>, and <a href="#weight">-weight</a>.
</p>

<div style="margin: auto;">
  <h4><a name="fft" id="fft"></a>-fft</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>implements the forward discrete Fourier transform (DFT).</td><td style='text-align:right;'></td></tr></table>

<p>This option is new as of ImageMagick 6.5.4-3 and transforms an image from the normal (spatial) domain to the frequency domain. In the frequency domain, an image is represented as a superposition of complex sinusoidal waves of varying amplitudes. The image x and y coordinates are the possible frequencies along the x and y directions, respectively, and the pixel intensity values are complex numbers that correspond to the sinusoidal wave amplitudes. See for example, <a href="http://en.wikipedia.org/wiki/Fourier_transform" target="_blank">Fourier Transform</a>, <a href="http://en.wikipedia.org/wiki/DFT" target="_blank">Discrete Fourier Transform</a> and <a href="http://en.wikipedia.org/wiki/FFT" target="_blank">Fast Fourier Transform</a>.</p>

<p>A single image name is provided as output for this option. However, the output result will have two components. It will be either a two-frame image or two separate images, depending upon whether the image format specified supports multi-frame images. The reason that we get a dual output result is because the frequency domain represents an image using complex numbers, which cannot be visualized directly. Therefore, the complex values are automagically separated into a two-component image representation. The first component is the magnitude of the complex number and the second is the phase of the complex number. See for example, <a href="http://en.wikipedia.org/wiki/Complex_numbers" target="_blank">Complex Numbers</a>.<p>

<p>The magnitude and phase component images must be specified using image formats that do not limit the color or compress the image. Thus, MIFF, TIF, PFM, EXR and PNG are the recommended image formats to use. All of these formats, except PNG support multi-frame images. So for example,</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -fft fft_image.miff</span></p>
<p>generates a magnitude image as <kbd>fft_image.miff[0]</kbd> and a phase image as <kbd>fft_image.miff[1]</kbd>. Similarly,</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -fft fft_image.png</span></p>
<p>generates a magnitude image as <kbd>fft_image-0.png</kbd> and a phase image as <kbd>fft_image-1.png</kbd>. If you prefer this representation, then you can force any of the other formats to produce two output images by including <a href="#adjoin">+adjoin</a> following -fft in the command line.</p>

<p>The input image can be any size, but if not square and even-dimensioned, it will be padded automagically to the larger of the width or height of the input image and to an even number of pixels. The padding will occur at the bottom and/or right sides of the input image. The resulting output magnitude and phase images will be square at this size. The kind of padding relies on the <a href="#virtual-pixel">-virtual-pixel</a> setting.</p>

<p>Both output components will have dynamic ranges that fit within [0,&nbsp;<em class="QR">QuantumRange</em>], so that HDRI need not be enabled. Phase values nominally range from 0 to 2*&pi;, but for non-HDRI compilations of ImageMagick, the phase image is scaled to span the full dynamic range. The magnitude image is not scaled and thus generally will contain very small values. As such, the image normally will appear totally black. In order to view any detail, the magnitude image typically is enhanced with a log function into what is usually called the spectrum. A log function is used to enhance the darker values more in comparison to the lighter values. This can be done, for example, as follows:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert fft_image.miff[0] -contrast-stretch 0 \ <br />
                -evaluate log 1000 fft_image_spectrum.png</span></p>
<p>where the <a href="#contrast-stretch">-contrast-stretch</a> 0 is used to  scale the image to full dynamic range, first. The argument to the <a href="#evaluate">-evaluate</a> log typically is specified between 100 and 10,000, depending upon the amount of detail that one wants to bring out in the spectrum. Larger values produce more visible detail. Too much detail, however, may hide the important features.</p>

<p>The <a href="http://www.fftw.org/" target="_blank">FFTW</a> delegate library is required to use <a href="#fft">-fft</a>.

<p>Use <a href="#fft">+fft</a> to produce two output images that are the real and imaginary components of the complex valued Fourier transform.</p>

<p>However, as the real and imaginary components can contain negative values, this requires that IM be configured with HDRI enabled. In this case, you must use either MIFF, TIF or PFM formats for the real and imaginary component results, since they are formats that preserve both negative and fractional values without clipping them or truncating the fractional part.</p>

<p>The real and imaginary component images resulting from <a href="#fft">+fft</a> also will be square, even dimensioned images due to the same padding that was discussed above for the magnitude and phase component images.</a>

<p>See the discussion on HDRI implementations of ImageMagick on the page
<a href="/www/high-dynamic-range.html">High Dynamic-Range Images</a>. For more about HDRI go the ImageMagick <a href="http://www.imagemagick.org/Usage/basics/#hdri">Usage</a> pages or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a> entry.
</p>


<div style="margin: auto;">
  <h4><a name="fill" id="fill"></a>-fill <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>color to use when filling a graphic primitive.</td><td style='text-align:right;'></td></tr></table>

<p>This option accepts a color name, a hex color, or a numerical RGB, RGBA, HSL, HSLA, CMYK, or CMYKA specification.  See <a href="../www/color.html">Color Names</a> for a description of how to properly specify the color argument.</p>

<p>Enclose the color specification in quotation marks to prevent the "#" or the parentheses from being interpreted by your shell.</p>

<p>For example,</p>

<p class="crtsnip">
  -fill blue
</p>
<p class="crtsnip">
  -fill "#ddddff"
</p>
<p class="crtsnip">
  -fill "rgb(255,255,255)"
</p>

<p>See <a href="#draw">-draw</a> for further details.</p>

<p>To print a complete list of color names, use the <a href="#list">-list color</a> option.</p>

<div style="margin: auto;">
  <h4><a name="filter" id="filter"></a>-filter <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Use this <em class="arg">type</em> of filter when resizing an image.</td><td style='text-align:right;'></td></tr></table>

<p>Use this option to affect the resizing operation of an image (see <a
href="#resize">-resize</a>). For example you can use a simple resize filter
such as:</p>

<pre class="text">
   Point       Hermite       Cubic
   Box         Gaussian      Catrom
   Triangle    Quadratic     Mitchell
</pre>

<p>The <kbd>Bessel</kbd> and <kbd>Sinc</kbd> filter is also provided, but are
by default <kbd>blackman</kbd>-windowed.  However these filters define a
windowing filter for the Sinc or Bessel filter function, as appropriate for
the scaling operator used (usally Sinc for orthogonal <a href="#resize"
>-resize</a>).   Windowed filters include: </p>

<pre class="text">
   Lanczos       Hamming       Parzen
   Blackman      Kaiser        Welsh
   Hanning       Bartlett      Bohman
</pre>

<p>Also one special self-windowing filter is also provided
<kbd>Lagrange</kbd>, which will automagically re-adjust its function depending
on the current 'support' or 'lobes' expert settings (see below).</p>

<p>If you do not select a filter with this option, the filter defaults to <kbd>Mitchell</kbd> for a colormapped image, a image with a matte channel, or if the image is enlarged.  Otherwise the filter default to <kbd>Lanczos</kbd>.</p>

<p>To print a complete list of resize filters, use the <a href="#list">-list filter</a> option.</p>

<p>You can modify how the filter behaves as it scales your image through the
use of these expert settings:</p>

<dl class="doc">
<dt>-set filter:blur <em>factor</em></dt>
<dd>Scale the X axis of the filter (and its window). Use &gt; 1.0 for
    blurry or &lt; 1.0 for sharp.</dd>

<dt>-set filter:support <em>radius</em></dt>
<dd>Set the filter support radius.</dd>

<dt>-set filter:lobes <em>count</em></dt>
<dd>Set the number of lobes to use for the Sinc/Bessel filter. This an
    alternative way of specifying the 'support' range of the filter.</dd>

<dt>-set filter:b <em>b-spline_factor</em></dt>
<dt>-set filter:c <em>keys_alpha_factor</em></dt>
<dd>Redefine the values used for cubic filters such as <kbd>Cubic</kbd>,
    <kbd>Catrom</kbd>, <kbd>Mitchel</kbd>, and <kbd>Hermite</kbd>, as well as
    the <kbd>Parzen</kbd> Sinc windowing function. If only one of the values
    are defined, the other is set so as to generate a 'Keys' type cubic
    filter.

<dt>-set filter:filter <em>filter</em></dt>
<dd>Use this function directly as the scaling filter.  This will allow
    you to directly use a 'windowing filter' such as <kbd>blackman</kbd>,
    rather than as its normal usage as a windowing function for 'Sinc' or
    'Bessel'. If defined, no windowing function is used, unless the following
    expert setting is also defined.</dd>

<dt>-set filter:window <em>filter</em></dt>
<dd>The IIR (infinite impulse response) filters <kbd>bessel</kbd> and
    <kbd>sinc</kbd>  are windowed (brought down to zero over the defined
    support range) with the given filter. This allows you to use a filter that
    is not normally used as a windowing function, such as <kbd>box</kbd>,
    (which effectivally turns off the windowing function).  </dd>

</dl>

<p>For example, to get a 8 lobe Lanczos-Bessel filter:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -filter bessel \ <br/>
          -set filter:window=bessel -set filter:lobes=8 \ <br/>
          -resize 150%   image.jpg</span></p>
<p>Or a raw un-windowed Sinc filter with 4 lobes:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -set filter:filter=sinc -set filter:lobes=4 \ <br/>
          -resize 150%   image.jpg</span></p>
<p>Note that the use of expert options (except for 'blur' with simple resize
filters), are provided for image processing experts who have studied and
understood how resize filters work. Without this knowledge, and an
understanding of the defination of the actual filters involved, using expert
settings are more likely to be detremental to your image resizing.</p>


<div style="margin: auto;">
  <h4><a name="flatten" id="flatten"></a>-flatten</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>This is a simple alias for the <a href="#layers" >-layers</a> method "flatten".</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="flip" id="flip"></a>-flip</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>create a <em>mirror image</em>.</td><td style='text-align:right;'></td></tr></table>

<p>reflect the scanlines in the vertical direction.</p>

<div style="margin: auto;">
  <h4><a name="floodfill" id="floodfill"></a>-floodfill {<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em> <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>floodfill the image with color at the specified offset. Using <a href="#fuzz" >-fuzz</a> to floodfill pixels which only change by a small amount.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="flop" id="flop"></a>-flop</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>create a <em>mirror image</em>.</td><td style='text-align:right;'></td></tr></table>

<p>reflect the scanlines in the horizontal direction.</p>


<div style="margin: auto;">
  <h4><a name="font" id="font"></a>-font <em class="arg">name</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the font to use when annotating images with text, or creating labels.</td><td style='text-align:right;'></td></tr></table>

<p>To print a complete list of fonts, use the <a href="#list">-list font</a> option (for versions prior to 6.3.6, use 'type' instead of 'font').</p>

<p>In addition to the fonts specified by the above pre-defined list, you can
also specify a font from a specific source.  For example <kbd>Arial.ttf</kbd>
is a TrueType font file, <kbd>ps:helvetica</kbd> is PostScript font, and
<kbd>x:fixed</kbd> is X11 font.</p>

<p>For other settings that affect fonts, see the options <a href="#family">-family</a>, <a href="#stretch">-stretch</a>, <a href="#style">-style</a>, and <a href="#weight">-weight</a>. </p>


<div style="margin: auto;">
  <h4><a name="foreground" id="foreground"></a>-foreground <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Define the foreground color.</td><td style='text-align:right;'></td></tr></table>

<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>

<p>The default foreground color is black.</p>

<div style="margin: auto;">
  <h4><a name="format" id="format"></a>-format <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the image format type.</td><td style='text-align:right;'></td></tr></table>

<p>When used with the <kbd>mogrify</kbd> utility, this option converts any image to the image <a href="/www/formats.html">format</a> you specify.  For a list of image format types supported by ImageMagick, use <a href="#list">-list format</a>.</p>

<p>By default the file is written to its original name. However, if the filename extension matches a supported format, the extension is replaced with the image format type specified with <a href="#format">-format</a>. For example, if you specify <em class="arg">tiff</em> as the format type and the input image filename is <em class="arg">image.gif</em>, the output image filename becomes <em class="arg">image.tiff</em>.</p>

<div style="margin: auto;">
  <h4><a name="format_identify_" id="format_identify_"></a>-format <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>output formatted image characteristics.</td><td style='text-align:right;'>[<a href="../www/identify.html">identify</a>]</td></tr></table>

<p>See <a href="../www/escape.html">Format and Print Image Properties</a> for an explanation on how to specify the argument to this option.</p>

<div style="margin: auto;">
  <h4><a name="frame" id="frame"></a>-frame <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Surround the image with a border or beveled frame.</td><td style='text-align:right;'></td></tr></table>

<p>The color of the border is specified with the <a href="#mattecolor">-mattecolor</a> command line option. </p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <em class="arg">size</em> portion of the <em class="arg">geometry</em> argument indicates the amount of extra width and height that is added to the dimensions of the image. If no offsets are given in the <em class="arg">geometry</em> argument, then the border added is a solid color.  Offsets <em>x</em> and <em>y</em>, if present, specify that the width and height of the border is partitioned to form an outer bevel of thickness <em>x</em>&nbsp;pixels and an inner bevel of thickness <em>y</em>&nbsp;pixels. (Negative offsets make no sense here.)  The <a href="#frame">-frame</a> option is not affected by the <a href="#gravity">-gravity</a> option.</p>


<div style="margin: auto;">
  <h4><a name="frame_import_" id="frame_import_"></a>-frame</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>include the X window frame in the imported image.</td><td style='text-align:right;'>[<a href="../www/import.html">import</a>]</td></tr></table>

<div style="margin: auto;">
  <h4><a name="function" id="function"></a>-function <em class="arg">function</em> <em class="arg">parameters</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a function to channel values.</td><td style='text-align:right;'></td></tr></table>

<p>This operator performs calculations based on the given arguments to modify each of the color values for each previously set <a href="#channel">-channel</a> in the image. See <a href="#evaluate">-evaluate</a> for details concerning how the results of the calculations are handled.</p>

<p>This is can be considered a multi-argument version of the <a href="#evaluate">-evaluate</a> operator. (Added in ImageMagick&nbsp;6.4.8&minus;8.)</p>

<p>Here,  <em class="arg">parameters</em> is a comma-separated list of numerical values. The number of values varies depending on which <em class="arg">function</em> is selected. Choose the <em class="arg">function</em> from:</p>

<pre class="text">
  Polynomial
  Sinusoid
  Arcsin
  Arctan
</pre>

<p>To print a complete list of <a href="#function">-function</a> operators, use <a href="#list">-list function</a>. Descriptions follow.</p>

<dl class="doc">
<dt><kbd>Polynomial</kbd></dt>
<dd>
<p>The <kbd>Polynomial</kbd> function takes an arbitrary number of parameters, these being the coefficients of a polynomial, in decreasing order of degree. That is, entering</p>

<div style="text-align: center">
   -function Polynomial <em>a</em><sub><em>n</em></sub>,<em>a</em><sub><em>n</em>-1</sub>,...<em>a</em><sub>1</sub>,<em>a</em><sub>0</sub>
</div>

<p>will invoke a polynomial function given by</p>

<div style="text-align: center">
   <em>a</em><sub><em>n</em></sub> <b><em>u</em></b><sup><em>n</em></sup> +
   <em>a</em><sub><em>n</em>-1</sub> <b><em>u</em></b><sup><em>n</em>-1</sup> +
   &middot;&middot;&middot; <em>a</em><sub>1</sub> <b><em>u</em></b> + <em>a</em><sub>0</sub>,
</div>

<p>where <b><em>u</em></b> is pixel's original normalized channel value.</p>

<p>The <kbd>Polynomial</kbd> function can be used in place of <kbd>Set</kbd> (the <em>constant</em> polynomial) and <kbd>Add</kbd>, <kbd>Divide</kbd>, <kbd>Multiply</kbd>, and <kbd>Subtract</kbd> (some <em>linear</em> polynomials) of the <a href="#evaluate">-evaluate</a> operator. The <a href="#level">-level</a> operator also affects channels linearly. Some correspondences follow.</p>

<table class="doc">
  <col width="35%" />
  <col width="35%" />
  <col width="30%" />
  <tr>
        <td>-evaluate Set <em class="arg">value</em> </td>
        <td>-function Polynomial <em class="arg">value</em></td>
        <td>(Constant functions; set <em class="arg">value</em>&times;100% gray when channels are RGB.)</td>
  </tr>
  <tr>
        <td>-evaluate Add <em class="arg">value</em> </td>
        <td>-function Polynomial 1,<em class="arg">value</em></td>
  </tr>
  <tr>
        <td>-evaluate Subtract <em class="arg">value</em> </td>
        <td>-function Polynomial 1,&minus;<em class="arg">value</em></td>
  </tr>
  <tr>
        <td>-evaluate Multiply <em class="arg">value</em> </td>
        <td>-function Polynomial <em class="arg">value</em>,0</td>
  </tr>
  <tr>
        <td>+level  black% x white%</td>
        <td>-function Polynomial  A,B</td>
        <td>(Reduce contrast. Here, A=(white-black)/100 and  B=black/100.)</td>
  </tr>
</table>

<p>The <kbd>Polynomial</kbd> function gives great versatility, since polynomials can be used to fit any continuous curve to any degree of accuracy desired.</p>
</dd>

<dt><kbd>Sinusoid</kbd></dt>
<dd>
<p>The <kbd>Sinusoid</kbd> function can be used to vary the channel values sinusoidally by setting frequency, phase shift, amplitude, and a bias. These values are given as one to four parameters, as follows,</p>

<div style="text-align: center">
   -function <kbd>Sinusoid</kbd> <em class="arg">freq</em>,[<em class="arg">phase</em>,[<em class="arg">amp</em>,[<em class="arg">bias</em>]]]
</div>

<p>where <em>phase</em> is in degrees. (The domain [0,1] of the function corresponds to 0 through <em class="arg">freq</em>&times;360&nbsp;degrees.) The result is that if a pixel's normalized channel value is originally <b><em>u</em></b>, its resulting normalized value is given by </p>

<div style="text-align: center">
<em class="arg">amp</em> * sin(2*&pi;* (<em class="arg">freq</em> * <b><em>u</em></b> + <em class="arg">phase</em> / 360)) + <em class="arg">bias</em>
</div>

<p> For example, the following generates a curve that starts and ends at 0.9 (when <b><em>u</em></b>=0 and 1, resp.), oscillating three times between .7&minus;.2=.5 and .7+.2=.9. </p>

<p class="crtsnip">
   -function Sinusoid 3,-90,.2,.7
</p>

<p>The default values of <em class="arg">amp</em> and <em class="arg">bias</em> are both .5. The default for <em class="arg">phase</em> is 0.</p>

<p>The <kbd>Sinusoid</kbd> function generalizes <kbd>Sin</kbd> and <kbd>Cos</kbd> of the <a href="#evaluate">-evaluate</a> operator by allowing varying amplitude, phase and bias. The correspondence is as follows.</p>

<table class="doc">
  <tr>
        <td>-evaluate Sin <em class="arg">freq</em> </td>
        <td>-function Sinusoid <em class="arg">freq</em>,0 </td>
  </tr>
  <tr>
        <td>-evaluate Cos <em class="arg">freq</em> </td>
        <td>-function Sinusoid <em class="arg">freq</em>,90 </td>
  </tr>
</table>
</dd>

<dt><kbd>ArcSin</kbd></dt>
<dd>
<p>The <kbd>ArcSin</kbd> function generates the inverse curve of a Sinusoid,
and can be used to generate cylindrical distortion and displacement maps.
The curve can be adjusted relative to both the input values and output range
of values.

<div style="text-align: center">
   -function <kbd>ArcSin</kbd> <em class="arg">width</em>,[<em class="arg">center</em>,[<em class="arg">range</em>,[<em class="arg">bias</em>]]]
</div>

<p>with all values given in terms of noramlize color values (0.0 for black,
1.0 for white). Defaulting to values covering the full range from 0.0 to 1.0
for bout input (<em class="arg">width</em>), and output (<em
class="arg">width</em>) values. '<code>1.0,0.5,1.0,0.5</code>' </p>

<div style="text-align: center">
<em class="arg">range</em>/&pi; * asin( 2/<em class="arg">width</em> * ( <b><em>u</em></b> - <em class="arg">center</em> ) ) + <em class="arg">bias</em>
</div>

</dd>

<dt><kbd>ArcTan</kbd></dt>
<dd>
<p>The <kbd>ArcTan</kbd> function generates a curve that smooth crosses from
limit values at infinities, though a center using the given slope value.
All these values can be adjusted via the arguments.

<div style="text-align: center">
   -function <kbd>ArcTan</kbd> <em class="arg">slope</em>,[<em class="arg">center</em>,[<em class="arg">range</em>,[<em class="arg">bias</em>]]]
</div>

<p>Defaulting to '<code>1.0,0.5,1.0,0.5</code>'.
</p>

<div style="text-align: center">
<em class="arg">range</em>/&pi; * atan( <em class="arg">slope</em>*&pi; * ( <b><em>u</em></b> - <em class="arg">center</em> ) ) + <em class="arg">bias</em>
</div>

</dd>

</dl>


<div style="margin: auto;">
  <h4><a name="fuzz" id="fuzz"></a>-fuzz <em class="arg">distance</em>{<em class="arg">%</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Colors within this <em class="arg">distance</em> are considered equal.</td><td style='text-align:right;'></td></tr></table>

<p>A number of algorithms search for a target color. By default the color must be exact. Use this option to match colors that are close to the target color in RGB space. For example, if you want to automagically trim the edges of an image with <a href="#trim">-trim</a> but the image was scanned and the target background color may differ by a small amount. This option can account for these differences.</p>

<p>The <em class="arg">distance</em> can be in absolute intensity units or, by appending <kbd>%</kbd> as a percentage of the maximum possible intensity (255, 65535, or 4294967295).</p>


<div style="margin: auto;">
  <h4><a name="fx" id="fx"></a>-fx <em class="arg">expression</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>apply a mathematical expression to an image or image channels.</td><td style='text-align:right;'></td></tr></table>

<p>If the first character of <em class="arg">expression</em> is <kbd>@</kbd>, the expression is read from a file titled by the remaining characters in the string.</p>

<p>See <a href="../www/fx.html">FX, The Special Effects Image Operator</a> for a detailed discussion of this option.</p>


<div style="margin: auto;">
  <h4><a name="gamma" id="gamma"></a>-gamma <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>level of gamma correction.</td><td style='text-align:right;'></td></tr></table>

<p>The same color image displayed on two different workstations may look different due to differences in the display monitor. Use gamma correction to adjust for this color difference.  Reasonable values extend from <kbd>0.8</kbd> to <kbd>2.3</kbd>. Gamma less than 1.0 darkens the image and gamma greater than 1.0 lightens it. Large adjustments to image gamma may result in the loss of some image information if the pixel quantum size is only eight bits (quantum range 0 to 255).</p>

<p>Gamma adjusts the image's channel values pixel-by-pixel according to a power law, namely, pow(pixel,1/gamma) or pixel^(1/gamma), where pixel is the normalized or 0 to 1 color value. For example, using a value of gamma=2 is the same as taking the square root of the image.</p>

<p>You can apply separate gamma values to the red, green, and blue channels of the image with a gamma value list delimited with commas (e.g., <kbd>1.7,2.3,1.2</kbd>).</p>

<p>Use <a href="#gamma">+gamma <em class="arg">value</em></a> to set the image gamma level without actually adjusting the image pixels. This option is useful if the image is of a known gamma but not set as an image attribute (e.g. PNG images).</p>

<p>Note that gamma adjustments are also available via the <a href="#level">-level</a> operator.</p>

<div style="margin: auto;">
  <h4><a name="gaussian-blur" id="gaussian-blur"></a>-gaussian-blur <em class="arg">radius</em><br />-gaussian-blur <em class="arg">radius</em>x<em class="arg">sigma</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Blur the image with a Gaussian operator.</td><td style='text-align:right;'></td></tr></table>

<p>Convolve the image with a Gaussian or normal distribution.  The formula is:</p>

<div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/>
</div>

<p>where <i>r</i> is the blur radius (<i>r</i><sup>2</sup> = <i>u</i><sup>2</sup> + <i>v</i><sup>2</sup>), and &sigma; is the standard deviation of the Gaussian distribution.  As a guideline, set <i>r</i> to approximately 3&sigma;.  Specify a radius of 0 and ImageMagick selects a suitable radius for you.</p>

<p>This differs from the faster <a href="#blur">-blur</a> operator in that a
full 2-dimentional convolution is used to generate the weighted average of the
neighbouring pixels. </p>

<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
pixels which are outside the image proper are blurred into the final result.
</p>


<div style="margin: auto;">
  <h4><a name="geometry" id="geometry"></a>-geometry <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the preferred size and location of the image.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="gravity" id="gravity"></a>-gravity <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Sets the current gravity suggestion for various other settings and options.</td><td style='text-align:right;'></td></tr></table>

<p>Choices include: <kbd>NorthWest</kbd>, <kbd>North</kbd>, <kbd>NorthEast</kbd>,
<kbd>West</kbd>, <kbd>Center</kbd>, <kbd>East</kbd>, <kbd>SouthWest</kbd>,
<kbd>South</kbd>, <kbd>SouthEast</kbd>.  Use <a href="#list">-list gravity</a> to get a complete
list of <a href="#gravity">-gravity</a> settings available in your ImageMagick
installation.</p>

<p>The direction you choose specifies where to position text or subimages. For example, a gravity of <kbd>Center</kbd> forces the text to be centered within the image. By default, the image gravity is <kbd>NorthWest</kbd>. See <a href="#draw">-draw</a> for more details about graphic primitives.  Only the text primitive of <a href="#draw">-draw</a> affected by the <a href="#gravity">-gravity</a> option.</p>

<p>The <a href="#gravity">-gravity</a> option is also used in concert with the <a href="#geometry">-geometry</a> setting and other settings or options that take <em class="arg">geometry</em> as an argument, such as the <a href="#crop">-crop</a> option. </p>

<p>If a <a href="#gravity">-gravity</a> setting occurs before another option or setting having a <em class="arg">geometry</em> argument that specifies an offset, the offset is usually applied to the point within the image suggested by the <a href="#gravity">-gravity</a> argument.  Thus, in the following command, for example, suppose the file <kbd>image.png</kbd> has dimensions 200x100. The offset specified by the argument to <a href="#region">-region</a> is (&minus;40,+20). The argument to <a href="#gravity">-gravity</a> is <kbd>Center</kbd>, which suggests the midpoint of the image, at the point (100,50). The offset (&minus;40,20) is applied to that point, giving (100&minus;40,50+20)=(60,70), so the specified 10x10&nbsp;region is located at that point. (In addition, the <a href="#gravity">-gravity</a> affects the region itself, which is <em>centered</em> at the pixel coordinate&nbsp;(60,70). (See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.)</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -gravity Center -region 10x10-40+20 -negate output.png</span></p>
<p>When used as an option to <a href="../www/composite.html">composite</a>, <a href="#gravity">-gravity</a> gives the direction that the image gravitates within the composite.</p>

<p>When used as an option to <a href="../www/montage.html">montage</a>, <a href="#gravity">-gravity</a> gives the direction that an image gravitates within a tile. The default gravity is <kbd>Center</kbd> for this purpose.</p>


<div style="margin: auto;">
  <h4><a name="green-primary" id="green-primary"></a>-green-primary <em class="arg">x,y</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>green chromaticity primary point.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="hald-clut" id="hald-clut"></a>-hald-clut</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>apply a Hald color lookup table to the image.</td><td style='text-align:right;'></td></tr></table>

<p>A Hald color lookup table is a 3-dimensional color cube mapped to 2
dimensions.  Create it with the <kbd>HALD:</kbd> prefix (e.g. HALD:8).  You
can apply any color transformation to the Hald image and then use this option
to apply the transform to the image. </p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png hald.png -hald-clut transform.png</span></p>
<p>This option provides a convenient method for you to use Gimp or Photoshop
to make color corrections to the Hald CLUT image and subsequently apply them
to multiple images using an ImageMagick script. </p>

<p>Note that the representation is only of the normal RGB color space and that
the whole color value triplet is used for the interpolated lookup of the
represented Hald color cube image.  Because of this the operation is not <a
href="#channel" >-channel</a> setting effected, nor can it adjust or modify an
images transparency or alpha/matte channel.</p>

<p>See also <a href="#clut" >-clut</a> which provides color value replacement
of the individual color channels, usally involving a simplier gray-scale
image. E.g:  gray-scale to color replacement, or modification by a histogram
mapping. </p>


<div style="margin: auto;">
  <h4><a name="help" id="help"></a>-help</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>print usage instructions.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="highlight-color" id="highlight-color"></a>-highlight-color <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>when comparing images, emphasize pixel differences with this color.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="iconGeometry" id="iconGeometry"></a>-iconGeometry <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the icon geometry.</td><td style='text-align:right;'></td></tr></table>

<p>Offsets, if present in the geometry specification, are handled in the same manner as the <a href="#geometry">-geometry</a> option, using X11 style to handle negative offsets.</p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="iconic" id="iconic"></a>-iconic</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>iconic animation.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="identify" id="identify"></a>-identify</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>identify the format and characteristics of the image.</td><td style='text-align:right;'></td></tr></table>

<p>This information is printed: image scene number; image name; image size; the image class (<em class="arg">DirectClass</em> or <em class="arg">PseudoClass</em>); the total number of unique colors; and the number of seconds to read and transform the image. Refer to <a href="../www/miff.html">MIFF</a> for a description of the image class.</p>

<p>If <a href="#colors">-colors</a> is also specified, the total unique colors in the image and color reduction error values are printed. Refer to <a href="/www/quantize.html">color reduction algorithm</a> for a description of these values.</p>

<p>If <a href="#verbose">-verbose</a> preceds this option, copious
amounts of image properties are displayed including image statistics, profiles,
image histogram, and others.</p>

<div style="margin: auto;">
  <h4><a name="ift" id="ift"></a>-ift</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>implements the inverse discrete Fourier transform (DFT).</td><td style='text-align:right;'></td></tr></table>

<p>This option is new as of ImageMagick 6.5.4-3 and transforms a pair of magnitude and phase images from the frequency domain to a single image in the normal or spatial domain. See for example, <a href="http://en.wikipedia.org/wiki/Fourier_transform" target="_blank">Fourier Transform</a>, <a href="http://en.wikipedia.org/wiki/DFT" target="_blank">Discrete Fourier Transform</a> and <a href="http://en.wikipedia.org/wiki/FFT" target="_blank">Fast Fourier Transform</a>.</p>

<p>For example, depending upon the image format used to store the result of the <a href="#fft">-fft</a>, one would use either</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert fft_image.miff -ift fft_image_ift.png</span></p>
<p>or</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert fft_image-0.png fft_image-1.png -ift fft_image_ift.png</span></p>

<p>The resulting image may need to be cropped due to padding introduced when the original image, prior to the <a href="#fft">-fft</a> or <a href="#fft">+fft</a>, was not square or even dimensioned. Any padding will be at the right and/or bottom sides of the image.

<p>The <a href="http://www.fftw.org/" target="_blank">FFTW</a> delegate library is required to use <a href="#ift">-ift</a>.

<p>Use <a href="#ift">+ift</a> (with HDRI enabled) to transform a pair of real and imaginary images from the frequency domain to a single image in the normal (spatial) domain.

<div style="margin: auto;">
  <h4><a name="immutable" id="immutable"></a>-immutable</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>make image immutable.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="implode" id="implode"></a>-implode <em class="arg">factor</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>implode image pixels about the center.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="insert" id="insert"></a>-insert <em class="arg">index</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>insert the last image into the image sequence.</td><td style='text-align:right;'></td></tr></table>

<p>This option takes last image in the current image sequence and inserts it at the given index. If a negative index is used, the insert position is calculated before the last image is removed from the sequence. As such <kbd>-insert -1</kbd> will result in no change to the image sequence.</p>

<p>The <kbd>+insert</kbd> option is equivalent to <kbd>-insert -1</kbd>. In other words, insert the last image, at the end of the current image sequence. Consequently this has no effect on the image sequence order.</p>

<div style="margin: auto;">
  <h4><a name="intent" id="intent"></a>-intent <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>use this type of rendering intent when managing the image color.</td><td style='text-align:right;'></td></tr></table>

<p>Use this option to affect the color management operation of an image (see <a href="#profile">-profile</a>).  Choose from these intents: <kbd>Absolute, Perceptual, Relative, Saturation</kbd>.</p>

<p>The default intent is undefined.</p>

<p>To print a complete list of rendering intents, use <a href="#list">-list intent</a>.</p>

<div style="margin: auto;">
  <h4><a name="interlace" id="interlace"></a>-interlace <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the type of interlacing scheme.</td><td style='text-align:right;'></td></tr></table>

<p>Choose from:</p>

<pre class="text">
  none
  line
  plane
  partition
  JPEG
  GIF
  PNG
</pre>

<p>This option is used to specify the type of interlacing scheme for raw image formats such as <kbd>RGB</kbd> or <kbd>YUV</kbd>.</p>

<p><kbd>None</kbd> means do not interlace (RGBRGBRGBRGBRGBRGB...),</p>

<p><kbd>Line</kbd> uses scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...), and.</p>

<p><kbd>Plane</kbd> uses plane interlacing (RRRRRR...GGGGGG...BBBBBB...).</p>

<p><kbd>Partition</kbd> is like plane except the different planes are saved to individual files (e.g. image.R,
image.G, and image.B).</p>

<p>Use <kbd>Line</kbd> or <kbd>Plane</kbd> to create an <kbd>interlaced PNG</kbd> or <kbd>GIF</kbd> or <kbd>progressive JPEG</kbd>
image.</p>

<p>To print a complete list of interlacing schemes, use <a href="#list">-list interlace</a>.</p>

<div style="margin: auto;">
  <h4><a name="interpolate" id="interpolate"></a>-interpolate <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the pixel color interpolation method to use when looking up a color based on a floating point or real value.</td><td style='text-align:right;'></td></tr></table>

<p>When looking up the color of a pixel using a non-interger floating point
value, you typically fall in between the pixel colors defined by the source
image. This setting determines how the color is determined from the colors of
the pixels surrounding that point.  That is how to determine the color of a
point that falls between two, or even four different colored pixels. </p>

<pre class="text">
  integer:           The color of the top-left pixel (floor function)
  nearest-neighbor:  The nearest pixel to the lookup point (rounded function)
  average:           The average color of the surrounding four pixels
  bilinear           A double linear interpolation of pixels (the default)
  mesh               Divide area into two flat triangular interpolations
  bicubic            Fitted bicubic-spines of surrounding 16 pixels
  spline             Direct spline curves (colors are blurred)
  filter             Use resize <a href="#filter">-filter</a> settings
</pre>

<p>This most important for distortion operators such as <a href="#distort"
>-distort</a>, <a href="#implode" >-implode</a>, <a href="#transform"
>-transform</a> and <a href="#fx" >-fx</a>. </p>

<p>To print a complete list of interpolation methods, use <a href="#list">-list interpolate</a>.</p>

<p>See also <a href="#virtual-pixel" >-virtual-pixel</a>, for control of the
lookup for positions outside the boundaries of the image. </p>


<div style="margin: auto;">
  <h4><a name="interline-spacing" id="interline-spacing"></a>-interline-spacing <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the space between two text lines.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="interword-spacing" id="interword-spacing"></a>-interword-spacing <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the space between two words.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="kerning" id="kerning"></a>-kerning <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the space between two letters.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="label" id="label"></a>-label <em class="arg">name</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>assign a label to an image.</td><td style='text-align:right;'></td></tr></table>

<p>Use this option to assign a specific label to the image, as it is read in or created.  You can use the <a href="#set" >-set</a> operation to re-assign a the labels of images already read in.  Image formats such as TIFF, PNG, MIFF, supports saving the label information with the image.</p>

<p>When saving an image to a <em class="arg">PostScript</em> file, any label assigned to an image is used as a header string to print above the postscript image. </p>

<p>You can include the image filename, type, width, height, or other image attribute by embedding special format character.  See <a href="#format">-format</a> for details of the percent escape codes.</p>

<p>For example,</p>

<p class="crtsnip">
  -label "%m:%f %wx%h"  bird.miff
</p>

<p>assigns an image label of <kbd>MIFF:bird.miff 512x480</kbd> to the "<kbd>bird.miff</kbd>" image and whose width is 512 and height is 480, as it is read in.  If a  <a href="#label">+label</a> option was used instead, any existing label present in the image would be used.  You can remove all labels from an image by assigning the empty string. </p>

<p>A label is not drawn on the image, but is embedded in the image datastream via <em>Label</em> tag or similar mechanism. If you want the label to be visible on the image itself, use the <a href="#draw">-draw</a> option, or during the final processing in the creation of a image montage.</p>

<p>The label font can be specified with <a href="#font">-font</a>, and the
other font attribute settings.</p>

<p>If the first character of <em class="arg">string</em> is <em class="arg">@</em>, the image label is read from a file titled by the remaining characters in the string. Labels in a file are literal, no embedded formatting characters are recognized.</p>


<div style="margin: auto;">
  <h4><a name="lat" id="lat"></a>-lat <em class="arg">width</em><br />-lat <em class="arg">width</em>x<em class="arg">height</em>{<em class="arg">+-</em>}<em class="arg">offset</em>{<em class="arg">%</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>perform local adaptive threshold.</td><td style='text-align:right;'></td></tr></table>

<p>Adaptively threshold each pixel based on the value of pixels in a
surrounding window.  If the current pixel is lighter than this average plus
the optional <kbd>offset</kbd>, then it is made white, otherwise it is made
black.  Small variations in pixel values such as found in scanned documents
can be ignored if offset is positive. A negative offset will make it more
sensitive to those small variations. </p>

<p>This is commonly used to threshold images with an uneven background.  It is
based on the assumption that average color of the small window is the
the local background color, from which to separate the forground color. </p>


<div style="margin: auto;">
  <h4><a name="layers" id="layers"></a>-layers <em class="arg">method</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>handle multiple images forming a set of image layers or animation frames.</td><td style='text-align:right;'></td></tr></table>

<p>Perform various image operation methods to a ordered sequence of images
which may represent either a set of overlaid 'image layers', a GIF disposal
animation, or a fully-'coalesced' animation sequence. </p>

<table class="doc">
  <tbody>
  <tr valign="top">
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top">compare-any</td>
    <td valign="top">Crop the second and later frames to the smallest rectangle
        that contains all the differences between the two images.  No GIF <a
        href="#dispose" >-dispose</a> methods are taken into account. </td>
  </tr>

  <tr><td></td><td>This exactly the same as the <a href="#deconstruct"
        >-deconstruct</a> operator, and does not preserve animations normal
        working, especially when animation used layer disposal methods such as
        '<kbd>Previous</kbd>' or '<kbd>Background</kbd>'. </td>
  </tr>

  <tr valign="top">
    <td valign="top">compare-clear</td>
    <td valign="top">As '<kbd>compare-any</kbd>' but crop to the bounds of any
       opaque pixels which become transparent in the second frame. That is the
       smallest image needed to mask or erase pixels for the next frame. </td>
  </tr>

  <tr valign="top">
    <td valign="top">compare-overlay</td>
    <td valign="top">As '<kbd>compare-any</kbd>' but crop to pixels that add
       extra color to the next image, as a result of overlaying color pixels.
       That is the smallest single overlaid image to add or change colors. </td>
   </tr>

   <tr><td></td><td>This can be used with the <a href="#compose" >-compose</a> alpha
       composition method '<kbd>change-mask</kbd>', to reduce the image to
       just the pixels that need to be overlaid. </td>
   </tr>

  <tr valign="top">
    <td valign="top">coalesce</td>
    <td valign="top">Equivalent to a call to the <a href="#coalesce"
        >-coalesce</a> operator.  Apply the layer disposal methods set in the
        current image sequence to form a fully defined animation sequence, as
        it should be displayed.  Effectively converting a GIF animation into a
        'film strip'-like animation.  </td>
  </tr>

  <tr valign="top">
    <td valign="top">composite</td>
    <td valign="top">Alpha Composition of two image lists, separated by a
        "<kbd>null:</kbd>" image, with the destination image list first, and
        the source images last.  An image from each list are composited
        together until one list is finished. The separator image and source
        image lists are removed. </td>
  </tr>


  <tr><td></td><td>The <a href="#geometry" >-geometry</a> offset is adjusted according to
        <a href="#gravity" >-gravity</a> in accordance of the virtual canvas
        size of the first image in each list. Unlike a normal <a
        href="#composite" >-composite</a> operation, the canvas offset is also
        added to the final composite positioning of each image. </td>
  </tr>

  <tr><td></td><td>If one of the image lists only contains one image, that image is
        applied to all the images in the other image list, regardless of which
        list it is. In this case it is the image meta-data of the list which
        preserved.  </td>
  </tr>


  <tr valign="top">
    <td valign="top">dispose</td>
    <td valign="top">This like '<kbd>coalesce</kbd>' but shows the look of
        the animation after the layer disposal method has been applied, before
        the next sub-frame image is overlaid. That is the 'dispose' image that
        results from the application of the GIF <a href="#dispose"
        >-dispose</a> method.  This allows you to check what
        is going wrong with a particular animation you may be developing.
        </td>
  </tr>

  <tr valign="top">
    <td valign="top">flatten</td>
    <td valign="top">Create a canvas the size of the first images virtual
        canvas using the current <a href="#background" >-background</a> color,
        and <a href="#compose" >-compose</a> each image in turn onto that
        canvas.  Images falling outside that canvas is clipped. Final
        image will have a zero virtual canvas offset. </td>
  </tr>

  <tr><td></td><td>This usally used as one of the final 'image layering' operations
        overlaying all the prepared image layers into a final image. </td>
  </tr>

  <tr><td></td><td>For a single image this method can also be used to fillout a virtual
        canvas with real pixels, or to underlay a opaque color to remove
        transparency from an image.</td>
  </tr>


  <tr valign="top">
    <td valign="top">merge</td>
    <td valign="top">As 'flatten' method but merging all the given image
        layers into a new layer image just large enough to hold all the image
        without clipping or extra space. The new images virtual offset will
        prevere the position of the new layer, even if this offset is
        negative.  the virtual canvas size of the first image is preserved.
        </td>
    </tr>

     <tr><td></td><td>Caution is advised when handling image layers with negative offsets
        as few image file formats handle them correctly. </td>
  </tr>

  <tr valign="top">
    <td valign="top">mosaic</td>
    <td valign="top">As 'flatten' method but expanding the initial canvas size
        of the first image so as to hold all the image layers.  However as a
        virtual canvas is 'locked' to the origin, by defination, image layers
        with a negative offsets will still be clipped by the top and left
        edges.</td>
  </tr>

  <tr><td></td><td>This method is commonly used to layout individual image using various
        offset but without knowning the final canvas size. The resulting image
        will, like 'flatten' not have any virtual offset, so can be saved to
        any image file format. </td>
  </tr>


  <tr valign="top">
    <td valign="top">optimize</td>
    <td valign="top">Optimize a coalesced animation, into GIF animation using
        a number of general techniques.  This currently a short cut to
        apply both the '<kbd>optimize-frame</kbd>', and
        '<kbd>optimize-transparency</kbd>' methods but may be expanded to
        include other optimization methods as they are developed. </td>
  </tr>

  <tr valign="top">
    <td valign="top">optimize-frame</td>
    <td valign="top">Optimize a coalesced animation, into GIF animation by
        reducing the number of pixels per frame as much as possible by
        attempting to pick the best layer disposal method to use, while ensuring
        the result will continue to animate properly. </td>
  </tr>

  <tr><td></td><td> There is no guarantee that the best optimization is found. But
        then no reasonably fast GIF optimization algorithm can do this.
        However this does seem to do better than most other GIF frame
        optimizers seen. </td>
  </tr>

  <tr valign="top">
    <td valign="top">optimize-plus</td>
    <td valign="top">As '<kbd>optimize-frame</kbd>' but attempt to improve the
        overall optimization by adding extra frames to the animation, without
        changing the final look or timing of the animation.  The frames are
        added to attempt to separate the clearing of pixels from the
        overlaying of new additional pixels from one animation frame to the
        next.  If this does not improve the optimization (for the next frame
        only), it will fall back to the results of the previous normal
        '<kbd>optimize-frame</kbd>' technique. </td>
  </tr>

  <tr><td></td><td>There is the possibility that the change in the disposal style will
        result in a worsening in the optimization of later frames, though this
        is unlikely. In other words there no guarantee that it is better than
        the normal '<kbd>optimize-frame</kbd>' technique. For some animations
        however you can get a vast improvment in the final animation size. </td>
  </tr>

  <tr valign="top">
    <td valign="top">optimize-transparency</td>
    <td valign="top">Given a GIF animation, replace any pixel in the sub-frame
        overlay images with transparency, if it does not change the resulting
        animation by more than the current <a href="#fuzz" >-fuzz</a> factor.
        </td>
  </tr>

  <tr><td></td><td>This should allow a existing frame optimized GIF animation to compress
        into a smaller file size due to larger areas of one (transparent)
        color rather than a pattern of multiple colors repeating the current
        disposed image of the last frame. </td>
  </tr>

  <tr valign="top">
    <td valign="top">remove-dups</td>
    <td valign="top">Remove (and merge time delays) of duplicate consecutive
        images, so as to simplify layer overlays of coalesced animations.
        </td>
  </tr>

   <tr><td></td><td>Usually this a result of using a constant time delay across the
        whole animation, or after a larger animation was split into smaller
        sub-animations.  The duplicate frames could also have been used as
        part of some frame optimization methods. </td>
  </tr>

  <tr valign="top">
    <td valign="top">remove-zero</td>
    <td valign="top">Remove any image with a zero time delay, unless ALL the
        images have a zero time delay (and is not a proper timed animation, a
        warning is then issued). </td>
  </tr>

  <tr><td></td><td>In a GIF animation, such images are usually frames which provide
        partial intermediary updates between the frames that are actually
        displayed to users.  These frames are usally added for improved frame
        optimization in GIF animations. </td>
  </tr>

  <tr valign="top">
    <td valign="top">trim-bounds</td>
    <td valign="top">Find the bounds of all the images in the current
        image sequence, then adjust the offsets so all images are contained on
        a minimal positive canvas. None of the image data is modified, only
        there virtual canvas size and offset.  The all the image is given
        the same canvas size, and and will have a positive offset, but will
        remain in the same position relative to each other. As a result of the
        minimal canvas size at least one image will touch every edge of that
        canvas.  The image data however may be transparent.
        </td>
  </tr>

  </tbody>
</table>

<p>To print a complete list of layer types, use <a href="#list">-list layers</a>.</p>

<p>The operators <a href="#coalesce" >-coalesce</a>, <a href="#deconstruct"
>-deconstruct</a>, <a href="#flatten" >-flatten</a>, and <a href="#mosaic"
>-mosaic</a> are only aliases for the above methods.  Also see  <a
href="#page" >-page</a>,  <a href="#repage" >-repage</a> operators, the <a
href="#compose" >-compose</a> setting, and the GIF <a href="#dispose"
>-dispose</a> and  <a href="#delay" >-delay</a> settings. </p>


<div style="margin: auto;">
  <h4><a name="level" id="level"></a>-level <em class="arg">black_point</em>{,<em class="arg">white_point</em>}{<em class="arg">%</em>}{,<em class="arg">gamma</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>adjust the level of image channels.</td><td style='text-align:right;'></td></tr></table>

<p>Given one, two or three values delimited with commas: black-point,
white-point, gamma (for example: 10,250,1.0 or 2%,98%,0.5). The black and
white points range from 0 to <em class="QR">QuantumRange</em>, or from 0 to 100%; if the white
point is omitted it is set to (<em class="QR">QuantumRange</em> - black_point), so as to center
contrast changes.  If a <kbd>%</kbd> sign is present anywhere in the string,
both black and white points are percentages of the full color range.  Gamma
will do a <a href="#gamma">-gamma</a> adjustment of the values.  If it is
omitted, the default of 1.0 (no gamma correction) is assumed.</p>

<p>In normal usage (<kbd>-level</kbd>) the image values are stretched so that
the given '<kbd>black_point</kbd>' value in the original image is set to
zero (or black), while the given '<kbd>white_point</kbd>' value is set to
<em class="QR">QuantumRange</em> (or white).  This provides you with direct contrast adjustments
to the image.  The '<kbd>gamma</kbd>' of the resulting image will then be
adjusted. </p>

<p>From ImageMagick v6.4.1-9 using the plus form of the operator (<kbd>+level</kbd>) or
adding the special '!' flag anywhere in the argument list, will cause the
operator to do the reverse of the level adjustment.  That is a zero, or
<em class="QR">QuantumRange</em> value (black, and white, resp.) in the original image, is
adjusted to the given level values, allowing you to de-contrast, or compress
the channel values within the image. The '<kbd>gamma</kbd>' is adjusted before the level adjustment to de-contrast the image is made. </p>

<p>Only the channels defined by the current <a href="#channel">-channel</a>
setting are adjusted (defaults to RGB color channels only), allowing you to
limit the effect of this operator. </p>

<p>Please note that the transparency channel is treated as 'matte'
values (0 is opaque) and not as 'alpha' values (0 is transparent).</p>


<div style="margin: auto;">
  <h4><a name="level-colors" id="level-colors"></a>-level-colors {<em
  class="arg">black_color</em>}{,}{<em class="arg">white_color</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>adjust the level of an image using the provided dash seperated colors.</td><td style='text-align:right;'></td></tr></table>

<p>This function is exactly like <a href="#level">-level</a>, except that the
value value for each color channel is determined by the
'<kbd>black_color</kbd>' and '<kbd>white_color</kbd>' colors given (as
described under the <a href="#fill">-fill</a> option). </p>

<p>This effectivally means the colors provided to <kbd>-level-colors</kbd>
is mapped to become 'black' and 'white' respectivally, with all the other
colors linearly adjusted (or clipped) to match that change. Each channel is
adjusted separatally using the channel values of the colors specified. </p>

<p>On the other hand the plus form of the operator (<kbd>+level-colors</kbd>)
will map the image color 'black' and 'white' to the given colors
respectivally, resulting in a gradient (de-contrasting) tint of the image to
those colors. This can also be used to convert a plain gray-scale image into a
one using the gradient of colors specified. </p>

<p>By supplying a single color with a comma separator either before or after
that color, will just replace the respective 'black' or 'white' point
respectivally.  But if no comma separator is provided, the given color is
used for both the black and white color points, making the operator either
threshold the images around that color (- form) or set all colors to that
color (+ form). </p>


<div style="margin: auto;">
  <h4><a name="limit" id="limit"></a>-limit <em class="arg">type value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the pixel cache resource limit.</td><td style='text-align:right;'></td></tr></table>

<p>Choose from: <kbd>area</kbd>, <kbd>disk</kbd>, <kbd>file</kbd>, <kbd>map</kbd>, <kbd>memory</kbd>, <kbd>threads</kbd>, or <kbd>time</kbd>.</p>

<p>The value for <kbd>file</kbd> is in number of files. The other limits are in bytes. By default the limits are 768 files, 2gb of image area, 1.5gb memory, 8gb memory map, and 16tb of disk.  These limits are adjusted relative to the available resources on your computer if this information is available.   When any limit is reached, ImageMagick fails in some fashion but attempts to take compensating actions, if possible. For example, the following limits memory:</p>

<p class="crtsnip">
  -limit memory 32mb -limit map 64mb
</p>

<p>Use <a href="#list">-list resource</a> to list the current limits. For example, our system shows these limits:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -list resource</span><span class='crtout'><pre>File       Area     Memory        Map       Disk  Thread       Time
-------------------------------------------------------------------
 768   3.8187gb    2.864gb   7.6375gb       16eb       2  unlimited</pre>
</span></p>
<p>Requests for pixel storage to keep intermediate images are satisfied by one of three resource categories: in-memory pool, memory-mapped files pool, and disk pool (in that order) depending on the <a href="../www/command-line-options.html#limit">&#x2011;limit</a> settings and whether the system honors a resource request. If the total size of allocated pixel storage in the given pool reaches the corresponding limit, the request is passed to the next pool. Additionally, requests that exceed the  <kbd>area</kbd> limit automagically are allocated on disk.</p>

<p>To illustrate how ImageMagick utilizes resource limits, consider a typical image resource request.  First, ImageMagick tries to allocate the pixels in memory.  The request might be denied if the resource request exceeds the <kbd>memory</kbd> limit or if the system does not honor the request.  If a memory request is not honored, the pixels are allocated to disk and the file is memory-mapped. However, if the allocation request exceeds the <kbd>map</kbd> limit, the resource allocation goes to disk. In all cases, if the resource request exceeds the <kbd>area</kbd> limit, the pixels are automagically cached to disk. If the disk has a hard limit, the program fails.</p>

<p>In most cases you simply do not need to concern yourself with resource limits.  ImageMagick chooses reasonable defaults and most images do not tax your computer resources.  Where limits do come in handy is when you process images that are large or on shared systems where ImageMagick can consume all or most of the available memory. In this case, the ImageMagick workflow slows other processes or, in extreme cases, brings the system to a halt.  Under these circumstances, setting limits give some assurances that the ImageMagick workflow will not interfere with other concurrent uses of the computer.  For example, assume you have a web interface that processes images uploaded from the Internet.  To assure ImageMagick does not exceed 10mb of memory you can simply set the area limit to 10mb:</p>

<p class="crtsnip">
-limit area 10mb
</p>

<p>Now whenever a large image is processed, the pixels are automagically cached to disk instead of memory.  This of course implies that large images typically process very slowly, simply because pixel processing in memory can be an order of magnitude faster than on disk.  Because your web site users might inadvertedly upload a huge image to process, you should set a disk limit as well:</p>

<p class="crtsnip">
-limit area 10mb -limit disk 500mb
</p>

<p>Here ImageMagick stops processing if an image requires more than 500MB of disk storage.</p>

<p>In addition to command-line resource limit option, resources can be set with <a href="../www/resources.html#environment">environment variables</a>. Set the environment variables <kbd>MAGICK_AREA_LIMIT</kbd>, <kbd>MAGICK_DISK_LIMIT</kbd>, <kbd>MAGICK_FILE_LIMIT</kbd>, <kbd>MAGICK_MEMORY_LIMIT</kbd>, <kbd>MAGICK_MAP_LIMIT</kbd>, <kbd>MAGICK_THREAD_LIMIT</kbd>, <kbd>MAGICK_TIME_LIMIT</kbd> for limits of  image area, disk space, open files, heap memory, memory map, number of threads of execution, and maximum elapsed time in seconds respectively.</p>

<p> Inquisitive users can try adding <a href="#debug">-debug cache</a> to their commands and then scouring the generated output for references to the pixel cache, in order to determine how the pixel cache was allocated and how resources were consumed. Advanced Unix/Linux users can pipe that output through <kbd>grep memory|open|destroy|disk</kbd> for more readable sifting.
</p>

<p>For more about ImageMagick's use of resources, see the section <b>Cache Storage and Resource Requirements</b> on the <a href="../www/architecture.html#cache">Architecture</a> page.
</p>

<div style="margin: auto;">
  <h4><a name="linear-stretch" id="linear-stretch"></a>-linear-stretch <em class="arg">black-point</em><br />-linear-stretch <em class="arg">black-point</em>{x<em class="arg">white-point</em>}{<em class="arg">%</em>}}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Linear with saturation stretch.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="linewidth" id="linewidth"></a>-linewidth</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the line width for subsequent draw operations.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="liquid-rescale" id="liquid-rescale"></a>-liquid-rescale <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>rescale image with seam-carving.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="list" id="list"></a>-list <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Print a list of supported arguments for various options or settings.  Choose from these list types:</td><td style='text-align:right;'></td></tr></table>

<pre class="text">
  coder
  color
  configure
  delegate
  font
  format
  list
  log
  magic
  module
  resource
  threshold
</pre>

<p>The above lists are only some of the many lists available. These lists vary depending on your version of ImageMagick. For example use "<kbd>-list list</kbd>" to get a complete listing of all the "<kbd>-list</kbd>" arguments available:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -list list</span></p>
<div style="margin: auto;">
  <h4><a name="log" id="log"></a>-log <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify format for debug log.</td><td style='text-align:right;'></td></tr></table>

<p>This option specifies the format for the log printed when the <a href="#debug">-debug</a> option is active.</p>

<p>You can display the following components by embedding special format characters:</p>

<pre class="text">
   %d   domain
   %e   event
   %f   function
   %l   line
   %m   module
   %p   process ID
   %r   real CPU time
   %t   wall clock time
   %u   user CPU time
   %%   percent sign
   \n   newline
   \r   carriage return
</pre>

<p>For example:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -debug coders -log "%u %m:%l %e" in.gif out.png</span></p>
<p>The default behavior is to print all of the components.</p>

<div style="margin: auto;">
  <h4><a name="loop" id="loop"></a>-loop <em class="arg">iterations</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>add Netscape loop extension to your GIF animation.</td><td style='text-align:right;'></td></tr></table>

<p>Set iterations to zero to repeat the animation an infinite number of times, otherwise the animation repeats itself up to <em class="arg">iterations</em> times.</p>

<div style="margin: auto;">
  <h4><a name="lowlight-color" id="lowlight-color"></a>-lowlight-color <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>when comparing images, de-emphasize pixel differences with this color.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="magnify" id="magnify"></a>-magnify <em class="arg">factor</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>magnify the image.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="map" id="map"></a>-map <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Display image using this <em class="arg">type</em>.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>

<p>Choose from these <em class="arg">Standard Colormap</em> types:</p>

<pre class="text">
  best
  default
  gray
  red
  green
  blue
</pre>

<p>The <em class="arg">X server</em> must support the <em class="arg">Standard Colormap</em> you choose, otherwise an error occurs.  Use <kbd>list</kbd> as the type and <kbd>display</kbd> searches the list of colormap types in <kbd>top-to-bottom</kbd> order until one is located. See <em class="arg">xstdcmap(1)</em> for one way of creating Standard Colormaps.</p>


<div style="margin: auto;">
  <h4><a name="map_stream_" id="map_stream_"></a>-map <em class="arg">components</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>pixel map.</td><td style='text-align:right;'>[<a href="../www/stream.html">stream</a>]</td></tr></table>

<p>Here are the valid components of a map:</p>

<pre class="text">
  r        red pixel component
  g        green pixel component
  b        blue pixel component
  a        alpha pixel component (0 is transparent)
  o        opacity pixel component (0 is opaque)
  i        grayscale intensity pixel component
  c        cyan pixel component
  m        magenta pixel component
  y        yellow pixel component
  k        black pixel component
  p        pad component (always 0)
</pre>

<p>You can specify as many of these components as needed in any order (e.g. bgr).  The components can repeat as well (e.g. rgbr).</p>

<div style="margin: auto;">
  <h4><a name="mask" id="mask"></a>-mask
<em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Composite the image pixels as defined by the mask.</td><td style='text-align:right;'></td></tr></table>

<p>Use <a href="#mask">+mask</a> to remove the image mask.</p>

<div style="margin: auto;">
  <h4><a name="mattecolor" id="mattecolor"></a>-mattecolor <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify the color to be used with the <a href="#frame">-frame</a> option.</td><td style='text-align:right;'></td></tr></table>

<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>

<p>The default matte color is <kbd>#BDBDBD</kbd>, <span style="background-color: #bdbdbd;">this shade of gray</span>.</p>

<div style="margin: auto;">
  <h4><a name="median" id="median"></a>-median <em class="arg">radius</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>apply a median filter to the image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="metric" id="metric"></a>-metric <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Output to STDERR a measure of the differences between images according to the <em class="arg">type</em> given metric.</td><td style='text-align:right;'></td></tr></table>

<p>Choose from:</p>

<pre class="text">
 AE    absolute number of differnet pixels
 MAE   mean absolute error (normalized), average channel error distance
 MEPP  mean error per pixel (normalized mean error, normalized peak error)
 MSE   mean error squared, average of the channel error squared
 PAE   peak absolute (normalize peak absolute)
 PSNR  peak signal to noise ratio
 RMSE  root mean squared (normalized root mean squared)
</pre>

<p>The '<kbd>AE</kbd>' or absolute count of pixels that are different, can be
controled using a <a href="#fuzz" >-fuzz</a> factor to ignore pixels which
only changed by a small amount.  The '<kbd>PAE</kbd>' can be used to find the
size of the <a href="#fuzz" >-fuzz</a> factor needed to make all pixels
'similar'. </p>

<p>The '<kbd>MEPP</kbd>' metric returns three different metrics
('<kbd>MAE</kbd>', '<kbd>MAE</kbd>' normalized, and '<kbd>PAE</kbd>'
normalized) from the single comparision run. </p>

<p>To print a complete list of metrics, use the <a href="#list">-list metrics</a> option.</p>


<div style="margin: auto;">
  <h4><a name="mode" id="mode"></a>-mode <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mode of operation.</td><td style='text-align:right;'>[<a href="../www/montage.html">montage</a>]</td></tr></table>

<p>Choose the <em class="arg">value</em> from these styles: <kbd>Frame, Unframe, or Concatenate</kbd></p>

<p>Use the <a href="#list" >-list</a> option with a '<kbd>Mode</kbd>'
argument for a list of <a href="#mode" >-mode</a> arguments available
in your ImageMagick installation.</p>


<div style="margin: auto;">
  <h4><a name="modulate" id="modulate"></a>-modulate <em class="arg">brightness</em>[,<em class="arg">saturation</em>,<em class="arg">hue</em>]</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Vary the <em class="arg">brightness</em>, <em class="arg">saturation</em>, and <em class="arg">hue</em> of an image.</td><td style='text-align:right;'></td></tr></table>

<p>The arguments are given as a percentages of variation. A value of 100 means no change, and any
missing values are taken to mean 100.</p>

<p>The <em class="arg">brightness</em> is a multiplier of the overall brightness of the image, so 0
means pure black, 50 is half as bright, 200 is twice as bright. To invert its
meaning <a href="#negate">-negate</a> the image before and after. </p>

<p>The <em class="arg">saturation</em> controls the amount of color in an image. For example, 0 produce a grayscale image, while a large value such as 200 produce a very colorful, 'cartoonish' color.</p>

<p>The <em class="arg">hue</em> argument causes a "rotation" of the colors within the image by the amount specified. For example, 50 results in a counter-clockwise rotation of 90, mapping red
shades to purple, and so on. A value of either 0 or 200 results in a complete
180 degree rotation of the image. Using a value of 300 is a 360 degree
rotation resulting in no change to the original image. </p>

<p>For example, to increase the color brightness by 20% and decrease the color saturation by 10% and leave the hue unchanged, use <a href="#modulate">-modulate 120,90</a>.</p>

<p>Use <a href="#set">-set</a> attribute of '<kbd class="arg">option:modulate:colorspace</kbd>' to specify which colorspace to modulate.  Choose from <kbd>HSB</kbd>, <kbd>HSL</kbd> (the default), or <kbd>HWB</kbd>.  For example,</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -set option:modulate:colorspace hsb -modulate 120,90 modulate.png</span></p>
<div style="margin: auto;">
  <h4><a name="monitor" id="monitor"></a>-monitor</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>monitor progress.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="monochrome" id="monochrome"></a>-monochrome</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>transform the image to black and white.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="morph" id="morph"></a>-morph <em class="arg">frames</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>morphs an image sequence.</td><td style='text-align:right;'></td></tr></table>

<p>Both the image pixels and size are linearly interpolated to give the
appearance of a meta-morphosis from one image to the next, over all the images
in the current image list. The added images are the equivalent of a <a
href="#blend">-blend</a> composition. The <em class="arg">frames</em>
argument determine how many images to interpolate between each image. </p>


<div style="margin: auto;">
  <h4><a name="mosaic" id="mosaic"></a>-mosaic</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>an simple alias for the <a href="#layers" >-layers</a> method "mosaic"</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="motion-blur" id="motion-blur"></a>-motion-blur <em class="arg">radius</em><br />-motion-blur <em class="arg">radius</em>x<em class="arg">sigma</em>+<em class="arg">angle</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate motion blur.</td><td style='text-align:right;'></td></tr></table>

<p>Blur with the given radius, standard deviation (sigma), and angle.   The
angle given is the angle toward which the image is blurred.  That is the
direction people would consider the object is coming from. </p>

<p>Note that the blur is not uniform distribution, giving the motion a
definate sense of direction of movement. </p>

<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
pixels which are outside the image proper are blurred into the final result.
</p>

<div style="margin: auto;">
  <h4><a name="name" id="name"></a>-name</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>name an image.</td><td style='text-align:right;'></td></tr></table>
<div style="margin: auto;">
  <h4><a name="negate" id="negate"></a>-negate</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>replace every pixel with its complementary color.</td><td style='text-align:right;'></td></tr></table>

<p>The red, green, and blue intensities of an image are negated. White becomes black, yellow becomes blue, etc.  Use <a href="#negate">+negate</a> to only negate the grayscale pixels of the image.</p>

<div style="margin: auto;">
  <h4><a name="noise" id="noise"></a>-noise <em class="arg">radius</em><br/>
  +noise <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Add or reduce noise in an image.</td><td style='text-align:right;'></td></tr></table>

<p>The principal function of noise peak elimination filter is to smooth the objects within an image without losing edge information and without creating undesired structures.  The central idea of the algorithm is to replace a pixel with its next neighbor in value within a pixel window, if this pixel has been found to be noise. A pixel is defined as noise if and only if this pixel is a maximum or minimum within the pixel window.</p>

<p>Use <kbd><a href="#noise">-noise</a> <em class="arg">radius</em></kbd> to specify the width of the neighborhood when reducing noise.</p>

<p>Use <a href="#noise">+noise</a> followed by a noise <em class="arg">type</em> to add noise to an image. Choose from these noise types:</p>

<pre class="text">
Gaussian
Impulse
Laplacian
Multiplicative
Poisson
Random
Uniform
</pre>

<p>To print a complete list of noises, use the <a href="#list">-list noise</a> option.</p>


<div style="margin: auto;">
  <h4><a name="normalize" id="normalize"></a>-normalize</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Increase the contrast in an image by <em>stretching</em> the range of intensity values.</td><td style='text-align:right;'></td></tr></table>

<p>The intensity values are stretched to cover the entire range of possible values. While doing so, black-out at most <em>2%</em> of the pixels and white-out at most <em>1%</em> of the pixels.</p>

<p>Note that as of ImageMagick 6.4.7-0, <a href="#normalize" >-normalize</a> is equivalent to <a href="#contrast-stretch" >-contrast-stretch 2%x1%</a>. (Before this
version, it was equivalent to <a href="#contrast-stretch">-contrast-stretch 2%x99%)</a></p>

<p>All the channels are normalized in concert by the came amount so as to preserve color integrity.  Specify <a href="#channel">-channel</a> to normalize the RGB channels independently.</p>


<div style="margin: auto;">
  <h4><a name="ordered-dither" id="ordered-dither"></a>-ordered-dither <em class="arg">threshold_map</em>{,<em class="arg">level</em>...}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>dither the image using a pre-defined  ordered dither <em class="arg">threshold map</em> specified, and a uniform color map with the number of <em class="arg">levels</em> per color channel .  </td><td style='text-align:right;'></td></tr></table>

<p>You can choose from these standard threshold maps:</p>

<pre class="text">
  checks
  o2x2
  o3x3
  o4x4
  o8x8
  h4x4a
  h6x6a
  h8x8a
  h4x4o
  h6x6o
  h8x8o
  h16x16o
</pre>

<p>The '<kbd>o</kbd>' are ordered diffused pixel threshold maps, while the
'<kbd>h</kbd>' maps are halftone threshold maps which are either 'a' angled,
or 'o' orthogonal. The '<kbd>checks</kbd>' produce a 3 level checkerbord
dither pattern.  Or you can define your own <em class="arg">threshold
map</em> in a personal or system "<kbd>thresholds.xml</kbd>" XML file. </p>

<p>To print a complete list of threshold, use the <a href="#list">-list threshold</a> option.</p>

<p>It is recommended that the <a href="#map">+map</a> operator be used after
applying <a href="#ordered-dither">-ordered-dither</a> to reduce the number of
colors an animated image sequence, to less that 256 colors. This ensures that
a common or global color table is used when saving the result to a color
limited file format such as GIF.  </p>

<p>Note that at this time the exact same map is used for all color channels, no
attempt is made to offset or rotate the dither map for different channels is
made, at this point in time. (possible future expansion) </p>


<div style="margin: auto;">
  <h4><a name="opaque" id="opaque"></a>-opaque <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>change this color to the fill color within the image.</td><td style='text-align:right;'></td></tr></table>

<p>The <em class="arg">color</em> argument is defined using the format
described under the <a href="#fill">-fill</a> option.
The <a href="#fuzz">-fuzz</a> setting can be used to match and replace colors similar
to the one given.</p>

<p>The <a href="#transparent">-transparent</a>  operator is exactly the same
as <a href="#opaque">-opaque</a> but makes the matching color transparent,
rather than the same as the current <a href="#fill">-fill</a> color. </p>

<p>Use <em class="arg">+opaque</em> to paint any pixel that does not match the target color.</p>

<div style="margin: auto;">
  <h4><a name="orient" id="orient"></a>-orient <em class="arg">image orientation</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify orientation of a digital camera image.</td><td style='text-align:right;'></td></tr></table>

<p>Choose from these orientations:</p>

<pre class="text">
  bottom-left
  bottom-right
  left-bottom
  left-top
  right-bottom
  right-top
  top-left
  top-right
  undefined
</pre>

<p>To print a complete list of orientations, use the <a href="#list">-list orientation</a> option.</p>


<div style="margin: auto;">
  <h4><a name="page" id="page"></a>-page <em class="arg">geometry</em><br/>
  -page <em class="arg">media</em>[<em class="arg">offset</em>][{<em class="arg">^!&lt;&gt;</em>}]<br/>
  +page
  </h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the size and location of an image on the larger virtual canvas.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<p>For convenience you can specify the page size using <em class="arg">media</em> (see below). Offsets can then be added as with other <em class="arg">geometry</em> arguments (e.g. <a href="#page">-page</a>&nbsp;<kbd>Letter+43+43</kbd>).</p>

<p>Use <em class="arg">media</em> as shorthand to specify the dimensions (<em class="arg">width</em>x<em class="arg">height</em>) of the <em class="arg">PostScript</em> page in dots per inch or a TEXT page in pixels. The choices for a PostScript page are:</p>
<table id="geometryTable" cellpadding="2" cellspacing="0" border="1" width="50%" style="margin-left: auto; margin-right: auto;">
<thead>
        <tr valign="top">
    <th align="center"><em class="arg">media</em></th>
    <th align="center"><em class="arg">width</em></th>
    <th align="center"><em class="arg">height</em></th>
        </tr>
</thead>
<tbody>
<tr><td align="left"> 11x17      </td> <td align="right">  792</td> <td align="right"> 1224</td> </tr>
<tr><td align="left"> Ledger     </td> <td align="right"> 1224</td> <td align="right">  792</td> </tr>
<tr><td align="left"> Legal      </td> <td align="right">  612</td> <td align="right"> 1008</td> </tr>
<tr><td align="left"> Letter     </td> <td align="right">  612</td> <td align="right">  792</td> </tr>
<tr><td align="left"> LetterSmall</td> <td align="right">  612</td> <td align="right">  792</td> </tr>
<tr><td align="left"> ArchE      </td> <td align="right"> 2592</td> <td align="right"> 3456</td> </tr>
<tr><td align="left"> ArchD      </td> <td align="right"> 1728</td> <td align="right"> 2592</td> </tr>
<tr><td align="left"> ArchC      </td> <td align="right"> 1296</td> <td align="right"> 1728</td> </tr>
<tr><td align="left"> ArchB      </td> <td align="right">  864</td> <td align="right"> 1296</td> </tr>
<tr><td align="left"> ArchA      </td> <td align="right">  648</td> <td align="right">  864</td> </tr>
<tr><td align="left"> A0         </td> <td align="right"> 2380</td> <td align="right"> 3368</td> </tr>
<tr><td align="left"> A1         </td> <td align="right"> 1684</td> <td align="right"> 2380</td> </tr>
<tr><td align="left"> A2         </td> <td align="right"> 1190</td> <td align="right"> 1684</td> </tr>
<tr><td align="left"> A3         </td> <td align="right">  842</td> <td align="right"> 1190</td> </tr>
<tr><td align="left"> A4         </td> <td align="right">  595</td> <td align="right">  842</td> </tr>
<tr><td align="left"> A4Small    </td> <td align="right">  595</td> <td align="right">  842</td> </tr>
<tr><td align="left"> A5         </td> <td align="right">  421</td> <td align="right">  595</td> </tr>
<tr><td align="left"> A6         </td> <td align="right">  297</td> <td align="right">  421</td> </tr>
<tr><td align="left"> A7         </td> <td align="right">  210</td> <td align="right">  297</td> </tr>
<tr><td align="left"> A8         </td> <td align="right">  148</td> <td align="right">  210</td> </tr>
<tr><td align="left"> A9         </td> <td align="right">  105</td> <td align="right">  148</td> </tr>
<tr><td align="left"> A10        </td> <td align="right">   74</td> <td align="right">  105</td> </tr>
<tr><td align="left"> B0         </td> <td align="right"> 2836</td> <td align="right"> 4008</td> </tr>
<tr><td align="left"> B1         </td> <td align="right"> 2004</td> <td align="right"> 2836</td> </tr>
<tr><td align="left"> B2         </td> <td align="right"> 1418</td> <td align="right"> 2004</td> </tr>
<tr><td align="left"> B3         </td> <td align="right"> 1002</td> <td align="right"> 1418</td> </tr>
<tr><td align="left"> B4         </td> <td align="right">  709</td> <td align="right"> 1002</td> </tr>
<tr><td align="left"> B5         </td> <td align="right">  501</td> <td align="right">  709</td> </tr>
<tr><td align="left"> C0         </td> <td align="right"> 2600</td> <td align="right"> 3677</td> </tr>
<tr><td align="left"> C1         </td> <td align="right"> 1837</td> <td align="right"> 2600</td> </tr>
<tr><td align="left"> C2         </td> <td align="right"> 1298</td> <td align="right"> 1837</td> </tr>
<tr><td align="left"> C3         </td> <td align="right">  918</td> <td align="right"> 1298</td> </tr>
<tr><td align="left"> C4         </td> <td align="right">  649</td> <td align="right">  918</td> </tr>
<tr><td align="left"> C5         </td> <td align="right">  459</td> <td align="right">  649</td> </tr>
<tr><td align="left"> C6         </td> <td align="right">  323</td> <td align="right">  459</td> </tr>
<tr><td align="left"> Flsa       </td> <td align="right">  612</td> <td align="right">  936</td> </tr>
<tr><td align="left"> Flse       </td> <td align="right">  612</td> <td align="right">  936</td> </tr>
<tr><td align="left"> HalfLetter </td> <td align="right">  396</td> <td align="right">  612</td> </tr>
</tbody>
</table>




<p>This option is also used to place subimages when writing to a multi-image format that supports offsets, such as GIF89 and MNG. When used for this purpose the offsets are always measured from the top left corner of the canvas and are not affected by the <a href="#gravity">-gravity</a> option. To position a GIF or MNG image, use <a href="#page">-page</a><em class="arg">{+-}x{+-}y</em> (e.g.  -page +100+200). When writing to a MNG file, a <a href="#page">-page</a> option appearing ahead of the first image in the sequence with nonzero width and height defines the width and height values that are written in the <kbd>MHDR</kbd> chunk.  Otherwise, the MNG width and height are computed from the bounding box that contains all images in the sequence. When writing a GIF89 file, only the bounding box method is used to determine its dimensions.</p>

<p>For a PostScript page, the image is sized as in <a href="#geometry">-geometry</a> but positioned relative to the <em>lower left-hand corner</em> of the page by {+-}<kbd>x</kbd><em class="arg">offset</em>{+-}<kbd>y</kbd> <em class="arg">offset</em>. Use <a href="#page">-page 612x792</a>, for example, to center the image within the page. If the image size exceeds the PostScript page, it is reduced to fit the page. The default gravity for the <a href="#page">-page</a> option is <em class="arg">NorthWest</em>, i.e., positive <kbd>x</kbd> and <kbd>y</kbd> <em class="arg">offset</em> are measured rightward and downward from the top left corner of the page, unless the <a href="#gravity">-gravity</a> option is present with a value other than <em class="arg">NorthWest</em>.</p>

<p>The default page dimensions for a TEXT image is 612x792.</p>

<p>This option is used in concert with <a href="#density">-density</a>.</p>

<p>Use <a href="#page">+page</a> to remove the page settings for an image.</p>

<div style="margin: auto;">
  <h4><a name="paint" id="paint"></a>-paint <em class="arg">radius</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate an oil painting.</td><td style='text-align:right;'></td></tr></table>

<p>Each pixel is replaced by the most frequent color in a circular neighborhood whose width is specified with <em class="arg">radius</em>.</p>

<div style="margin: auto;">
  <h4><a name="path" id="path"></a>-path <em class="arg">path</em></h4></div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>write images to this path on disk.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="pause_animate_" id="pause_animate_"></a>-pause <em class="arg">seconds</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Pause between animation loops.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>]</td></tr></table>

<p>Pause for the specified number of seconds before repeating the animation.</p>

<div style="margin: auto;">
  <h4><a name="pause_import_" id="pause_import_"></a>-pause <em class="arg">seconds</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Pause between snapshots.</td><td style='text-align:right;'>[<a href="../www/import.html">import</a>]</td></tr></table>

<p>Pause for the specified number of seconds before taking the next snapshot.</p>

<div style="margin: auto;">
  <h4><a name="ping" id="ping"></a>-ping</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>efficiently determine image characteristics.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="pointsize" id="pointsize"></a>-pointsize <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>pointsize of the PostScript, OPTION1, or TrueType font.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="polaroid" id="polaroid"></a>-polaroid <em class="arg">angle</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a Polaroid picture.</td><td style='text-align:right;'></td></tr></table>

<p>Use <kbd>+polaroid</kbd> to rotate the image at a random angle between -15 and +15 degrees.</p>

<div style="margin: auto;">
  <h4><a name="posterize" id="posterize"></a>-posterize <em class="arg">levels</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>reduce the image to a limited number of color levels.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="preview" id="preview"></a>-preview <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>image preview type.</td><td style='text-align:right;'></td></tr></table>

<p>Use this option to affect the preview operation of an image (e.g. <kbd>convert file.png -preview Gamma Preview:gamma.png</kbd>). Choose from these previews:</p>

<pre class="text">
  Rotate
  Shear
  Roll
  Hue
  Saturation
  Brightness
  Gamma
  Spiff
  Dull
  Grayscale
  Quantize
  Despeckle
  ReduceNoise
  Add Noise
  Sharpen
  Blur
  Threshold
  EdgeDetect
  Spread
  Shade
  Raise
  Segment
  Solarize
  Swirl
  Implode
  Wave
  OilPaint
  CharcoalDrawing
  JPEG
</pre>

<p>To print a complete list of previews, use the <a href="#list">-list preview</a> option.</p>

<p>The default preview is <kbd>JPEG</kbd>.</p>

<div style="margin: auto;">
  <h4><a name="print" id="print"></a>-print <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>interpret string and print to console.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="process" id="process"></a>-process <em class="arg">command</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>process the image with a custom image filter.</td><td style='text-align:right;'></td></tr></table>

<p>The command arguments has the form <kbd>"module arg1 arg2 arg3 ... argN"</kbd> where <kbd>module</kbd> is the name of the module to invoke (e.g.  "Analyze") and arg1 arg2 arg3 ... argN are an arbitrary number of arguments to pass to the process module.</p>

<div style="margin: auto;">
  <h4><a name="profile" id="profile"></a>-profile <em class="arg">filename</em><br/>
  +profile <em class="arg">profile_name</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Manage ICM, IPTC, or generic profiles in an image.</td><td style='text-align:right;'></td></tr></table>

<p>Using <a href="#profile">-profile</a> <em class="arg">filename</em> adds an ICM (ICC color management), IPTC (newswire information), or a generic profile to the image.</p>

<p>Use <a href="#profile">+profile <em class="arg">profile_name</em></a> to remove the indicated profile. ImageMagick uses standard filename globbing, so wildcard expressions may be used to remove more than one profile.  Here we remove all profiles from the image except for the XMP profile:  <kbd>+profile "!xmp,*"</kbd>. </p>

<p>Use <kbd>identify -verbose</kbd> to find out which profiles are in the image file. Use <a href="#strip">-strip</a> to remove all profiles (and comments).</p>

<p>To extract a profile, the <a href="#profile">-profile</a> option is not used. Instead, simply write the file to an image format such as <em class="arg">APP1, 8BImageMagick, ICM,</em> or <em class="arg">IPTC</em>.</p>

<p>For example, to extract the Exif data (which is stored in JPEG files in the <em class="arg">APP1</em> profile), use.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert cockatoo.jpg profile.exif</span></p>
<p>It is important to note that results may depend on whether or not the original image already has an included profile. Also, keep in mind that <a href="#profile">-profile</a> is an "operator" (as opposed to a "setting") and therefore a conversion is made each time it is encountered, in order, in the command-line. For instance, in the following example, if the original image is CMYK with profile, a CMYK-CMYK-RGB conversion results.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert CMYK.tif -profile "CMYK.icc" -profile "RGB.icc" RGB.tiff</span></p>
<p>Furthermore, since ICC profiles are not necessarily symmetric, extra conversion steps can yield unwanted results.
CMYK profiles are often very asymmetric since they involve 3&minus;&gt;4 and 4&minus;&gt;3 channel mapping.
</p>

<div style="margin: auto;">
  <h4><a name="quality" id="quality"></a>-quality <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>JPEG/MIFF/PNG compression level.</td><td style='text-align:right;'></td></tr></table>

<p>For the JPEG and MPEG image formats, quality is 0 (lowest image quality and highest compression) to 100 (best quality but least effective compression). The default is to use the estimate quality of your input image otherwise 85. Use the <a href="#sampling-factor">-sampling-factor</a> option to specify the factors for chroma downsampling.</p>

<p>For the MIFF image format, quality/10 is the zlib compression level, which is 0 (worst but fastest compression) to 9 (best but slowest). It has no effect on the image appearance, since the compression is always lossless.</p>

<p>For the JPEG-2000 image format, quality is mapped using a non-linear equation to the compression ratio required by the Jasper library. This non-linear equation is intended to loosely approximate the quality provided by the JPEG v1 format. The default quality value 85 results in a request for 16:1 compression. The quality value 100 results in a request for non-lossy compression.</p>

<p>For the MNG and PNG image formats, the quality value sets the zlib compression level (quality / 10) and filter-type (quality % 10). Compression levels range from 0 (fastest compression) to 100 (best but slowest). For compression level 0, the Huffman-only strategy is used, which is fastest but not necessarily the worst compression.</p>

<p>If filter-type is 4 or less, the specified filter-type is used for all scanlines:</p>

<pre class="text">
  0: none
  1: sub
  2: up
  3: average
  4: Paeth
</pre>

<p>If filter-type is 5, adaptive filtering is used when quality is greater than 50 and the image does not have a color map, otherwise no filtering is used.</p>

<p>If filter-type is 6, adaptive filtering with <em class="arg">minimum-sum-of-absolute-values</em> is used.</p>

<p>Only if the output is MNG, if filter-type is 7, the LOCO color transformation and adaptive filtering with <em class="arg">minimum-sum-of-absolute-values</em> are used.</p>

<p>The default is quality is 85, which means nearly the best compression with adaptive filtering. The quality setting has no effect on the appearance of PNG and MNG images, since the compression is always lossless.</p>

<p>For further information, see the <a href="http://www.w3.org/pub/WWW/TR">PNG</a> specification.</p>

<p>When writing a JNG image with transparency, two quality values are required, one for the main image and one for the grayscale image that conveys the alpha channel. These are written as a single integer equal to the main image quality plus 1000 times the opacity quality. For example, if you want to use quality 85 for the main image and quality 90 to compress the opacity data, use <a href="#quality">-quality 90085</a>.</p>

<div style="margin: auto;">
  <h4><a name="quantize" id="quantize"></a>-quantize <em class="arg">colorspace</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>reduce colors in this colorspace.</td><td style='text-align:right;'></td></tr></table>

<p>To print a complete list of colorspaces, use the <a href="#list">-list colorspace</a> option.</p>


<div style="margin: auto;">
  <h4><a name="quiet" id="quiet"></a>-quiet</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>suppress all warning messages. Error messages are still reported.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="radial-blur" id="radial-blur"></a>-radial-blur  <em class="arg">angle</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Blur around the center of the image.</td><td style='text-align:right;'></td></tr></table>

<p>Note that this is actually a rotational blur rather than a radial and as
such actually mis-named. </p>

<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
pixels which are outside the image proper are blurred into the final result.
</p>


<div style="margin: auto;">
  <h4><a name="raise" id="raise"></a>-raise <em class="arg">thickness</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Lighten or darken image edges.</td><td style='text-align:right;'></td></tr></table>

<p>This will create a 3-D effect. Use <a href="#raise">-raise</a> to create a raised effect, otherwise use <a href="#raise">+raise</a>.
</p>

<p>Unlike the similar <a href="#frame">-frame</a> option, <a href="#raise">-raise</a> does not alter the dimensions of the image.</p>

<div style="margin: auto;">
  <h4><a name="random-threshold" id="random-threshold"></a>-random-threshold <em class="arg">low</em>x<em class="arg">high</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a random threshold to the image.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="recolor" id="recolor"></a>-recolor <em class="arg">matrix</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Translate, scale, shear, or rotate image colors.</td><td style='text-align:right;'></td></tr></table>

<p>Although variable-sized matrices can be used, typically one uses a  5x5 matrix for an RGBA image and a 6x6 for CMYKA.  Populate the last row with normalized values to translate.
</p>

<div style="margin: auto;">
  <h4><a name="red-primary" id="red-primary"></a>-red-primary <em class="arg">x,y</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the red chromaticity primary point.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="regard-warnings" id="regard-warnings"></a>-regard-warnings</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Pay attention to warning messages.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="remap" id="remap"></a>-remap <em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Reduce the number of colors in an image to the colors used by this image.</td><td style='text-align:right;'></td></tr></table>

<p>If the <a href="#dither">-dither</a> setting is enabled (the default) then
the given colors are dithered over the image as necessary, otherwise the closest
color (in RGB colorspace) is selected to replace that pixel in the image. </p>

<p>As a side effect of applying a <a href="#remap">-remap</a> of colors across all
images in the current image sequence, all the images will have the same color
table.  That means that when saved to a file format such as GIF, it will use
that color table as a single common or global color table, for all the images,
without requiring extra local color tables. </p>

<p>Use <a href="#remap">+remap</a> to reduce all images in the current image
sequence to use a common color map over all the images. This equivalent to
appending all the images together (without extra background colors) and color
reducing those images using <a href="#colors">-colors</a> with a 256 color
limit, then <a href="#remap">-remap</a> those colors over the original list of
images. This ensures all the images follow a single color map. </p>

<p>If the number of colors over all the images is less than 256, then <a
href="#remap">+remap</a> should not perform any color reduction or dithering, as
no color changes are needed. In that case, its only effect is to force the use
of a global color table.  This recommended after using either <a
href="#colors">-colors</a> or <a href="#ordered-dither">-ordered-dither</a> to
reduce the number of colors in an animated image sequence. </p>

<div style="margin: auto;">
  <h4><a name="region" id="region"></a>-region <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a region in which subsequent operations apply.</td><td style='text-align:right;'></td></tr></table>

<p>The <em class="arg">x</em> and <em class="arg">y</em> offsets are treated in the same manner as in <a href="#crop">-crop</a>.</p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="remote" id="remote"></a>-remote</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>perform a remote operation.</td><td style='text-align:right;'></td></tr></table>

<p>The only command recognized is the name of an image file to load.</p>

<p>If you have more than one <a href="../www/display.html">display</a> application running simultaneously, use the <a href="#window"> window</a> option to specify which application to control.</p>

<div style="margin: auto;">
  <h4><a name="render" id="render"></a>-render</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>render vector operations.</td><td style='text-align:right;'></td></tr></table>

<p>Use <a href="#render">+render</a> to turn off rendering vector operations. This useful when saving the result to vector formats such as MVG or SVG.</p>

<div style="margin: auto;">
<h4><a name="repage" id="repage"></a>-repage <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Adjust the canvas and offset information of the image.</td><td style='text-align:right;'></td></tr></table>

<p>This option is like <a href="#page">-page</a> but acts as an image operator
rather than a setting.  You can separately set the canvas size or the offset
of the image on that canvas by only providing those components. </p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<p>If a <kbd>!</kbd> flag is given the offset given is added to the existing
offset to move the image relative to its previous position. This useful for
animation sequences. </p>

<p>A given a canvas size of zero such as '<kbd>0x0</kbd>' forces it to
recalculate the canvas size so the image (at its current offset) will appear
completely on that canvas (unless it has a negative offset).</p>

<p>Use <a href="#repage">+repage</a> to completely remove/reset the virtual
canvas meta-data from the images. </p>

<p>The <a href="#set">-set</a> '<kbd>page</kbd>' option can be used to
directly assign virtual canvas meta-data. </p>


<div style="margin: auto;">
  <h4><a name="resample" id="resample"></a>-resample <em class="arg">horizontal</em>x<em class="arg">vertical</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Resample image to specified horizontal and vertical resolution.</td><td style='text-align:right;'></td></tr></table>

<p>Resize the image so that its rendered size remains the same as the original at the specified target resolution. For example, if a 300 DPI image renders at 3 inches by 2 inches on a 300 DPI device, when the image has been resampled to 72 DPI, it will render at 3 inches by 2 inches on a 72 DPI device.  Note that only a small number of image formats (e.g. JPEG, PNG, and TIFF) are capable of storing the image resolution. For formats which do not support an image resolution, the original resolution of the image must be specified via <a href="#density">-density</a> on the command line prior to specifying the resample resolution.</p>

<p>Note that Photoshop stores and obtains image resolution from a proprietary embedded profile. If this profile exists in the image, then Photoshop will continue to treat the image using its former resolution, ignoring the image resolution specified in the standard file header.</p>

<div style="margin: auto;">
  <h4><a name="resize" id="resize"></a>-resize <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Resize an image.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets, if present in the geometry string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>

<p>If the <a href="#filter">-filter</a> option precedes the <a href="#resize">-resize</a> option, the image is resized with the specified filter.</p>

<div style="margin: auto;">
  <h4><a name="respect-parentheses" id="respect-parentheses"></a>-respect-parentheses</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>settings remain in effect until parenthesis boundary.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="reverse" id="reverse"></a>-reverse</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Reverse the order of images in the current image list.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="roll" id="roll"></a>-roll {<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>roll an image vertically or horizontally by the amount given.</td><td style='text-align:right;'></td></tr></table>

<p>A negative <em class="arg">x</em> offset rolls the image left-to-right. A negative <em class="arg">y</em> offset rolls the image top-to-bottom.</p>


<div style="margin: auto;">
  <h4><a name="rotate" id="rotate"></a>-rotate <em class="arg">degrees</em>{<em class="arg">&lt;</em>}{<em class="arg">&gt;</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply Paeth image rotation (using shear operations) to the image.</td><td style='text-align:right;'></td></tr></table>

<p>Use <kbd>&gt;</kbd> to rotate the image only if its width exceeds the height. <kbd>&lt;</kbd> rotates the image <em>only</em> if its width is less than the height. For example, if you specify <kbd>-rotate "-90&gt;"</kbd> and the image size is 480x640, the image is not rotated. However, if the image is 640x480, it is rotated by -90 degrees. If you use <kbd>&gt;</kbd> or <kbd>&lt;</kbd>, enclose it in quotation marks to prevent it from being misinterpreted as a file redirection.</p>

<p>Empty triangles in the corners, left over from rotating the image, are
filled with the <kbd>background</kbd> color. </p>

<p>See also the <a href="#distort">-distort</a> operator and specifically the
'<kbd>ScaleRotateTranslate</kbd>' distort method. </p>


<div style="margin: auto;">
  <h4><a name="sample" id="sample"></a>-sample <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>scale image using pixel sampling.</td><td style='text-align:right;'></td></tr></table>

<p><a href="#sample">-sample</a> ignores the current <a href="#resize">-resize</a> <a href="#filter">-filter</a> setting. The results are equivalent to using <a href="#resize">-resize</a> with a <a href="#filter">-filter</a> setting of <kbd>point</kbd>,  though <a href="#sample">-sample</a> is a lot faster. </p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets, if present in the geometry string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>


<div style="margin: auto;">
  <h4><a name="sampling-factor" id="sampling-factor"></a>-sampling-factor <em class="arg">horizontal-factor</em>x<em class="arg">vertical-factor</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>sampling factors used by JPEG or MPEG-2 encoder and YUV decoder/encoder.</td><td style='text-align:right;'></td></tr></table>

<p>This option specifies the sampling factors to be used by the JPEG encoder for chroma downsampling. If this option is omitted, the JPEG library will use its own default values. When reading or writing the YUV format and when writing the M2V (MPEG-2) format, use <a href="#sampling-factor">-sampling-factor 2x1</a> or <a href="#sampling-factor">-sampling-factor 4:2:2</a> to specify the 4:2:2 downsampling method.</p>

<div style="margin: auto;">
  <h4><a name="scale" id="scale"></a>-scale <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>scale the image.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <a href="#scale">-scale</a> option uses a simpler, faster algorithm than <a href="#resize">-resize</a>, and it ignores the <a href="#filter">-filter</a> setting if one is present. Offsets, if present in the <em class="arg">geometry</em> string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>

<div style="margin: auto;">
  <h4><a name="scene" id="scene"></a>-scene <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set scene number.</td><td style='text-align:right;'></td></tr></table>

<p>This option sets the scene number of an image or the first image in an image sequence.</p>

<div style="margin: auto;">
  <h4><a name="screen" id="screen"></a>-screen</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the screen to capture.</td><td style='text-align:right;'></td></tr></table>

<p>This option indicates that the GetImage request used to obtain the image should be done on the root window, rather than directly on the specified window. In this way, you can obtain pieces of other windows that overlap the specified window, and more importantly, you can capture menus or other popups that are independent windows but appear over the specified window.</p>

<div style="margin: auto;">
  <h4><a name="seed" id="seed"></a>-seed</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>seed a new sequence of pseudo-random numbers</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="segment" id="segment"></a>-segment <em class="arg">cluster-threshold</em>x<em class="arg">smoothing-threshold</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>segment the colors of an image.</td><td style='text-align:right;'></td></tr></table>

<p>Segment an image by analyzing the histograms of the color components and identifying units that are homogeneous with the fuzzy c-means technique. This is part of the ImageMagick color quantization routines. </p>

<p>Specify <em class="arg">cluster threshold</em> as the number of pixels in each cluster that must exceed the cluster threshold to be considered valid. <em class="arg">Smoothing threshold</em> eliminates noise in the second derivative of the histogram. As the value is increased, you can expect a smoother second derivative.  The default is 1.5.</p>

<p>If the <a href="#verbose">-verbose</a> setting is defined, a detailed report
of the color clusters is returned.</p>


<div style="margin: auto;">
  <h4><a name="selective-blur" id="selective-blur"></a>-selective-blur <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Selectively blur pixels within a contrast threshold.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="separate" id="separate"></a>-separate</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>separate an image channel into a grayscale image.  Specify the channel with <a href="#channel">-channel</a>.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="sepia-tone" id="sepia-tone"></a>-sepia-tone <em class="arg">threshold</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a sepia-toned photo.</td><td style='text-align:right;'></td></tr></table>

<p>Specify <em class="arg">threshold</em> as the percent threshold of the intensity (0 - 99.9%).</p>

<p>This option applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning.  Threshold ranges from 0 to <em class="QR">QuantumRange</em> and is a measure of the extent of the sepia toning.  A threshold of 80% is a good starting point for a reasonable tone.</p>

<div style="margin: auto;">
  <h4><a name="set" id="set"></a>-set <em class="arg">attribute value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set an image attribute for all images in the current image sequence, after they have been created or read in. </td><td style='text-align:right;'></td></tr></table>

<p>Attributes of interest include <a href="#comment">-comment</a>, <a href="#delay">-delay</a>, <a href="#dispose">-dispose</a>, and <a href="#page">-page</a>.  For example:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose: -set comment 'Rose is a rose is a rose is a rose' rose.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -format %c rose.png</span><span class='crtout'>Rose is a rose is a rose is a rose</span></p>
<p>The <a href="#repage">-repage</a> operator will also set the
'<kbd>page</kbd>' attribute of images already in memory, but allows you to
separately set the virtual canvas's size and offset components, and also allows
relative offset changes, and automatic canvas size re-calculating.  The above
<a href="#set">-set</a> option is purely a direct, unmodified assignment of the
virtual canvas (page) meta-data. </p>

<p>Set image options by prefixing the value with <kbd>option:</kbd>.  Set attributes of the image registry by prefixing the value with <kbd>registry:</kbd>.</p>

<div style="margin: auto;">
  <h4><a name="shade" id="shade"></a>-shade <em class="arg">azimuth</em>x<em class="arg">elevation</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>shade the image using a distant light source.</td><td style='text-align:right;'></td></tr></table>

<p>Specify <em class="arg">azimuth</em> and <em class="arg">elevation</em> as the position of the light source. Use <a href="#shade">+shade</a> to return the shading results as a grayscale image.</p>

<div style="margin: auto;">
  <h4><a name="shadow" id="shadow"></a>-shadow <em class="arg">percent-opacity</em>{x<em class="arg">sigma</em>}{<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em>{<em class="arg">%</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate an image shadow.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="shared-memory"
id="shared-memory"></a>-shared-memory</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>use shared memory.</td><td style='text-align:right;'></td></tr></table>

<p>This option specifies whether the utility should attempt to use shared memory for pixmaps. ImageMagick must be compiled with shared memory support, and the display must support the <em class="arg">MIT-SHM</em> extension. Otherwise, this option is ignored. The default is <kbd>True</kbd>.</p>

<div style="margin: auto;">
  <h4><a name="sharpen" id="sharpen"></a>-sharpen <em class="arg">radius</em>{x<em class="arg">sigma</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>sharpen the image.</td><td style='text-align:right;'></td></tr></table>

<p>Use a Gaussian operator of the given radius and standard deviation (sigma).</p>

<div style="margin: auto;">
  <h4><a name="shave" id="shave"></a>-shave <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Shave pixels from the image edges.</td><td style='text-align:right;'></td></tr></table>

<p>The <em class="arg">size</em> portion of the <em class="arg">geometry</em> argument specifies the width of the region to be removed from both sides of the image and the height of the regions to be removed from top and bottom. Offsets are ignored.</p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="shear" id="shear"></a>-shear <em class="arg">Xdegrees</em>[x<em class="arg">Ydegrees</em>]</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Shear the image along the x-axis and/or y-axis.</td><td style='text-align:right;'></td></tr></table>

<p>The shear angles may be positive, negative, or zero. When <em class="arg">Ydegrees</em> is omitted it defaults to 0. When both angles are given, the horizontal component of the shear is performed before the vertical component.</p>

<p>Shearing slides one edge of an image along the x-axis or y-axis (i.e., horizontally or vertically, respectively),creating a parallelogram. The amount of each is controlled by the respective shear angle. For horizontal shears, <em class="arg">Xdegrees</em> is measured clockwise relative to "up" (the negative y-axis), sliding the top edge to the right when 0&deg;&lt;<em class="arg">Xdegrees</em>&lt;90&deg; and to the left when 90&deg;&lt;<em class="arg">Xdegrees</em>&lt;180&deg;.  For vertical shears <em class="arg">Ydegrees</em> is measured clockwise relative to "right" (the positive x-axis), sliding the right edge down when 0&deg;&lt;<em class="arg">Ydegrees</em>&lt;90&deg; and up when 90&deg;&lt;<em class="arg">Ydegrees</em>&lt;180&deg;.</p>

<p>Empty triangles left over from shearing the image are filled with the color defined by the <a href="#fill">-background</a> option. The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>

<p>The horizontal shear is performed before the vertical part. This is important to note, since horizontal and vertical shears do not <em>commute</em>, i.e., the order matters in a sequence of shears. For example, the following two commands are not equivalent.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -shear 20x0 -shear 0x60 logo-sheared.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -shear 0x60 -shear 20x0 logo-sheared.png</span></p>
<p>The first of the two commands above is equivalent to the following, except for the amount of empty space created; the command that follows generates a smaller image, and so is a better choice in terms of time and space.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -shear 20x60 logo-sheared.png</span></p>
<div style="margin: auto;">
  <h4><a name="sigmoidal" id="sigmoidal-contrast"></a>-sigmoidal-contrast <em class="arg">contrast</em>x<em class="arg">mid-point</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>increase the contrast without saturating highlights or shadows.</td><td style='text-align:right;'></td></tr></table>

<p>Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. <em class="arg">Contrast</em> indicates how much to increase the contrast (0 is none; 3 is typical; 20 is a lot); <em class="arg">mid-point</em> indicates where midtones fall in the resultant image (0 is white; 50% is middle-gray; 100% is black).  By default the image contrast is increased, use <em class="arg">+sigmoidal-contrast</em> to decrease the contrast.</p>

<div style="margin: auto;">
  <h4><a name="silent" id="silent"></a>-silent</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>operate silently.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="size" id="size"></a>-size <em class="arg">width</em>[x<em class="arg">height</em>][<em class="arg">+offset</em>]</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the width and height of the image.</td><td style='text-align:right;'></td></tr></table>

<p>Use this option to specify the width and height of raw images whose dimensions are unknown such as <kbd>GRAY</kbd>, <kbd>RGB</kbd>, or <kbd>CMYK</kbd>. In addition to width and height, use <a href="#size">-size</a> with an offset to skip any header information in the image or tell the number of colors in a <kbd>MAP</kbd> image file, (e.g. -size 640x512+256).</p>

<p>For Photo CD images, choose from these sizes:</p>

<pre class="text">
  192x128
  384x256
  768x512
  1536x1024
  3072x2048
</pre>

<div style="margin: auto;">
  <h4><a name="sketch" id="sketch"></a>-sketch <em class="arg">radius</em><br />-sketch <em class="arg">radius</em>x<em class="arg">sigma</em>+<em class="arg">angle</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a pencil sketch.</td><td style='text-align:right;'></td></tr></table>

<p>Sketch with the given radius, standard deviation (sigma), and angle.   The angle given is the angle toward which the image is sketched.  That is the direction people would consider the object is coming from.  </p>

<div style="margin: auto;">
  <h4><a name="snaps" id="snaps"></a>-snaps <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the number of screen snapshots.</td><td style='text-align:right;'>[<a href="../www/import.html">import</a>]</td></tr></table>

<p>Use this option to grab more than one image from the X server screen, to create an animation sequence.</p>

<div style="margin: auto;">
  <h4><a name="solarize" id="solarize"></a>-solarize <em class="arg">threshold</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>negate all pixels above the threshold level.</td><td style='text-align:right;'></td></tr></table>

<p>Specify <em class="arg">factor</em> as the percent threshold of the intensity (0 - 99.9%).</p>

<p>This option produces a <em class="arg">solarization</em> effect seen when exposing a photographic film to light during the development process.</p>

<div style="margin: auto;">
  <h4><a name="sparse-color" id="sparse-color"></a>-sparse-color <em
  class="arg">method</em>  '<em class="arg">x</em>,<em class="arg">y</em> <em class="arg">color</em>  ...'</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'> color the given image using the specified points of color, and filling the other intervening colors using the given methods. </td><td style='text-align:right;'></td></tr></table>


<table class="doc">
  <tbody>
  <tr valign="top">
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr valign="top">
    <td valign="top">voronoi</td>
    <td valign="top">Simply map each pixel to the to nearest color point
        given. The result are polygonal 'cells' of solid color. </td>
  </tr>

  <tr valign="top">
    <td valign="top">shepards</td>
    <td valign="top">Colors points basied on the ratio of inverse distance
        squared. Generating spots of color in a sea of the average of
        colors. </td>
    </tr>

  <tr valign="top">
    <td valign="top">barycentric</td>
    <td valign="top">three point triangle of color given 3 points.
        Giving only 2 points will form a linear gradient between those points.
        Gradient is however not restricted to just the triangle or line. </td>
  </tr>

  <tr valign="top">
    <td valign="top">bilinear</td>
    <td valign="top">Like barycentric but for 4 points. Less than 4 points
        fall back to barycentric. </td>
  </tr>

  </tbody>
</table>

<p>The points are placed according to the images location on the virtual
canvas (<a href="#page" >-page</a> or <a href="#repage" >-repage</a>
offset), and do not actually have to exist on the given image, but may be
some point beyond the edge of the image. All points are floating point values.
</p>

<p>Only the color channels defined by the <a href="#channel" >-channel</a> are
modified, whcih means the matte/alpha transparency channel is not effected by
default. If enabled, the image also needs a the matte/alpha channel to be
enabled for this operator to effect an images transparency. This is typical
transparency handling for images. </p>

<p>All the above methods when given a single point of color will replace all
the colors in the image with the color given, regardless of the point. This is
logical, and provides an alternative technique to recolor a image to some
default value. </p>


<div style="margin: auto;">
  <h4><a name="splice" id="splice"></a>-splice <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Splice the current background color into the image.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. See <a href="#background">-background</a> to reset the background color.</p>

<div style="margin: auto;">
  <h4><a name="spread" id="spread"></a>-spread <em class="arg">amount</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>displace image pixels by a random amount.</td><td style='text-align:right;'></td></tr></table>

<p>The argument <em class="arg">amount</em> defines the size of the neighborhood around each pixel from which to choose a candidate pixel to swap.</p>

<div style="margin: auto;">
  <h4><a name="stegano" id="stegano"></a>-stegano <em class="arg">offset</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>hide watermark within an image.</td><td style='text-align:right;'></td></tr></table>

<p>Use an offset to start the image hiding some number of pixels from the beginning of the image. Note this offset and the image size. You will need this information to recover the steganographic image (e.g. display -size 320x256+35 stegano:image.png).</p>

<div style="margin: auto;">
  <h4><a name="stereo" id="stereo"></a>-stereo <em class="arg">+x</em>{<em class="arg">+y</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>composite two images to create a stereo anaglyph.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>

<p>The left side of the stereo pair is saved as the red channel of the output image. The right side is saved as the green channel. Red-green stereo glasses are required to properly view the stereo image.</p>

<div style="margin: auto;">
  <h4><a name="storage-type" id="storage-type"></a>-storage-type <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>pixel storage type.  Here are the valid types:</td><td style='text-align:right;'></td></tr></table>

<pre class="text">
  char        store pixels as unsigned characters
  double      store pixels as doubles
  float       store pixels as floats
  integer     store pixels as integers
  long        store pixels as longs
  quantum     store pixels in the native depth of your ImageMagick distribution
  short       store pixels as unsigned shorts
</pre>

<p>Float and double types are normalized from 0.0 to 1.0 otherwise the pixels
values range from 0 to the maximum value the storage type can support.</p>

<div style="margin: auto;">
  <h4><a name="stretch" id="stretch"></a>-stretch <em class="arg">fontStretch</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a type of stretch style for fonts.</td><td style='text-align:right;'></td></tr></table>

<p>This setting suggests a type of stretch that ImageMagick should try to apply to the currently selected font family. Select <em class="arg">fontStretch</em> from the following.</p>

<pre class="text">
        Any
        Condensed
        Expanded
        ExtraCondensed
        ExtraExpanded
        Normal
        SemiCondensed
        SemiExpanded
        UltraCondensed
        UltraExpanded
</pre>

<p>To print a complete list of stretch types, use <a href="#list">-list stretch</a>.</p>

<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#family">-family</a>, <a href="#style">-style</a>, and <a href="#weight">-weight</a>. </p>

<div style="margin: auto;">
  <h4><a name="strip" id="strip"></a>-strip</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>strip the image of any profiles or comments.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="stroke" id="stroke"></a>-stroke <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>color to use when stroking a graphic primitive.</td><td style='text-align:right;'></td></tr></table>

<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>

<p>See <a href="#draw">-draw</a> for further details.</p>

<div style="margin: auto;">
  <h4><a name="strokewidth" id="strokewidth"></a>-strokewidth <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the stroke width.</td><td style='text-align:right;'></td></tr></table>

<p>See <a href="#draw">-draw</a> for further details.</p>

<div style="margin: auto;">
  <h4><a name="style" id="style"></a>-style <em class="arg">fontStyle</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a font style for text.</td><td style='text-align:right;'></td></tr></table>

<p>This setting suggests a font style that ImageMagick should try to apply to the currently selected font family. Select <em class="arg">fontStyle</em> from the following.</p>

<pre class="text">
        Any
        Italic
        Normal
        Oblique
</pre>

<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#family">-family</a>, <a href="#stretch">-stretch</a>, and <a href="#weight">-weight</a>. </p>

<div style="margin: auto;">
  <h4><a name="swap" id="swap"></a>-swap <em class="arg">index,index</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Swap the positions of two images in the image sequence.</td><td style='text-align:right;'></td></tr></table>

<p>For example, <a href="#swap">-swap 0,2</a> swaps the first and the third images in the current image sequence. Use <a href="#swap">+swap</a> to switch the last two images in the sequence.</p>

<div style="margin: auto;">
  <h4><a name="swirl" id="swirl"></a>-swirl <em class="arg">degrees</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>swirl image pixels about the center.</td><td style='text-align:right;'></td></tr></table>

<p><em class="arg">Degrees</em> defines the tightness of the swirl.</p>

<div style="margin: auto;">
  <h4><a name="taint" id="taint"></a>-taint</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mark the image as modified even if it isn't.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="text-font" id="text-font"></a>-text-font <em class="arg">name</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>font for writing fixed-width text.</td><td style='text-align:right;'></td></tr></table>

<p>Specifies the name of the preferred font to use in fixed (typewriter style) formatted text. The default is 14 point <em class="arg">Courier</em>.</p>

<p>You can tag a font to specify whether it is a PostScript, TrueType, or OPTION1 font. For example, <kbd>Courier.ttf</kbd> is a TrueType font and <kbd>x:fixed</kbd> is OPTION1.</p>

<div style="margin: auto;">
  <h4><a name="texture" id="texture"></a>-texture <em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>name of texture to tile onto the image background.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="threshold" id="threshold"></a>-threshold <em class="arg">value</em>{<em class="arg">%</em>}</h4>
</div>

<!-- {<em class="arg">green,blue,opacity</em>}
<p>If the green or blue value is omitted, these channels use the same value as the first one provided. If all three color values are the same, the result is a bi-level image. If the opacity threshold is omitted, OpaqueOpacity is used and any partially transparent pixel becomes fully transparent.</p>
-->

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply simultaneous black/white threshold to the image.</td><td style='text-align:right;'></td></tr></table>

<p>Any pixel values (more specifically, those channels set using <a href="../www/command-line-options.html#channel">&#x2011;channel</a>) that exceed the specified threshold are reassigned the maximum channel value, while all other values are assigned the minimum.</p>

<p> The threshold value can be given as a percentage or as an absolute integer value corresponding to the desired channel value. When given as an integer, the minimum attainable value is 0 (corresponding to black when all channels are affected), but the maximum value (corresponding to white) is that of the <kbd>quantum depth</kbd> of the particular build of ImageMagick, and is therefore dependent on the installation. For that reason, a reasonable recommendation for most applications is to specify the threshold values as a percentage.
</p>

<p> The following would force pixels with red values above 50% to have 100% red values, while those at or below 50% red would be set to 0 in the red channel. The green, blue, and alpha channels (if present) would be unchanged. </p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -channel red -threshold 50% out.png</span></p>
<p>As (possibly) impractical but instructive examples, the following would generate an all-black and an all-white image with the same dimensions as the input image.</p>


<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -threshold 100% black.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -threshold -1 white.png</span></p>
<p>Note that the values of the transparency channel is treated as 'matte'
values (0 is opaque) and not as 'alpha' values (0 is transparent).</p>

<p> See also <a href="../www/command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a> and <a href="../www/command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a>.
</p>

<div style="margin: auto;">
  <h4><a name="thumbnail" id="thumbnail"></a>-thumbnail <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Create a thumbnail of the image.</td><td style='text-align:right;'></td></tr></table>

<p>This is similar to <a href="#resize">-resize</a>, except it is optimized for speed and any image profile, other than a color profile, is removed to reduce the thumbnail size.  To strip the color profiles as well, add <a href="#strip">-strip</a> just before of after this option.</p>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4><a name="tile" id="tile"></a>-tile <em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the tile image used for filling a subsequent graphic primitive.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4>-tile <em class="arg">geometry</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify the layout of images .</td><td style='text-align:right;'>[<a href="../www/montage.html">montage</a>]</td></tr></table>

<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>

<div style="margin: auto;">
  <h4>-tile</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specifies that a subsequent composite operation is repeated across and down image.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>

<div style="margin: auto;">
  <h4><a name="tile-offset" id="tile-offset"></a>-tile-offset {<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify the offset for tile images, relative to the background image it is tiled on.</td><td style='text-align:right;'></td></tr></table>

<p>This should be set before the tiling image is set by <a href="#tile" >-tile</a> or <a href="#texture" >-texture</a>, or directly applied for creating a tiled canvas using <kbd>TILE:</kbd> or <kbd>PATTERN:</kbd> input formats. </p>

<p>Internally ImageMagick does a <a href="#roll" >-roll</a> of the tile image by the arguments given when the tile image is set. </p>

<div style="margin: auto;">
  <h4><a name="tint" id="tint"></a>-tint <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Tint the image with the fill color.</td><td style='text-align:right;'></td></tr></table>

<p>Tint the image with the fill color.</p>

<p>Specify the amount of tinting as a percentage.  Pure colors like black, white red, yellow, will not be affected by -tint. Only mid-range colors such as the various shades of grey.</p>

<div style="margin: auto;">
  <h4><a name="title" id="title"></a>-title <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Assign a title to displayed image.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>, <a href="../www/montage.html">montage</a>]</td></tr></table>

<p>Use this option to assign a specific title to the image. This assigned to the image window and is typically displayed in the window title bar. Optionally you can include the image filename, type, width, height, Exif data, or other image attribute by embedding special format characters described under the <a href="#format">-format</a> option.</p>

<p>For example,</p>

<p class="crtsnip">
  -title "%m:%f %wx%h"
</p>

<p>produces an image title of <kbd>MIFF:bird.miff 512x480</kbd> for an image titled <kbd>bird.miff</kbd> and whose width is 512 and height is 480.</p>


<div style="margin: auto;">
  <h4><a name="transform" id="transform"></a>-transform</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>transform the image.</td><td style='text-align:right;'></td></tr></table>

<p>This option applies the transformation matrix from a previous <a href="#affine">-affine</a> option.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -affine 2,2,-2,2,0,0 -transform bird.ppm bird.jpg</span></p>
<div style="margin: auto;">
  <h4><a name="transparent" id="transparent"></a>-transparent <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Make this color transparent within the image.</td><td style='text-align:right;'></td></tr></table>

<p>The <em class="arg">color</em> argument is defined using the format
described under the <a href="#fill">-fill</a> option. The <a href="#fuzz"
>-fuzz</a> setting can be used to match and replace colors similar to the one
given. </p>

<p>The <a href="#opaque">-opaque</a>  operator is exactly the same as <a
href="#transparent" >-transparent</a> but replaces the matching color same as
the current <a href="#fill">-fill</a> color setting. </p>

<p>This does not define the 'transparency color' used for color-mapped image
formats, such as GIF.  For that use <a href="#transparent-color"
>-transparent-color</a> </p>

<p>Use <a href="#opaque">+opaque</a> to invered the pixels matched, that is
paint any pixel that does not match the target color, with the fill color.</p>


<div style="margin: auto;">
  <h4><a name="transparent-color" id="transparent-color"></a>-transparent-color <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the transparent color.</td><td style='text-align:right;'></td></tr></table>

<p>Sometimes this is used for saving to image formats such as
GIF and PNG8 which uses this color to represent boolean transparency.  This
does not make a color transparent, it only defines what color the transparent
color is in the color palette of the saved image. Use <a
href="#transparent">-transparent</a> to make an opaque color transparent.</p>

<p>This option allows you to have both an opaque visible color, as well as a
transparent color of the same color value without conflict.  That is, you can
use the same color for both the transparent and opaque color areas within an
image.  This, in turn, frees to you to select a transparent color that is
appropriate when an image is displayed by an application that does not handle a
transparent color index, while allowing ImageMagick to correctly handle images of this
type. </p>

<p>The default transparent color is <kbd>#00000000</kbd>, which is fully transparent black.</p>

<div style="margin: auto;">
  <h4><a name="transpose" id="transpose"></a>-transpose</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mirror the image along the top-left to bottom-right diagonal.</td><td style='text-align:right;'></td></tr></table>

<p> This option mathematically transposes the pixel array.  It is equivalent to the sequence <kbd>-flip -rotate 90</kbd>.
</p>

<div style="margin: auto;">
  <h4><a name="transverse" id="transverse"></a>-transverse</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mirror the image along the images bottom-left top-right diagonal.  Equivalent to the operations <kbd>-flop -rotate 90</kbd>.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="treedepth" id="treedepth"></a>-treedepth <em class="arg">value</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>tree depth for the color reduction algorithm.</td><td style='text-align:right;'></td></tr></table>

<p>Normally, this integer value is zero or one. A value of zero or one causes the use of an optimal tree depth for the color reduction algorithm.</p>

<p>An optimal depth generally allows the best representation of the source image with the fastest computational speed and the least amount of memory. However, the default depth is inappropriate for some images. To assure the best representation, try values between 2 and 8 for this parameter.  Refer to the <a href="../www/quantize.html">color reduction algorithm</a> for more details.</p>

<p>The <a href="#colors">-colors</a> or <a href="#monochrome">-monochrome</a> option, or writing to an image format which requires color reduction, is required for this option to take effect.</p>

<div style="margin: auto;">
  <h4><a name="trim" id="trim"></a>-trim</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>trim an image.</td><td style='text-align:right;'></td></tr></table>

<p>This option removes any edges that are exactly the same color as the corner pixels. Use <a href="#fuzz">-fuzz</a> to make <a href="#trim">-trim</a> remove edges that are nearly the same color as the corner pixels.</p>

<p>The page or virtual canvas information of the image is preserved allowing
you to extract the result of the <a href="#trim">-trim</a> operation from the
image.  Use a <a href="#repage">+repage</a> to remove the virtual canvas page
information if it is unwanted.</p>

<p>If the trimmed image 'disappears' an warning is produced, and a special
single pixel transparent 'missed' image is returned, in the same way as when a
<a href="#crop">-crop</a> operation 'misses' the image proper. </p>


<div style="margin: auto;">
  <h4><a name="type" id="type"></a>-type <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the image type.</td><td style='text-align:right;'></td></tr></table>
 <p>Choose from: <kbd>Bilevel</kbd>, <kbd>Grayscale</kbd>, <kbd>GrayscaleMatte</kbd>, <kbd>Palette</kbd>, <kbd>PaletteMatte</kbd>, <kbd>TrueColor</kbd>, <kbd>TrueColorMatte</kbd>, <kbd>ColorSeparation</kbd>, <kbd>ColorSeparationMatte</kbd>, or <kbd>Optimize</kbd>.</p>

<p>Normally, when a format supports different subformats such as grayscale and truecolor, the encoder will try to choose an efficient subformat. The <a href="#type">-type</a> option can be used to overrride this behavior. For example, to prevent a JPEG from being written in grayscale format even though only gray pixels are present, use.</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert bird.png -type TrueColor bird.jpg</span></p>
<p>Similarly, use <a href="#type">-type TrueColorMatte</a> to force the encoder to write an alpha channel even though the image is opaque, if the output format supports transparency.</p>

<p>Use <a href="#type">-type optimize</a> to ensure the image is written in the smallest possible file size.</p>

<div style="margin: auto;">
  <h4><a name="undercolor" id="undercolor"></a>-undercolor <em class="arg">color</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the color of the annotation bounding box.</td><td style='text-align:right;'></td></tr></table>

<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>

<p>See <a href="#draw">-draw</a> for further details.</p>


<div style="margin: auto;">
  <h4><a name="update" id="update"></a>-update <em class="arg">seconds</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>detect when image file is modified and redisplay.</td><td style='text-align:right;'></td></tr></table>

<p>Suppose that while you are displaying an image the file that is currently displayed is over-written.  <kbd>display</kbd> will automagically detect that the input file has been changed and update the displayed image accordingly.</p>


<div style="margin: auto;">
  <h4><a name="unique-colors" id="unique-colors"></a>-unique-colors</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>discard all but one of any pixel color.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="units" id="units"></a>-units <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the units of image resolution.</td><td style='text-align:right;'></td></tr></table>

<p>Choose from: <kbd>Undefined</kbd>, <kbd>PixelsPerInch</kbd>, or <kbd>PixelsPerCentimeter</kbd>. This option is normally used in conjunction with the <a href="#density">-density</a> option.</p>


<div style="margin: auto;">
  <h4><a name="unsharp" id="unsharp"></a>-unsharp <em class="arg">radius</em><br />-unsharp <em class="arg">radius</em>x<em class="arg">sigma</em>{<em class="arg">+amount</em>}{<em class="arg">+threshold</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>sharpen the image with an unsharp mask operator.</td><td style='text-align:right;'></td></tr></table>

<p>The <a href="#unsharp">-unsharp</a> option sharpens an image. The image is convolved with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 to have the method select a suitable radius.</p>

<p>The parameters are:</p>

<pre class="text">
  radius:    The radius of the Gaussian, in pixels,  not counting the center
             pixel (default 0).
  sigma:     The standard deviation of the Gaussian, in pixels (default 1.0).
  amount:    The fraction of the difference between the original and the blur
             image that is added back into the original (default 1.0).
  threshold: The threshold, as a fraction of <em class="QR">QuantumRange</em>, needed to apply the
             difference amount (default 0.05).
</pre>


<div style="margin: auto;">
  <h4><a name="verbose" id="verbose"></a>-verbose</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>print detailed information about the image when this option preceds the <a href="#identify">-identify</a> option or <kbd>info:</kbd>.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="version" id="version"></a>-version</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>print ImageMagick version string and exit.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="view" id="view"></a>-view <em class="arg">string</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>FlashPix viewing parameters.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="vignette" id="vignette"></a>-vignette <em class="arg">radius</em>{x<em class="arg">sigma</em>}{<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em>{<em class="arg">%</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>soften the edges of the image in vignette style.</td><td style='text-align:right;'></td></tr></table>


<div style="margin: auto;">
  <h4><a name="virtual-pixel" id="virtual-pixel"></a>-virtual-pixel <em class="arg">method</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify contents of <em>virtual pixels</em>.</td><td style='text-align:right;'></td></tr></table>

<p>This option defines what color source should be used if and when a color
lookup completely 'misses' the source image. The color(s) that appear to
surround the source image.  Generally this color is derived from the source
image, but could also be set to a specify background color. </p>

<p>Choose from these methods:</p>

<pre class="text">
  background:           the area surrounding the image is the background color
  black:                the area surrounding the image is black
  checker-tile:         alternate squares with image and background color
  dither:               non-random 32x32 dithered pattern
  edge:                 extend the edge pixel toward infinity
  gray:                 the area surrounding the image is gray
  horizontal-tile:      horizontally tile the image, background color above/below
  horizontal-tile-edge: horizontally tile the image and replicate the side edge pixels
  mirror:               mirror tile the image
  random:               choose a random pixel from the image
  tile:                 tile the image (default)
  transparent:          the area surrounding the image is transparent blackness
  vertical-tile:        vertically tile the image, sides are background color
  vertical-tile-edge:   vertically tile the image and replicate the side edge pixels
  white:                the area surrounding the image is white
</pre>

<p>The default value is "edge".</p>

<p>This most important for distortion operators such as <a href="#distort"
>-distort</a>, <a href="#implode" >-implode</a>, and <a href="#fx" >-fx</a>.
However it also effects operations that may access pixels just outside the
image proper, such as <a href="#convolve">-convolve</a>, <a
href="#blur">-blur</a>, and <a href="#sharpen">-sharpen</a>. </p>

<p>To print a complete list of virtual pixel types, use the <a href="#list">-list virtual-pixel</a> option.</p>


<div style="margin: auto;">
  <h4><a name="visual" id="visual"></a>-visual <em class="arg">type</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Animate images using this X visual type.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>

<p>Choose from these visual classes:</p>

<pre class="text">
  StaticGray
  GrayScale
  StaticColor
  PseudoColor
  TrueColor
  DirectColor
  default
  visual id
</pre>

<p>The X server must support the visual you choose, otherwise an error occurs. If a visual is not specified, the visual class that can display the most simultaneous colors on the default screen is chosen.</p>


<div style="margin: auto;">
  <h4><a name="watermark" id="watermark"></a>-watermark <em
  class="arg">brightness</em>x<em class="arg">saturation</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Watermark an image using the given percentages of brightness and
saturation.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>

<p>Take a grayscale image (with alpha mask) and modify the destination image's
brightness according to watermark image's grayscale value and the <em
class="arg">brightness</em> percentage.  The destinations color saturation
attribute is just direct modified by the <em class="arg">saturation</em>
percentage, which defaults to 100 percent (no color change). </p>


<div style="margin: auto;">
  <h4><a name="wave" id="wave"></a>-wave <em class="arg">amplitude</em><br />-wave <em class="arg">amplitude</em>x<em class="arg">wavelength</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Shear the columns of an image into a sine wave.</td><td style='text-align:right;'></td></tr></table>

<p>Specify <em class="arg">amplitude</em> and <em class="arg">wavelength</em> of the wave.</p>

<div style="margin: auto;">
  <h4><a name="weight" id="weight"></a>-weight <em class="arg">fontWeight</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a font weight for text.</td><td style='text-align:right;'></td></tr></table>

<p>This setting suggests a font weight that ImageMagick should try to apply to the currently selected font family. Use a positive integer for <em class="arg">fontWeight</em> or select from the following.</p>

<table class="doc">
  <col width="25%" />
  <col width="75%" />
  <thead>
  <tr>
  <th><em class="arg">fontWeight</em></th>
  <th>Description</th>
  </tr>
  </thead>
  <tbody>
    <tr><td>All </td>       <td>No effect. </td></tr>
    <tr><td>Bold </td>      <td>Same as <em class="arg">fontWeight</em> = 700.</td></tr>
    <tr><td>Bolder </td>    <td>Add 100 to font weight if currently &le; 800.</td></tr>
    <tr><td>Lighter </td>   <td>Subtract 100 to font weight if currently &le; 100.</td></tr>
    <tr><td>Normal </td>    <td>Same as <em class="arg">fontWeight</em> = 400.</td></tr>
 </tbody>
 </table>

<p>To print a complete list of weight types, use <a href="#list">-list weight</a>.</p>

<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#family">-family</a>, <a href="#stretch">-stretch</a>, and <a href="#style">-style</a>. </p>

<div style="margin: auto;">
  <h4><a name="white-point" id="white-point"></a>-white-point <em class="arg">x,y</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>chromaticity white point.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="white-threshold" id="white-threshold"></a>-white-threshold <em class="arg">value</em>{<em class="arg">%</em>}</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Force to white all pixels above the threshold while leaving all pixels at or below the threshold unchanged.</td><td style='text-align:right;'></td></tr></table>

<p> The threshold value can be given as a percentage or as an absolute integer value within [0,&nbsp;<em class="QR">QuantumRange</em>] corresponding to the desired <a href="../www/command-line-options.html#channel">&#x2011;channel</a> value. See <a href="../www/command-line-options.html#threshold">&#x2011;threshold</a> for more details on thresholds and resulting values.
</p>

<div style="margin: auto;">
  <h4><a name="window" id="window"></a>-window <em class="arg">id</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Make the image the background of a window.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>

<p><em class="arg">id</em> can be a window id or name. Specify <kbd>root</kbd> to select X's root window as the target window.</p>

<p>By default the image is tiled onto the background of the target window. If <kbd>backdrop</kbd> or <a href="#geometry">-resize</a> are specified, the image is surrounded by the background color. Refer to <kbd>X RESOURCES</kbd> for details.</p>

<p>The image will not display on the root window if the image has more unique colors than the target window colormap allows. Use <a href="#colors">-colors</a> to reduce the number of colors.</p>

<div style="margin: auto;">
  <h4><a name="window-group" id="window-group"></a>-window-group</h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the window group.</td><td style='text-align:right;'></td></tr></table>

<div style="margin: auto;">
  <h4><a name="write" id="write"></a>-write <em class="arg">filename</em></h4>
</div>

<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>write an image sequence.</td><td style='text-align:right;'></td></tr></table>
 <p>The image sequence preceding the <a href="#write">-write</a> <em class="arg">filename</em> option is written out, and processing continues with the same image in its current state if there are additional options. To restore the image to its original state after writing it, use the <a href="#write">+write</a> <em class="arg">filename</em> option.</p>

<p>Use <a href="#compress">-compress</a> to specify the type of image compression.</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="../www/mailing-list.html">Mailing Lists</a> &bull;
    <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
    </span>
    <span id="linkbar-east">&nbsp;</span>
  </div>
  <div class="footer">
    <span id="footer-west">&copy; 1999-2009 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>
