]> granicus.if.org Git - imagemagick/blobdiff - www/command-line-options.html
(no commit message)
[imagemagick] / www / command-line-options.html
index 5082349b78c9b25aa9b1aa29372447d4e9dfa4ce..b762bad2ccdfb3770850721b3cbfbe6aaf10f3a3 100644 (file)
                           http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">\r
 <head>\r
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
-  <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
+  <meta name="google-site-verification" content="MxsMq6bdLOx0KSuz1MY6yG9ZTIJ7_7DVRfl5NCAT5Yg"/>\r
   <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="Application-name" content="ImageMagick"/>
-  <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition resize, rotate, shear, distort and transform images."/>
+  <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition resize, rotate, shear, distort and transform images automagically."/>
   <meta name="Application-url" content="http://www.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="Keywords" content="command-line, options, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Image, Processing, Automagically"/>
   <meta name="Rating" content="GENERAL"/>
   <meta name="Robots" content="INDEX, FOLLOW"/>
   <meta name="Generator" content="ImageMagick Studio LLC"/>
   <meta name="Distribution" content="Global"/>
   <link rel="icon" href="../images/wand.png"/>
   <link rel="shortcut icon" href="../images/wand.ico"  type="images/x-icon"/>
+  <link rel="canonical" href="http://www.imagemagick.org" />\r
   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
   <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />\r
+  <link rel="stylesheet" type="text/css" href="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
   <style type="text/css" media="all">\r
     @import url("../www/magick.css");\r
   </style>\r
-  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>\r
-  <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
-  <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
+  <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>\r
+  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>\r
+  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
   <script type="text/javascript">\r
     $(document).ready(function() {\r
       $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({\r
@@ -81,7 +83,6 @@
 <div class="menu">
   <a title="About ImageMagick" href="../index.html">About ImageMagick</a>
 </div>
-<div class="sep"></div>\r
 <div class="menu">
   <a title="Binary Releases" href="../www/binary-releases.html">Binary Releases</a>
 </div>
@@ -92,7 +93,7 @@
     <a title="Binary Release: MacOS X" href="../www/binary-releases.html#macosx">Mac OS X</a>
 </div>
 <div class="sub">
-    <a title="Binary Release: iPhone" href="../www/binary-releases.html#iPhone">iPhone</a>
+    <a title="Binary Release: iOS" href="../www/binary-releases.html#iOS">iOS</a>
 </div>
 <div class="sub">
     <a title="Binary Release: Windows" href="../www/binary-releases.html#windows">Windows</a>
 </div>
 <div class="sep"></div>\r
 <div  class="menu">
-  <a title="Sponsors" href="../www/sponsors.html">Sponsors:</a>
+  <a rel="follow" title="Sponsors" href="../www/sponsors.html">Sponsors:</a>
 
 <a href="http://www.networkredux.com">
-  <img src="../images/networkredux.png" alt="[sponsor]"
+  <img src="../images/networkredux.png" width="140" height="31" alt="[sponsor]"
   style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
 <div class="sponsbox">
 <div  class="sponsor">
-  <a title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201109010090 alexanian media -->
+  <a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540s suvalj -->
+</div>
+<div  class="sponsor">
+  <a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
+</div>
+<div  class="sponsor">
+  <a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201110010090s jen@seo lowprofilelinks -->
+</div>
+<div  class="sponsor">
+  <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
+</div>
+<div  class="sponsor">
+  <a rel="follow" title="Sponsor: Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a><!-- 201111010270 chee.hoa darin -->
 </div>
 <div  class="sponsor">
-  <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
+  <a rel="follow" title="Sponsor: Autos part" href="http://www.pkwteile.de/autoteile">Autos part</a><!-- 201112010090s jr@pkwte... -->
 </div>
 <div  class="sponsor">
-  <a title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
+  <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
 </div>
 <div  class="sponsor">
-  <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
+  <a rel="follow" title="Sponsor: Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a><!-- 201109010090 ian@ian-m... -->
 </div>
 <div  class="sponsor">
-  <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
+  <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
 </div>
 <div  class="sponsor">
-  <a title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
+  <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
 </div>
 <div  class="sponsor">
-  <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
+  <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
 </div>
 <div  class="sponsor">
-  <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
+  <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
 </div>
 <div  class="sponsor">
-   <a title="Sponsor: Autoteile Online Shop" href="http://www.autoteile-carparts.de">Autoteile Online Shop</a><!-- 2011070100030 autoteile-Carparts-->
+  <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
+</div>
+<div  class="sponsor">
+  <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
+</div>
+<div  class="sponsor">
+   <a rel="follow" title="Sponsor: Bildbearbeitung" href="http://www.bildschliff.de">Bildbearbeitung</a><!-- 2012060100300 strait.de-->
 </div>
 </div>
 </div>
 </div>\r
 \r
 <div class="eastbar">\r
-\r
+  <div class="g-plusone" data-size="standard" data-count="false"></div>\r
 </div>\r
 \r
 <div class="main">\r
@@ -527,7 +546,7 @@ dark shadows. It also does not work well for diagrams or cartoon like images.
 </p>
 
 <p>It uses the <a href="#channel" >-channel</a> setting, (including the
-'<em>sync</em>' flag for channel syncronization), to determine which color
+'<em>sync</em>' flag for channel synchronization), to determine which color
 values is used and modified. As the default <a href="#channel"
 >-channel</a> setting is '<em>RGB,sync</em>', channels are modified
 together by the same gamma value, preserving colors. </p>
@@ -559,7 +578,7 @@ problems that these operators may have. That is <a href="#auto-level"
 >-auto-level</a> is the perfect or ideal version these operators. </p>
 
 <p>It uses the <a href="#channel" >-channel</a> setting, (including the
-special '<em>sync</em>' flag for channel syncronization), to determine
+special '<em>sync</em>' flag for channel synchronization), to determine
 which color values are used and modified. As the default <a
 href="#channel" >+channel</a> setting is '<em>RGB,sync</em>', the
 '<em>sync</em>' ensures that the color channels will are modified
@@ -909,17 +928,17 @@ you can either use </p>
     -channel RB
 </p>
 
-<p>All the channels that is present in an image can be specified using the
+<p>All the channels that are present in an image can be specified using the
 special channel type <kbd>All</kbd>. Not all operators are 'channel capable',
 but generally any operators that are generally 'grey-scale' image operators,
 will understand this setting.  See individual operator documentation. </p>
 
 <br />
 
-<p>On top of the normal channel selection a extra flag can be specified,
+<p>On top of the normal channel selection an extra flag can be specified,
 '<kbd>Sync</kbd>'.  This is turned on by default and if set means that
 operators that understand this flag should perform: cross-channel
-syncronization of the channels. If not specified, then most grey-scale
+synchronization of the channels. If not specified, then most grey-scale
 operators will apply their image processing operations to each individual
 channel (as specified by the rest of the <a href="#channel">-channel</a>
 setting) completely independently from each other. </p>
@@ -937,7 +956,7 @@ to the alpha channel (if present). That is to say it will modify the image
 processing with the understanding that fully-transparent colors should not
 contribute to the final result. </p>
 
-<p>Basically, by default, operators work with color channels in syncronous, and
+<p>Basically, by default, operators work with color channels in synchronous, and
 treats transparency as special, unless the <a href="#channel">-channel</a>
 setting is modified so as to remove the effect of the '<kbd>Sync</kbd>' flag.
 How each operator does this depends on that operators current implementation.
@@ -1735,6 +1754,22 @@ available:</p>
     which can be 1, 2, 4, or 8.  In such files, the color samples always have
     8-bit depth.</dd>
 
+<dt>png:compression-filter=<em class="arg">value</em></dt>
+   <dd> valid values are 0 through 7. 0-4 are the corresponding PNG filters,
+   5 means adaptive filtering except for images with a colormap, 6 means
+   adaptive filtering for all images, 7 means MNG "loco" compression.</dd>  
+
+<dt>png:compression-level=<em class="arg">value</em></dt>
+   <dd> valid values are 0 through 9, with 0 providing the least but fastest
+       compression and 9 usually providing the best and always the slowest.</dd>
+
+<dt>png:compression-strategy=<em class="arg">value</em></dt>
+   <dd> valid values are 0 through 4, meaning default, filtered, huffman_only,
+   rle, and fixed ZLIB compression strategy. If you are using an old zlib
+   that does not support Z_RLE (before 1.2.0) or Z_FIXED (before 1.2.2.2),
+   values 3 and 4, respectively, will use the zlib default strategy
+   instead.</dd>
+
 <dt>png:exclude-chunk=<em class="arg">value</em></dt>
 <dt>png:include-chunk=<em class="arg">value</em></dt>
 <dd>ancillary chunks to be excluded from or included in PNG output.
@@ -1761,8 +1796,8 @@ available:</p>
 </pre>
 
     <p>The critical PNG chunks <kbd>IHDR</kbd>, <kbd>PLTE</kbd>,
-    <kbd>IDAT</kbd>, and <kbd>IEND</kbd> cannot be excluded.  Any of
-    these entries appearing in the list will be ignored.</p>
+    <kbd>IDAT</kbd>, and <kbd>IEND</kbd> cannot be excluded.  Any such
+    entries appearing in the list will be ignored.</p>
 
     <p>If the ancillary PNG <kbd>tRNS</kbd> chunk is excluded and the
     image has transparency, the PNG colortype is forced to be 4 or 6
@@ -1949,7 +1984,7 @@ the  <em class="arg">scale</em> bounds.  In other words each pixel can lookup
 any other nearby pixel, producing complex 2 dimensional displacements, rather
 than a simple 1 dimensional vector displacements. </p>
 
-<p>Alteratively rather than suppling two separate images, as of IM v6.4.4-0,
+<p>Alteratively rather than supplying 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>
@@ -2542,14 +2577,16 @@ draw complex curves, it is highly recommended either to use the <kbd>path</kbd>
 <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="../www/compose.html">Alpha Compositing</a> for
-a detailed discussion of alpha composition methods that are available. </p>
-
+a detailed discussion of alpha composition methods that are available.
+The "special augmented compose operators" such as "dissolve" that require
+arguments cannot be used at present with the <kbd>-draw image</kbd> option.
+ </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!"'
+   -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>
@@ -2585,6 +2622,7 @@ matrix.</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 id="duplicate"></a>-duplicate <em class="arg">count,indexes</em></h4>
 </div>
@@ -3042,13 +3080,28 @@ likely to be detrimental to your image resizing.</p>
 
 <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>
+<p>reflect the scanlines in the vertical direction. The image will be mirrored
+upside-down. </p>
+
 
 <div style="margin: auto;">
   <h4><a 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>
+<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.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Flood fill starts from the given 'seed point' which is not gravity effected.
+Any color that matches within <a href="#fuzz" >-fuzz</a> color distance of the
+given <em class="arg">color</em>  argument, connected to that 'seed point'
+will be replaced with the current <a href="#fill" >-fill</a> color. </p>
+
+<p>Note that if the pixel at the 'seed point' does not itself match the given
+<em class="arg">color</em> (according to <a href="#fuzz" >-fuzz</a>), then no
+action will be taken. </p>
+
+<p>This operator works more like the <a href="#opaque" >-opaque</A> option, than
+a more general flood fill that reads the matching color directly at the 'seed point'. For this form of flood fill, look at <a href="#draw" >-draw</a>  and its 'color floodfill' drawing method.  </p>
+
 
 <div style="margin: auto;">
   <h4><a id="flop"></a>-flop</h4>
@@ -3056,7 +3109,8 @@ likely to be detrimental to your image resizing.</p>
 
 <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>
+<p>Reflect the scanlines in the horizontal direction, just like the image in
+a vertical mirror. </p>
 
 
 <div style="margin: auto;">
@@ -3796,30 +3850,41 @@ animation, or a fully-'coalesced' animation sequence. </p>
   <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.
+        layers to create a new layer image just large enough to hold all the
+        image without clipping or extra space. The new images virtual offset
+        will preserve 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>
 
-     <tr><td></td><td>Caution is advised when handling image layers with negative offsets
-        as few image file formats handle them correctly. </td>
+  <tr><td></td><td>Caution is advised when handling image layers with
+        negative offsets as few image file formats handle them correctly.
+        Following this operation methd with <a href="#repage" >+repage</a>
+        will remove the layer offset, and create a image in which all the
+        overlaid image positions relative to each other is preserved, though
+        not nessaraily exactly where you specified them.
+        </td>
+  </tr>
+
+  <tr><td></td><td>See also 'trim-bounds' below whcih is closely related but
+        without  doing the'flatten' to merge the images together. </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 definition, image layers
-        with a negative offsets will still be clipped by the top and left
-        edges.</td>
+        of the first image in a positive direction only so as to hold all the
+        image layers.  However as a virtual canvas is 'locked' to the origin,
+        by its own definition, image layers with a negative offsets will still
+        become clipped by the top and left edges. See 'merge' or 'trim-bounds'
+        if this could be a problem. </td>
+
   </tr>
 
-  <tr><td></td><td>This method is commonly used to layout individual image using various
-        offset but without knowing 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><td></td><td>This method is commonly used to layout individual image
+        using various offset but without knowing 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>
 
 
@@ -3840,8 +3905,8 @@ animation, or a fully-'coalesced' animation sequence. </p>
         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.
+  <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>
@@ -3858,11 +3923,12 @@ animation, or a fully-'coalesced' animation sequence. </p>
         '<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 improvement in the final animation size. </td>
+  <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 improvement in the final
+        animation size. </td>
   </tr>
 
   <tr valign="top">
@@ -3873,10 +3939,10 @@ animation, or a fully-'coalesced' animation sequence. </p>
         </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><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">
@@ -3886,10 +3952,10 @@ animation, or a fully-'coalesced' animation sequence. </p>
         </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><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">
@@ -3899,23 +3965,29 @@ animation, or a fully-'coalesced' animation sequence. </p>
         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><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>
+        a minimal positive canvas. None of the image data is modified or
+        merged, only the individual image virtual canvas size and offset.
+        All the images 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 touching those
+        edges however may be transparent.  </td>
+  </tr>
+
+  <tr><td></td><td>The result is much like if you used 'merge' followed by a
+        <a href="#repage" >+repage</a> option, except that all the images
+        have been kept separate.  If 'flatten' is used after using
+        'trim-bounds' you will get the same result.  </td>
   </tr>
 
   </tbody>
@@ -3925,10 +3997,11 @@ animation, or a fully-'coalesced' animation sequence. </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>
+>-mosaic</a> are only aliases for the above methods and may be depreciated in
+the future.  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;">
@@ -4323,7 +4396,7 @@ name. </p>
   <h4><a id="mode"></a>-mode <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%'>make each pixel the 'predominate color' of the neighborhood.</td><td style='text-align:right;'>[<a href="../www/convert.html">convert</a>, <a href="../www/mogrify.html">mogrify</a>]</td></tr></table>
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>make each pixel the 'predominant color' of the neighborhood.</td><td style='text-align:right;'>[<a href="../www/convert.html">convert</a>, <a href="../www/mogrify.html">mogrify</a>]</td></tr></table>
 
 <div style="margin: auto;">
   <h4>-mode <em class="arg">value</em></h4>
@@ -4816,40 +4889,34 @@ orientation</a> option.</p>
 CMYK profiles are often very asymmetric since they involve 3&minus;&gt;4 and 4&minus;&gt;3 channel mapping.
 </p>
 
-<p>The <a href="#profile">-profile</a> option can also be used to inject
-previously-formatted ancillary chunks into the output PNG file, using
-the commandline option as shown below or by setting the profile via a
-programming interface:</p>
-
-<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>-profile PNG-chunk-x:&lt;filename&gt;</span></p>
-<p>where <em>x</em> is a location flag and
-<em class="arg">filename</em> is a file containing the chunk
-name in the first 4 bytes, then a colon (":"), followed by the chunk data.
-This encoder will compute the chunk length and CRC, so those must not
-be included in the file.</p>
-
-<p>"x" can be "b" (before PLTE), "m" (middle, i.e., between PLTE and IDAT),
-or "e" (end, i.e., after IDAT).  If you want to write multiple chunks
-of the same type, then add a short unique string after the "x" to prevent
-subsequent profiles from overwriting the preceding ones, e.g.,</p>
-
-
-<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>-profile PNG-chunk-b01:file01 -profile PNG-chunk-b02:file02</span></p>
 <div style="margin: auto;">
   <h4><a 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 1 (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 92. Use the <a href="#sampling-factor">-sampling-factor</a> option to specify the factors for chroma downsampling.</p>
+<p>For the JPEG and MPEG image formats, quality is 1 (lowest image quality and
+highest compression) to 100 (best quality but least effective compression).
+The default is to use the estimated quality of your input image if it can
+be determined, otherwise 92. When the quality is greater than 90, then the
+chroma channels are not downsampled.
+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 100, a request for non-lossy compression.  A quality of 75 results in a request for 16:1 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). For compression level 0, the Huffman-only strategy is used, which is fastest but not necessarily the worst compression.  The default PNG compression is 75.</p>
+<p>For the MNG and PNG image formats, the quality value sets the zlib
+compression level (quality / 10) and filter-type (quality % 10).  The default
+PNG "quality" is 75, which means compression level 7 with adaptive PNG
+filtering, unless the image has a color map, in which case it means
+compression level 7 with no PNG filtering.</p>
+
+<p>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>
+<p>If filter-type is 4 or less, the specified PNG filter-type is used for
+all scanlines:</p>
 
 <pre class="text">
    0: none
@@ -4859,15 +4926,35 @@ subsequent profiles from overwriting the preceding ones, e.g.,</p>
    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 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 (intrapixel differencing) and adaptive filtering
+with <em class="arg">minimum-sum-of-absolute-values</em> are used.</p>
 
-<p>If filter-type is 6, adaptive filtering with <em class="arg">minimum-sum-of-absolute-values</em> is used.</p>
+<p>If the filter-type is 8 the zlib Z_RLE compression strategy is used with
+ no PNG filtering.</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>If the filter-type is 9 the zlib Z_RLE compression strategy is used with
+ adaptive PNG filtering.</p>
 
-<p>The quality setting has no effect on the appearance of PNG and MNG images, since the compression is always lossless.</p>
+<p>The quality setting has no effect on the appearance or signature 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>Not all combinations of compression level, strategy, and PNG filter type
+can be obtained using the -quality option.  For more precise control,
+you can use the PNG:compression-level=N, PNG:compression-strategy=N, and
+PNG:compression-filter=N defines, respectively, instead.
+See <a href="#define">-define</a>. Values from the defines take precedence
+over values from the -quality option.</p>
+
+<p>For further information, see
+the <a href="http://www.w3.org/pub/WWW/TR">PNG</a> specification.</p>
 
 <div style="margin: auto;">
   <h4><a id="quantize"></a>-quantize <em class="arg">colorspace</em></h4>
@@ -5217,7 +5304,7 @@ the same name. </p>
 >-verbose</a> information ("<kbd>info:</kbd>" output format) as "Properties".
 </p>
 
-<p>This includes string 'properities' that are set by and assigned to images
+<p>This includes string 'properties' that are set by and assigned to images
 using the options <a href="#comment" >-comment</a>, <a href="#label"
 >-label</a>, <a href="#caption" >-caption</a>. These options actually assign
 a global 'artifact' which are automatically assigned (and any <a href="../www/escape.html" >Format Percent
@@ -5228,7 +5315,7 @@ Escapes</a> expanded) to images as they are read in.  For example:</p>
 Properties</a> in the defined value.  For example:</p>
 
 <p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose: -set origsize '%wx%h' -resize 50% \</span><span class='crtout'>        -format 'Old size = %[origsize]  New size = %wx%h' info:</span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>Old size = 70x46  New size = 35x23</span></p>
-<p>Other well known 'properities' that can be  include:
+<p>Other well known 'properties' that are availible include:
 '<kbd>date:create</kbd>' and '<kbd>date:modify</kbd>' and
 '<kbd>signature</kbd>'. </p>
 
@@ -5251,7 +5338,7 @@ modify the output filename of an image. For example</p>
 <p>If the setting value is prefixed with "<kbd>option:</kbd>" the setting will
 be saved as a global "Artifact" exactly as if it was set using the <a
 href="#define" >-define</a> option. As such settings are global in scope, they
-can be used to pass 'attributes' and 'properities' of one specific image,
+can be used to pass 'attributes' and 'properties' of one specific image,
 in a way that allows you to use them in a completely different image, even if
 the original image has long since been modified or destroyed. For example: </p>
 
@@ -5263,6 +5350,27 @@ a 'artifact' if the given <em class="arg">key</em> does not match an existing
 <p>You can set the attributes of the image registry by prefixing the value
 with <kbd>registry:</kbd>.</p>
 
+<p>The <a href="#set">-set profile</a> option can also be used to inject
+previously-formatted ancillary chunks into the output PNG file, using
+the commandline option as shown below or by setting the profile via a
+programming interface:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -set profile PNG-chunk-x:&lt;filename&gt; out.png</span></p>
+<p>where <em>x</em> is a location flag and
+<em class="arg">filename</em> is a file containing the chunk
+name in the first 4 bytes, then a colon (":"), followed by the chunk data.
+This encoder will compute the chunk length and CRC, so those must not
+be included in the file.</p>
+
+<p>"x" can be "b" (before PLTE), "m" (middle, i.e., between PLTE and IDAT),
+or "e" (end, i.e., after IDAT).  If you want to write multiple chunks
+of the same type, then add a short unique string after the "x" to prevent
+subsequent profiles from overwriting the preceding ones, e.g.,</p>
+
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -set profile PNG-chunk-b01:file01 / <br/>
+            -profile PNG-chunk-b02:file02 out.png</span></p>
+<p>&nbsp;</p>
 
 
 <div style="margin: auto;">