]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Mon, 19 Feb 2018 12:49:19 +0000 (07:49 -0500)
committerCristy <urban-warrior@imagemagick.org>
Mon, 19 Feb 2018 12:49:19 +0000 (07:49 -0500)
124 files changed:
www/ImageMagickObject.html
www/advanced-unix-installation.html
www/advanced-windows-installation.html
www/animate.html
www/api.html
www/api/Image++.html
www/api/animate.html
www/api/annotate.html
www/api/attribute.html
www/api/blob.html
www/api/cache-view.html
www/api/cache.html
www/api/channel.html
www/api/cipher.html
www/api/color.html
www/api/colormap.html
www/api/colorspace.html
www/api/compare.html
www/api/composite.html
www/api/constitute.html
www/api/decorate.html
www/api/deprecate.html
www/api/display.html
www/api/distort.html
www/api/draw.html
www/api/drawing-wand.html
www/api/effect.html
www/api/enhance.html
www/api/exception.html
www/api/fourier.html
www/api/fx.html
www/api/histogram.html
www/api/image-view.html
www/api/image.html
www/api/layer.html
www/api/list.html
www/api/magick++-classes.html
www/api/magick-deprecate.html
www/api/magick-image.html
www/api/magick-property.html
www/api/magick-wand.html
www/api/magick.html
www/api/memory.html
www/api/mime.html
www/api/module.html
www/api/mogrify.html
www/api/monitor.html
www/api/montage.html
www/api/morphology.html
www/api/paint.html
www/api/pixel-iterator.html
www/api/pixel-wand.html
www/api/profile.html
www/api/property.html
www/api/quantize.html
www/api/registry.html
www/api/resize.html
www/api/resource.html
www/api/segment.html
www/api/shear.html
www/api/signature.html
www/api/statistic.html
www/api/stream.html
www/api/transform.html
www/api/version.html
www/api/wand-view.html
www/architecture.html
www/binary-releases.html
www/changelog.html
www/cipher.html
www/color-management.html
www/color.html
www/command-line-options.html
www/command-line-processing.html
www/command-line-tools.html
www/compare.html
www/compose.html
www/composite.html
www/conjure.html
www/connected-components.html
www/convert.html
www/develop.html
www/display.html
www/distribute-pixel-cache.html
www/download.html
www/escape.html
www/examples.html
www/exception.html
www/export.html
www/formats.html
www/fx.html
www/gradient.html
www/high-dynamic-range.html
www/history.html
www/identify.html
www/import.html
www/index.html
www/install-source.html
www/jp2.html
www/license.html
www/links.html
www/magick++.html
www/magick-core.html
www/magick-script.html
www/magick-vector-graphics.html
www/magick-wand.html
www/magick.html
www/miff.html
www/mirror.html
www/mogrify.html
www/montage.html
www/motion-picture.html
www/opencl.html
www/openmp.html
www/perl-magick.html
www/porting.html
www/quantize.html
www/resources.html
www/security-policy.html
www/sitemap.html
www/stream.html
www/subversion.html
www/support.html
www/webp.html

index 59cedf0c958fd22ec21a9a45ae9c9683602563ed..7850ddab28b64d545a2a966341be20812fca8f55 100644 (file)
@@ -152,4 +152,4 @@ BuildImageMagickObject release
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:58 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 17:48 -->
\ No newline at end of file
index 10f1aa8b6f6cba0d3b065c13c15a3c2bd8b2dc3d..52f73e4565e3f58efe318f75255136e763fd82b7 100644 (file)
 
 <p>The configure script looks at your environment and decides what it can cobble together to get ImageMagick compiled and installed on your system.  This includes finding a compiler, where your compiler header files are located (e.g. stdlib.h), and if any delegate libraries are available for ImageMagick to use (e.g. JPEG, PNG, TIFF, etc.).  If you are willing to accept configure's default options, and build from within the source directory, you can simply type:</p>
 
-<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>cd ImageMagick-7.0.7-18</span><span class='crtout'></span><span class="crtprompt">$ </span><span class='crtin'>./configure</span></pre>
+<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>cd ImageMagick-7.0.7-22</span><span class='crtout'></span><span class="crtprompt">$ </span><span class='crtin'>./configure</span></pre>
 <p>Watch the configure script output to verify that it finds everything that
  you think it should.  Pay particular attention to the last lines of the script output.  For example, here is a recent report from our system:</p>
 
@@ -545,7 +545,7 @@ sudo port -v install graphviz +gs +wmf +jbig +jpeg2 +lcms
 
          <p><a href="../www/download.html">Download</a> the ImageMagick source distribution and verify the distribution against its <a href="https://www.imagemagick.org/download/digest.rdf">message digest</a>.</p>
          <p>Unpack and change into the top-level ImageMagick directory:</p>
-               <pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>tar xvzf ImageMagick-7.0.7-18.tar.gz</span><span class='crtout'></span><span class="crtprompt">$ </span><span class='crtin'>cd ImageMagick-7.0.7-18</span></pre>      <p>Configure ImageMagick:</p>
+               <pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>tar xvzf ImageMagick-7.0.7-22.tar.gz</span><span class='crtout'></span><span class="crtprompt">$ </span><span class='crtin'>cd ImageMagick-7.0.7-22</span></pre>      <p>Configure ImageMagick:</p>
 <pre class="highlight"><code>./configure --prefix=/opt --with-quantum-depth=16 \
   --disable-dependency-tracking --with-x=yes \
   --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib/ \
@@ -572,7 +572,7 @@ sudo port -v install graphviz +gs +wmf +jbig +jpeg2 +lcms
 
 <p>Although you can download and install delegate libraries yourself, many are already available in the <a href="http://gnuwin32.sourceforge.net/">GnuWin32</a> distribution.  Download and install whichever delegate libraries you require such as JPEG, PNG, TIFF, etc.  Make sure you specify the development headers when you install a package.  Next type,</p>
 
-<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>tar jxvf ImageMagick-7.0.7-?.tar.bz2</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>cd ImageMagick-7.0.7-18</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>export CPPFLAGS="-Ic:/Progra~1/GnuWin32/include"</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>export LDFLAGS="-Lc:/Progra~1/GnuWin32/lib"</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>./configure --without-perl</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>make</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>sudo make install</span></pre>
+<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>tar jxvf ImageMagick-7.0.7-?.tar.bz2</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>cd ImageMagick-7.0.7-22</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>export CPPFLAGS="-Ic:/Progra~1/GnuWin32/include"</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>export LDFLAGS="-Lc:/Progra~1/GnuWin32/lib"</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>./configure --without-perl</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>make</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>sudo make install</span></pre>
 <h2 class="magick-post-title"><a class="anchor" id="problems"></a>Dealing with Unexpected Problems</h2>
 
 <p>Chances are the download, configure, build, and install of ImageMagick went flawlessly as it is intended, however, certain systems and environments may cause one or more steps to fail.  We discuss a few problems we've run across and how to take corrective action to ensure you have a working release of ImageMagick</p>
@@ -639,4 +639,4 @@ no encode delegate for this image format
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:01 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 15:14 -->
\ No newline at end of file
index 67ec1ac5822fe1a988a41a22a5c4b25933ee79e4..c43814050d3b3d617163c25fa6e258edc345c5c8 100644 (file)
@@ -344,7 +344,7 @@ dmake release
 
        <ol>
        <li>Double-click on
-       <code>VisualMagick/bin/ImageMagick-7.0.7-18-Q16-windows-dll.exe</code>
+       <code>VisualMagick/bin/ImageMagick-7.0.7-22-Q16-windows-dll.exe</code>
        to launch the ImageMagick binary distribution.</li>
        <li>Complete the installer screens to install ImageMagick on your system.</li>
        </ol>
@@ -412,4 +412,4 @@ _MAGICKMOD_
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:16 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:56 -->
\ No newline at end of file
index 1f1f92df9c086bba2d2eb7e42e946685d99c842a..f43c2e4686dc09f49125ace75c4fc051fdeb803d 100644 (file)
@@ -557,4 +557,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:40 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 15:22 -->
\ No newline at end of file
index 08f15cee7a70d2b08f0d45cdcfc679439bb59211..6968c268b510172a936a52765874919fe80cfd4c 100644 (file)
 </p>
     <p><a href="api.html#">Back to top</a> •
     <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
-    <a href="www/www/www/www/www/www/www/www/www/../www/../www/../www/../www/../www/../www/../www/../www/https://www.imagemagick.org/script/contact.php">Contact Us</a></p>
+    <a href="www/www/www/www/www/www/www/www/www/../www/../www/../www/../www/../www/../www/../www/../www/../www/https://www.imagemagick.org/script/contact.php">Contact Us</a></p>
         <p><small>©  1999-2016 ImageMagick Studio LLC</small></p>
   </footer>
 </div><!-- /.container -->
index e4cf3b9c23eef0959390762379c77305cc36b1e4..01f79e98ea4f99c244480d8d7a621e52405e161d 100644 (file)
@@ -3232,4 +3232,4 @@ the region set by a preceding getPixels or getConstPixels call.</font></td>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:25 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 10:34 -->
\ No newline at end of file
index 47ae798aef73175f01ced951ee5314380a8cb529..fc2b28dd6cce0c2dfe9fd5a6d9a057b6a59db56c 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Command-line Tools: Animate @ ImageMagick</title>
+  <title>MagickCore, C API: Interactively Animate an Image Sequence @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="command-line, tools:, animate, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, interactively, animate, an, image, sequence, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/animate.html" rel="canonical" />
+  <link href="animate.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="animate.html#usage">Example Usage</a> • <a href="animate.html#options">Option Summary</a></p>
+<p class="text-center"><a href="animate.html#Unknown method">Unknown method</a></p>
 
-<p class="lead magick-description">Use the <code>animate</code> program to animate an image sequence on any X server.   See <a href="../../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>animate</code> command or see below for example usages of the command.</p>
-
-<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
-
-<p>We list a few examples of the <code>animate</code> command here to illustrate its usefulness and ease of use.  To get started, lets animate an image sequence in the GIF format:</p>
-
-<pre class="highlight"><code>magick animate movie.gif
-</code></pre>
-
-<p>To animate a directory of JPEG images, use:</p>
-
-<pre class="highlight"><code>magick animate *.jpg
-</code></pre>
-
-<p>You can find additional examples of using <code>animate</code> in <a href="../../Usage/basics/#animate">Examples of ImageMagick Usage</a>.</p>
-
-
-<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
-
-<p>The <code>animate</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
-
-<table class="table table-sm table-striped">
-  <tbody>
-  <tr>
-    <th align="left">Option</th>
-    <th align="left">Description</th>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#alpha">-alpha</a></td>
-    <td>on, activate, off, deactivate, set, opaque, copy",
-transparent, extract, background, or shape the alpha channel</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#antialias">-antialias</a></td>
-    <td>remove pixel-aliasing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
-    <td>decrypt image with this password</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#backdrop">-backdrop</a></td>
-    <td>background color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#background">-background <var>color</var></a></td>
-    <td>background color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#border">-border <var>geometry</var></a></td>
-    <td>surround image with a border of color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
-    <td>border color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#channel">-channel <var>type</var></a></td>
-    <td>apply option to select image channels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip">-clip</a></td>
-    <td>clip along the first path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip-path">-clip-path <var>id</var></a></td>
-    <td>clip along a named path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#coalesce">-coalesce</a></td>
-    <td>merge a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colormap">-colormap <var>type</var></a></td>
-    <td>Shared or Private</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colors">-colors <var>value</var></a></td>
-    <td>preferred number of colors in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
-    <td>set image colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#comment">-comment <var>string</var></a></td>
-    <td>annotate image with comment</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compress">-compress <var>type</var></a></td>
-    <td>image compression type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#contrast">-contrast</a></td>
-    <td>enhance or reduce the image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#crop">-crop <var>geometry</var></a></td>
-    <td>preferred size and location of the cropped image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#debug">-debug <var>events</var></a></td>
-    <td>animate copious debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#decipher">-decipher <var>filename</var></a></td>
-    <td>convert cipher pixels to plain</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#define">-define <var>format:option</var></a></td>
-    <td>define one or more image format options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#delay">-delay <var>value</var></a></td>
-    <td>animate the next image after pausing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#density">-density <var>geometry</var></a></td>
-    <td>horizontal and vertical density of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#depth">-depth <var>value</var></a></td>
-    <td>image depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#despeckle">-despeckle</a></td>
-    <td>reduce the speckles within an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#animate">-display <var>server</var></a></td>
-    <td>get image or font from this X server</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dispose">-dispose <var>method</var></a></td>
-    <td>layer disposal method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dither">-dither  <var>method</var></a></td>
-    <td>apply error diffusion to image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#edge">-edge <var>radius</var></a></td>
-    <td>apply a filter to detect edges in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#endian">-endian <var>type</var></a></td>
-    <td>endianness (MSB or LSB) of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#enhance">-enhance</a></td>
-    <td>apply a digital filter to enhance a noisy image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
-    <td>extract area from image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#filter">-filter <var>type</var></a></td>
-    <td>use this filter when resizing an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flatten">-flatten</a></td>
-    <td>flatten a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flip">-flip</a></td>
-    <td>flip image in the vertical direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flop">-flop</a></td>
-    <td>flop image in the horizontal direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#frame">-frame <var>geometry</var></a></td>
-    <td>surround image with an ornamental border</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gamma">-gamma <var>value</var></a></td>
-    <td>level of gamma correction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
-    <td>preferred size or location of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gravity">-gravity <var>geometry</var></a></td>
-    <td>horizontal and vertical backdrop placement</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#help">-help</a></td>
-    <td>print program options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#identify">-identify</a></td>
-    <td>identify the format and characteristics of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#immutable">-immutable <var>type</var></a></td>
-    <td>prohibit image edits</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
-    <td>type of image interlacing scheme</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
-    <td>pixel color interpolation method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#label">-label <var>name</var></a></td>
-    <td>assign a label to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
-    <td>pixel cache resource limit</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#log">-log <var>format</var></a></td>
-    <td>format of debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#map">-map <var>filename</var></a></td>
-    <td>transform image colors to match this set of colors</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mattecolor">-mattecolor <var>color</var></a></td>
-    <td>frame color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monitor">-monitor</a></td>
-    <td>monitor progress</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monochrome">-monochrome</a></td>
-    <td>transform image to black and white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#negate">-negate</a></td>
-    <td>replace each pixel with its complementary color </td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#page">-page <var>geometry</var></a></td>
-    <td>size and location of an image canvas (setting)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#profile">-profile <var>filename</var></a></td>
-    <td>add, delete, or apply an image profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
-    <td>reduce image colors in this colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quiet">-quiet</a></td>
-    <td>suppress all warning messages</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#raise">-raise <var>value</var></a></td>
-    <td>lighten/darken image edges to create a 3-D effect</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
-    <td>pay attention to warning messages.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#remote">-remote <var>command</var></a></td>
-    <td>execute a command in an remote animate process</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resample">-resample <var>geometry</var></a></td>
-    <td>change the resolution of an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resize">-resize <var>geometry</var></a></td>
-    <td>resize the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
-    <td>settings remain in effect until parenthesis boundary.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#roll">-roll <var>geometry</var></a></td>
-    <td>roll an image vertically or horizontally</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
-    <td>apply Paeth rotation to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sample">-sample <var>geometry</var></a></td>
-    <td>scale image with pixel sampling</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
-    <td>horizontal and vertical sampling factor</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#scene">-scene <var>value</var></a></td>
-    <td>image scene number</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#segment">-segment <var>values</var></a></td>
-    <td>segment an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#seed">-seed <var>value</var></a></td>
-    <td>seed a new sequence of pseudo-random numbers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
-    <td>set an image attribute</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sharpen">-sharpen <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#size">-size <var>geometry</var></a></td>
-    <td>width and height of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#strip">-strip</a></td>
-    <td>strip image of all profiles and comments</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#thumbnail">-thumbnail <var>geometry</var></a></td>
-    <td>create a thumbnail of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
-    <td>transparent color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#trim">-trim</a></td>
-    <td>trim image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#update">-update <var>seconds</var></a></td>
-    <td>detect when image file is modified and reanimate</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#verbose">-verbose</a></td>
-    <td>print detailed information about the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#version">-version</a></td>
-    <td>print version information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
-    <td>access method for pixels outside the boundaries of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#visual">-visual</a></td>
-    <td>animate image using this visual type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write">-window <var>id</var></a></td>
-    <td>animate images to background of this window</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write">-window-group <var>id</var></a></td>
-    <td>exit program when this window id is destroyed</td>
-  </tr>
-
-  </tbody>
-</table>
 </div>
     </div>
   </main><!-- /.container -->
@@ -557,4 +106,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:40 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 18:18 -->
\ No newline at end of file
index 771f0ad193f15afd451670c95a15f0ef9529744d..294cb922addae45adf231cb27abaae68137783a4 100644 (file)
@@ -327,3 +327,4 @@ MagickBooleanType GetTypeMetrics(Image *image,const DrawInfo *draw_info,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 16:02 -->
\ No newline at end of file
index cc865258856765ee7b9cbfeb50057fa93beac4bd..05581c3ffbe6ca4dca497e36fe7bec0633f34cf1 100644 (file)
@@ -411,3 +411,4 @@ MagickBooleanType SetImageType(Image *image,const ImageType type,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 10:03 -->
\ No newline at end of file
index 5727b1a37f35c8955d7791932ff1d5b1955bdee2..37680a1fcd8ba28dd274674377216bf88b2a36bd 100644 (file)
@@ -464,3 +464,4 @@ MagickBooleanType InjectImageBlob(const ImageInfo *image_info,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 14th February 2018 21:53 -->
\ No newline at end of file
index c2add6c49f63ac3a3e8889d2731737827a32a09c..917ebe1c4673ff02da0073beb62a9fcd78b869af 100644 (file)
@@ -690,4 +690,4 @@ MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *cache_view,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 12:11 -->
\ No newline at end of file
index 460cfc1d5ddc54fcc35cf00e504720b18be821b6..ed071487efdbf892e34dc5f35911312c030a3ab8 100644 (file)
@@ -496,4 +496,4 @@ MagickBooleanType SyncAuthenticPixels(Image *image,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 05:01 -->
\ No newline at end of file
index a93eb549a4a2d642d8c4633347b628cf178a08d7..17759ecc30f573ce1e505e7d1e70896b8c96b980 100644 (file)
@@ -291,3 +291,4 @@ MagickBooleanType SetImageAlphaChannel(Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 17:39 -->
\ No newline at end of file
index 955e852107826d228416e3e5e57c5b03f4118c6c..28ecf2f2583e5e594cea1620d5c102b2e765c462 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Encipher or Decipher an Image @ ImageMagick</title>
+  <title>MagickCore, C API: Convert to and from Cipher Pixels @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="encipher, or, decipher, an, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, convert, to, from, cipher, pixels, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/cipher.html" rel="canonical" />
+  <link href="cipher.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="cipher.html#encipher">Encipher an Image</a> • <a href="cipher.html#decipher">Decipher an Image</a> • <a href="cipher.html#caveats">Encipher and Decipher Caveats</a></p>
+<p class="text-center"><a href="cipher.html#AcquireAESInfo">AcquireAESInfo</a> &#8226; <a href="cipher.html#DestroyAESInfo">DestroyAESInfo</a> &#8226; <a href="cipher.html#EncipherAESBlock">EncipherAESBlock</a> &#8226; <a href="cipher.html#PasskeyDecipherImage">PasskeyDecipherImage</a> &#8226; <a href="cipher.html#PasskeyEncipherImage">PasskeyEncipherImage</a> &#8226; <a href="cipher.html#SetAESKey">SetAESKey</a> &#8226; <a href="cipher.html#PasskeyDecipherImage">PasskeyDecipherImage</a> &#8226; <a href="cipher.html#PasskeyEncipherImage">PasskeyEncipherImage</a></p>
 
-<p class="lead magick-description">Most images, by design, are made to be viewed often and by many people.  Web images, for example, may be viewed hundreds of times a day by a multitude of vistors.  However, in some cases, you may want to keep a particular image private so that only you or perhaps a select group of your friends or web visitors can view it.  ImageMagick permits you to scramble your images such that unless someone knows your passphrase, they will be unable to view the original content.</p>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="AcquireAESInfo">AcquireAESInfo</a></h2>
 
-<p>You could use an <a href="http://www.wizards-toolkit.org/www/encipher.html">enciphering</a> utility to scramble your image but they typically scramble the entire file making it unrecognizable as an image format.  With ImageMagick, only the pixels are scrambled.  The scrambled image continues to be recognized as an image and will even display in your web page.  However, the content appears as gibberish, nothing like the original content.</p>
+<p>AcquireAESInfo() allocate the AESInfo structure.</p>
 
-<h2 class="magick-post-title"><a class="anchor" id="encipher"></a>Encipher an Image</h2>
+<p>The format of the AcquireAESInfo method is:</p>
 
-<p>Use the <a href="../../www/command-line-options.html#encipher">-encipher</a> option to scramble your image so that it is unrecognizable.  The option requires a filename that contains your passphrase.  In this example we scramble an image and save it in the PNG format:</p>
+<pre class="text">
+AESInfo *AcquireAESInfo(void)
+</pre>
 
-<pre class="highlight"><code>convert rose.jpg -encipher passphrase.txt rose.png
-</code></pre>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="DestroyAESInfo">DestroyAESInfo</a></h2>
 
-<p>Here we encipher an image using another image as the passphrase:</p>
+<p>DestroyAESInfo() zeros memory associated with the AESInfo structure.</p>
 
-<pre class="highlight"><code>convert rose.jpg -encipher smiley.gif rose.png
-</code></pre>
+<p>The format of the DestroyAESInfo method is:</p>
 
-<h2 class="magick-post-title"><a class="anchor" id="decipher"></a>Decipher an Image</h2>
+<pre class="text">
+AESInfo *DestroyAESInfo(AESInfo *aes_info)
+</pre>
 
-<p>Use the <a href="../../www/command-line-options.html#decipher">-decipher</a> option to unscramble your image so that it is recognizable once again.  The option requires a filename that contains your passphrase.  In this example we unscramble an image and save it in the JPEG format:</p>
+<p>A description of each parameter follows:</p>
 
-<pre class="highlight"><code>convert rose.png -decipher passphrase.txt rose.jpg
-</code></pre>
+<dd>
+</dd>
 
-<h2 class="magick-post-title"><a class="anchor" id="caveats"></a>Encipher and Decipher Caveats</h2>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>aes_info</dt>
+<dd>the cipher context. </dd>
 
-<p>Some formats do not support enciphered pixels-- the JPEG or GIF format, for
-example.  To ensure your image format is supported, encipher a test image and
-verify you can restore its original content <var>before</var> you encipher any
-additional images in that format.</p>
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="EncipherAESBlock">EncipherAESBlock</a></h2>
 
-<p>The image format may only support 8-bit and RGB (TrueColor). As such you may
-like to include the options "-depth 8 -type TrueColor" before the output
-filename.</p>
+<p>EncipherAESBlock() enciphers a single block of plaintext to produce a block of ciphertext.</p>
 
-<p>The passphrase can be any combinations of letters and symbols.  It should
-be a minimum of 12 character combinations to help ensure your image remains
-private.  Also make sure your passphrase file permissions prevent others from
-reading it otherwise unintended users may be able to view the original image
-content.</p>
+<p>The format of the EncipherAESBlock method is:</p>
 
-<p>You can only restore the original image content if you know your
-passphrase.  If you lose or forget it, your original image content is lost
-forever.</p>
+<pre class="text">
+void EncipherAES(AESInfo *aes_info,const unsigned char *plaintext,
+  unsigned char *ciphertext)
+</pre>
 
-<p>ImageMagick only scrambles the image pixels.  The image metadata remains
-untouched and readable by anyone with access to the image file.</p>
+<p>A description of each parameter follows:</p>
 
-<p>ImageMagick uses the <a
-href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES</a>
-cipher in Counter mode.  We use the the first half of your passphrase to derive the nonce.  The second half is the cipher key. When used correctly, AES-CTR provides a high level of confidentiality. To avoid information leaks, you must use a fresh passphrase for each image your encrypt.</p>
+<dd>
+</dd>
 
-<p>Currently only ImageMagick can restore your enciphered image content.  We
-use a standard cipher and mode so other vendors could support enciphered image content.</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>aes_info</dt>
+<dd>the cipher context. </dd>
 
-<p>Some small practical examples of image enciphering can be found in IM
-Examples <a href="../../Usage/transform/#encipher"
->Encrypting Image Data</a>. </p>
+<dd> </dd>
+<dt>plaintext</dt>
+<dd>the plain text. </dd>
 
+<dd> </dd>
+<dt>ciphertext</dt>
+<dd>the cipher text. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="PasskeyDecipherImage">PasskeyDecipherImage</a></h2>
+
+<p>PasskeyDecipherImage() converts cipher pixels to plain pixels.</p>
+
+<p>The format of the PasskeyDecipherImage method is:</p>
+
+<pre class="text">
+MagickBooleanType PasskeyDecipherImage(Image *image,
+  const StringInfo *passkey,ExceptionInfo *exception)
+MagickBooleanType DecipherImage(Image *image,const char *passphrase,
+  ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image</dt>
+<dd>the image. </dd>
+
+<dd> </dd>
+<dt>passphrase</dt>
+<dd>decipher cipher pixels with this passphrase. </dd>
+
+<dd> </dd>
+<dt>passkey</dt>
+<dd>decrypt cipher pixels with this passkey. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="PasskeyEncipherImage">PasskeyEncipherImage</a></h2>
+
+<p>PasskeyEncipherImage() converts pixels to cipher-pixels.</p>
+
+<p>The format of the PasskeyEncipherImage method is:</p>
+
+<pre class="text">
+MagickBooleanType PasskeyEncipherImage(Image *image,
+  const StringInfo *passkey,ExceptionInfo *exception)
+MagickBooleanType EncipherImage(Image *image,const char *passphrase,
+  ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image</dt>
+<dd>the image. </dd>
+
+<dd> </dd>
+<dt>passphrase</dt>
+<dd>encipher pixels with this passphrase. </dd>
+
+<dd> </dd>
+<dt>passkey</dt>
+<dd>decrypt cipher pixels with this passkey. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="SetAESKey">SetAESKey</a></h2>
+
+<p>SetAESKey() sets the key for the AES cipher.  The key length is specified in bits.  Valid values are 128, 192, or 256 requiring a key buffer length in bytes of 16, 24, and 32 respectively.</p>
+
+<p>The format of the SetAESKey method is:</p>
+
+<pre class="text">
+SetAESKey(AESInfo *aes_info,const StringInfo *key)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>aes_info</dt>
+<dd>the cipher context. </dd>
+
+<dd> </dd>
+<dt>key</dt>
+<dd>the key. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="PasskeyDecipherImage">PasskeyDecipherImage</a></h2>
+
+<p>PasskeyDecipherImage() converts cipher pixels to plain pixels.</p>
+
+<p>The format of the PasskeyDecipherImage method is:</p>
+
+<pre class="text">
+MagickBooleanType PasskeyDecipherImage(Image *image,
+  const StringInfo *passkey,ExceptionInfo *exception)
+MagickBooleanType DecipherImage(Image *image,const char *passphrase,
+  ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image</dt>
+<dd>the image. </dd>
+
+<dd> </dd>
+<dt>passphrase</dt>
+<dd>decipher cipher pixels with this passphrase. </dd>
+
+<dd> </dd>
+<dt>passkey</dt>
+<dd>decrypt cipher pixels with this passkey. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/cipher_8c.html" id="PasskeyEncipherImage">PasskeyEncipherImage</a></h2>
+
+<p>PasskeyEncipherImage() converts pixels to cipher-pixels.</p>
+
+<p>The format of the PasskeyEncipherImage method is:</p>
+
+<pre class="text">
+MagickBooleanType PasskeyEncipherImage(Image *image,
+  const StringInfo *passkey,ExceptionInfo *exception)
+MagickBooleanType EncipherImage(Image *image,const char *passphrase,
+  ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>passphrase</dt>
+<dd>decipher cipher pixels with this passphrase. </dd>
+
+<dd> </dd>
+<dt>passkey</dt>
+<dd>decrypt cipher pixels with this passkey. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -164,4 +339,4 @@ Examples <a href="../../Usage/transform/#encipher"
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 16th February 2018 16:26 -->
\ No newline at end of file
index 0ec88dadedeb3fbc4aa9213a8056bbd63e4cae8b..3998b912133e0f9703800f39eef93dfd8342a5a8 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Color Names @ ImageMagick</title>
+  <title>MagickCore, C API: Count the Colors in an Image @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="color, names, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, count, the, colors, in, an, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/color.html" rel="canonical" />
+  <link href="color.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="color.html#usage">Example Usage</a> • <a href="color.html#models">Color Model Specification</a> • <a href="color.html#color_names">List of Color Names</a></p>
+<p class="text-center"><a href="color.html#AcquireColorCache">AcquireColorCache</a> &#8226; <a href="color.html#GetColorInfoList">GetColorInfoList</a> &#8226; <a href="color.html#GetColorList">GetColorList</a> &#8226; <a href="color.html#ListColorInfo">ListColorInfo</a> &#8226; <a href="color.html#QueryColorname">QueryColorname</a></p>
 
-<p class="lead magick-description">A number of ImageMagick options and methods take a color as an argument. The color can then be given as a color name (there is a limited but large set of these; see below) or it can be given as a set of numbers (in decimal or hexadecimal), each corresponding to a channel in an RGB or RGBA color model.  HSL, HSLA, HSB, HSBA, CMYK, or CMYKA color models may also be specified. These topics are briefly described in the sections below.</p>
+<h2><a href="../../api/MagickCore/color_8c.html" id="AcquireColorCache">AcquireColorCache</a></h2>
 
-<p>Use the <a href="../../contrib/color-converter.html">Color Converter</a> to supply any valid ImageMagick color specification as described below to see a color swatch of that color and to convert to all the other color models.</p>
+<p>AcquireColorCache() caches one or more color configurations which provides a mapping between color attributes and a color name.</p>
 
-<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
+<p>The format of the AcquireColorCache method is:</p>
 
-<p>Each of the following commands produces the same <var>lime</var> border around the image. (Use "double quotes" for Windows.)</p>
+<pre class="text">
+LinkedListInfo *AcquireColorCache(const char *filename,
+  ExceptionInfo *exception)
+</pre>
 
-<pre class="highlight"><code>magick -bordercolor lime -border 10 image.jpg image.png
-magick -bordercolor '#0f0' -border 10 image.jpg image.png
-magick -bordercolor '#00ff00' -border 10 image.jpg image.png
-magick -bordercolor 'rgb(0,255,0)' -border 10 image.jpg image.png
-magick -bordercolor 'rgb(0,100%,0)' -border 10 image.jpg image.png</code></pre>
+<p>A description of each parameter follows:</p>
 
-<p>The list of recognized color names (for example, <var>aqua</var>, <var>black</var>, <var>blue</var>, <var>fuchsia</var>, <var>gray</var>, <var>green</var>, <var>lime</var>, <var>maroon</var>, <var>navy</var>, <var>olive</var>, <var>purple</var>, <var>red</var>, <var>silver</var>, <var>teal</var>, <var>white</var>, <var>yellow</var>, and others) is shown in a table further below.</p>
+<dd>
+</dd>
 
-<h2 class="magick-post-title"><a class="anchor" id="models"></a>Color Model Specification</h2>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>filename</dt>
+<dd>the font file name. </dd>
 
-<p>The sRGB, CMYK, HSL and HSB color models are used in numerical color specifications. These examples all specify the same red sRGB color:</p>
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
 
-<pre class="highlight"><code>#f00                      #rgb
-#ff0000                   #rrggbb
-#ff0000ff                 #rrggbbaa
-#ffff00000000             #rrrrggggbbbb
-#ffff00000000ffff         #rrrrggggbbbbaaaa
-rgb(255, 0, 0)            an integer in the range 0—255 for each component
-rgb(100.0%, 0.0%, 0.0%)   a float in the range 0—100% for each component</code></pre>
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/color_8c.html" id="GetColorInfoList">GetColorInfoList</a></h2>
 
-<p>The format of an sRGB value in hexadecimal notation is a '#' immediately followed by either three, six, or twelve hexadecimal characters. The three-digit sRGB notation (#rgb) is converted into six-digit form (#rrggbb) by replicating digits, not by adding zeros. For example,  #fb0 expands to #ffbb00. This ensures that white (#ffffff) can be specified with the short notation (#fff) and removes any dependencies on the color depth of the image. Use the hexadecimal notation whenever performance is an issue.  ImageMagick does not need to load the expansive color table to interpret a hexadecimal color, e.g., <code>#000000</code>, but it does if <code>black</code> is used instead.</p>
+<p>GetColorInfoList() returns any colors that match the specified pattern.</p>
 
-<p>The format of an sRGB value in the functional notation is 'rgb(<var>r</var>,<var>g</var>,<var>b</var>)',  where  <var>r</var>, <var>g</var>, and <var>b</var> are either three integer or float values in the range 0—255 or three integer or float percentage values in the range 0—100%. The value 255 corresponds to 100%, and to #F or #FF in the hexadecimal notation: rgb(255, 255, 255) = rgb(100%, 100%, 100%) = #FFF = #FFFFFF. </p>
+<p>The format of the GetColorInfoList function is:</p>
 
-<p>White space characters are allowed around the numerical values, at least if the entire color argument is enclosed in quotes ('single quotes' for Unix-like systems, "double quotes" for Windows).</p>
+<pre class="text">
+const ColorInfo **GetColorInfoList(const char *pattern,
+  size_t *number_colors,ExceptionInfo *exception)
+</pre>
 
-<p>The sRGB color model is extended in this specification to include <var>alpha</var> to allow specification of the transparency of a color. These examples all specify the same color:</p>
+<p>A description of each parameter follows:</p>
 
-<pre class="highlight"><code>rgb(255, 0, 0)                 range 0 - 255
-rgba(255, 0, 0, 1.0)           the same, with an explicit alpha value
-rgb(100%, 0%, 0%)              range 0.0% - 100.0%
-rgba(100%, 0%, 0%, 1.0)        the same, with an explicit alpha value</code></pre>
+<dd>
+</dd>
 
-<p>The format of an RGBA value in the functional notation is 'rgba(<var>r</var>,<var>g</var>,<var>b</var>,<var>a</var>)',  where  <var>r</var>, <var>g</var>, and <var>b</var> are as described above for the RGB functional notation, and where the alpha value <var>a</var> ranges from 0.0 (fully transparent) to 1.0 (fully opaque).</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>pattern</dt>
+<dd>Specifies a pointer to a text string containing a pattern. </dd>
 
-<p>There is also a color called 'none' that is fully transparent.  This color is shorthand for <code>rgba(0, 0, 0, 0.0)</code>.</p>
+<dd> </dd>
+<dt>number_colors</dt>
+<dd> This integer returns the number of colors in the list. </dd>
 
-<p>Non-linear gray values are conveniently defined with a name, single intensity value or an intensity value and an alpha value:</p>
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
 
-<pre class="highlight"><code>
-gray50            near mid gray
-gray(127)         near mid gray
-gray(50%)         mid gray
-graya(50%, 0.5)   semi-transparent mid gray</code></pre>
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/color_8c.html" id="GetColorList">GetColorList</a></h2>
 
-<p>For linear gray values add -colorspace RGB -colorspace Gray or -colorspace LinearGray when creating gray colors. The latter is new as of Imagemagick 6.9.9-29 and 7.0.7-17.</p>
+<p>GetColorList() returns any colors that match the specified pattern.</p>
 
-<p>The ImageMagick color model also supports hue-saturation-lightness (HSL) and hue-saturation-brightness (HSB) colors as a complement to numerical sRGB colors. HSL colors are encoding as a triple (hue, saturation, lightness). Likewise HSB colors are encoding as a triple (hue, saturation, brightness). HSL or HSB triples are either direct values (hue 0—360, saturation 0—255, lightness or brightness 0—255) or with S,L,B as percentage values relative to these ranges.</p>
+<p>The format of the GetColorList function is:</p>
 
-<p>The HSB color system is geometrically represented as a cone with its apex pointing downward. Hue is measured around the perimeter. Saturation is measured from the axis outward. Brightness is measured from the apex upward.</p>
+<pre class="text">
+char **GetColorList(const char *pattern,size_t *number_colors,
+  ExceptionInfo *exception)
+</pre>
 
-<p>The HSL color system is geometrically represented as a stacked double cone with one apex pointing downward and the other pointing upward. The widest ends of both cones are stacked together one on top of the other. Hue is measured around the perimeter. Saturation is measured from the axis outward. Lightness is measured from the bottom apex upward.</p>
+<p>A description of each parameter follows:</p>
 
-<p>See <a href="http://en.wikipedia.org/wiki/HSL_and_HSV">http://en.wikipedia.org/wiki/HSL_and_HSV</a> for more details on HSL and HSB color systems.</p>
+<dd>
+</dd>
 
-<p>Hue is represented as an angle of the color around the circular perimeter of the cone(s) (i.e. the rainbow represented in a circle). Hue values are integers or floats in the range 0—360. By definition red=0=360, and the other colors are spread around the circle, so green=120, blue=240, etc. As an angle, it implicitly wraps around such that -120=240 and 480=120, for instance. (Students of trigonometry would say that "coterminal angles are equivalent" here; an angle <var>θ</var> can be standardized by computing the equivalent angle, <var>θ</var> mod 360.)</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>pattern</dt>
+<dd>Specifies a pointer to a text string containing a pattern. </dd>
 
-<p>Saturation is measure outward from the central axis of the cone(s) toward the perimeter of the cone(s). Saturation may be expressed as an integer or float in the range 0—255 or as an integer or float percentage in the range 0—100. Saturation may be thought of as the absence of any "white" mixed with the base color. Thus 255 or 100% is full saturation and corresponds to a point on the outside surface of the cone (HSB) or double cone (HSL). It will be the most "colorful" region. 0 or 0% is no saturation which results in some shade of gray. It occurs along the central axis of the cone or double cone with black at the bottom apex and white at the top.</p>
+<dd> </dd>
+<dt>number_colors</dt>
+<dd> This integer returns the number of colors in the list. </dd>
 
-<p>Brightness and Lightness also may be represented as integers or floats in the range 0—255 or as integer or float percentages in the range 0—100%. Brightness and Lightness are measured from the bottom apex upward to the top of the cone or double cone along the cone(s) central axis. 0 or 0% corresponds to the bottom apex and 255 or 100% corresponds to the top center of the cone for Brightness and to the top apex of the double cone for Lightness.</p>
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
 
-<p>The HSB color system is a little easier to understand than the HSL color system. In the HSB color system, black is at the bottom apex and white is at the top center of the cone on the central axis. The most colorful or saturated colors will then be at the outer edge of the top of the cone at the widest part. Thus at Saturation=100% and Brightness=100%</p>
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/color_8c.html" id="ListColorInfo">ListColorInfo</a></h2>
 
-<pre class="highlight"><code>hsb(0,   100%,  100%)    or    hsb(0,   255,   255)          full red
-hsb(120, 100%,  100%)    or    hsb(120, 255,   255)       full green
-hsb(120, 100%,  75%)     or    hsb(120, 255,   191.25)    medium green
-hsb(120, 100%,  50%)     or    hsb(120, 255,   127.5)     dark green
-hsb(120, 100%,  25%)     or    hsb(120, 255,   63.75)     very dark green
-hsb(120, 50%,   50%)     or    hsb(120, 127.5, 127.5)     pastel green</code></pre>
+<p>ListColorInfo() lists color names to the specified file.  Color names are a convenience.  Rather than defining a color by its red, green, and blue intensities just use a color name such as white, blue, or yellow.</p>
 
-<p>In the HSL color system, black is at the bottom apex and white is at the top apex. However, saturation is largest at the middle of the double cone on its outer perimeter and thus at a lightness value of 50%. The most colorful or saturated colors will then be at the outer edge of the double cone at its widest part. Thus at Saturation=100% and Brightness=50%</p>
+<p>The format of the ListColorInfo method is:</p>
 
-<pre class="highlight"><code>hsl(0,   100%,  50%)     or    hsl(0,   255,   127.5)        full red
-hsl(120, 100%,  100%)    or    hsl(120, 255,   255)       white
-hsl(120, 100%,  75%)     or    hsl(120, 255,   191.25)    pastel green
-hsl(120, 100%,  50%)     or    hsl(120, 255,   127.5)     full green
-hsl(120, 100%,  25%)     or    hsl(120, 255,   63.75)     dark green
-hsl(120, 50%,   50%)     or    hsl(120, 127.5, 127.5)     medium green</code></pre>
+<pre class="text">
+MagickBooleanType ListColorInfo(FILE *file,ExceptionInfo *exception)
+</pre>
 
-<p>One advantage of HSB or HSL over RGB is that it can be more intuitive: you can guess at the colors you want, and then tweak. It is also easier to create sets of matching colors (by keeping the hue the same and varying the brightness or lightness and saturation, for example).</p>
+<p>A description of each parameter follows.</p>
 
-<p>Just as the 'rgb()' functional notation has the 'rgba()' alpha counterpart, the 'hsl()' and 'hsb()' functional notations have their 'hsla()' 'hsba()' alpha counterparts. These examples specify the same color:</p>
+<dt>file</dt>
+<p>List color names to this file handle.</p>
 
-<pre class="highlight"><code>hsb(120, 100%,  100%)              full green in hsb
-hsba(120, 100%,  100%,  1.0)       the same, with an alpha value of 1.0
-hsb(120, 255,  255)                full green in hsb
-hsba(120, 255,  255,  1.0)         the same, with an alpha value of 1.0
+<dt>exception</dt>
+<p>return any errors or warnings in this structure.</p>
 
-hsl(120, 100%,  50%)               full green in hsl
-hsla(120, 100%,  50%,  1.0)        the same, with an alpha value of 1.0
-hsl(120, 255,  127.5)              full green in hsl
-hsla(120, 255,  127.5,  1.0)       the same, with an alpha value of 1.0</code></pre>
+<h2><a href="../../api/MagickCore/color_8c.html" id="QueryColorname">QueryColorname</a></h2>
 
-<p>For ImageMagick between 6.5.6-6 and 6.9.2-0, HSL (HSB) could only be specified with Hue as percent in range 0—100%, when Saturation and Lightness (Brightness) were also specified as percent in range 0—100%.</p>
+<p>QueryColorname() returns a named color for the given color intensity. If an exact match is not found, a hex value is returned instead.  For example an intensity of rgb:(0,0,0) returns black whereas rgb:(223,223,223) returns #dfdfdf.</p>
 
-<p>Specify the Lab colors like this:</p>
-<pre class="highlight"><code>cielab(62.253188, 23.950124, 48.410653)</code></pre>
-<p>Note, the <code>a</code> and <code>b</code> components of any Lab color you specify are biased internally by 50% to ensure it fits in the quantum range (typically 0 to 65535).  The bias is retained when writing to the TIFF and MIFF image formats.  However, the TXT format supports negative pixel values so the bias is removed when writing to this format:</p>
-<pre class="highlight"><code>-> magick xc:cyan -colorspace LAB txt:
-# ImageMagick pixel enumeration: 1,1,65535,cielab
-0,0: (91.1131%,-18.8571%,-5.5436%)  #E93F00000000  cielab(91.1131%,-18.8571%,-5.5436%)
+<p>UPDATE: the 'image' argument is no longer needed as all information should have been preset using GetPixelInfo().</p>
 
--> magick -size 100x100 xc:"cielab(91.1131%,-18.8571%,-5.5436%)" -colorspace sRGB cyan.png</code></pre>
+<p>The format of the QueryColorname method is:</p>
 
-<p>Or specify colors generically with the <code>icc-color</code> keyword, for example:</p>
-<pre class="highlight"><code>
-icc-color(cmyk, 0.11, 0.48, 0.83, 0.00)  cymk
-icc-color(rgb, 1, 0, 0)                  linear rgb
-icc-color(rgb, red)                      linear rgb
-icc-color(lineargray, 0.5)               linear gray
-icc-color(srgb, 1, 0, 0)                 non-linear rgb
-icc-color(srgb, red)                     non-linear rgb
-icc-color(gray, 0.5)                     non-linear gray
-</code></pre>
+<pre class="text">
+MagickBooleanType QueryColorname(const Image *image,
+  const PixelInfo *color,const ComplianceType compliance,char *name,
+  ExceptionInfo *exception)
+</pre>
 
-<p>Or specify uncalibrated device colors with the <code>device-</code> keyword, for example:</p>
-<pre class="highlight"><code>device-gray(0.5)
-device-rgb(0.5, 1.0, 0.0)
-device-cmyk(0.11, 0.48, 0.83, 0.00)</code></pre>
+<p>A description of each parameter follows.</p>
 
-<h2 class="magick-post-title"><a class="anchor" id="color_names"></a>List of Color Names</h2>
+<dt>image</dt>
+<p>the image. (not used! - color gets settings from GetPixelInfo()</p>
 
-<p>The table below provides a list of named colors recognized by ImageMagick:</p>
+<dt>color</dt>
+<p>the color intensities.</p>
 
-<table class="table table-sm table-striped">
-<tbody>
-  <tr>
-    <th align="right">Name</th>
-    <th align="center">Color</th>
-    <th align="left">RGB</th>
-    <th align="left">Hex</th>
-  </tr>
+<dt>Compliance</dt>
+<p>Adhere to this color standard: SVG, X11, or XPM.</p>
 
-  <tr>
-    <td align="right">snow</td>
-    <td align="center" style="background-color: rgb(255, 250, 250)">snow</td>
-    <td align="left">rgb(255, 250, 250)</td>
-    <td align="left">#FFFAFA</td>
-  </tr>
+<dt>name</dt>
+<p>Return the color name or hex value.</p>
 
-  <tr>
-    <td align="right">snow1</td>
-    <td align="center" style="background-color: rgb(255, 250, 250)">snow1</td>
-    <td align="left">rgb(255, 250, 250)</td>
-    <td align="left">#FFFAFA</td>
-  </tr>
-
-  <tr>
-    <td align="right">snow2</td>
-    <td align="center" style="background-color: rgb(238, 233, 233)">snow2</td>
-    <td align="left">rgb(238, 233, 233)</td>
-    <td align="left">#EEE9E9</td>
-  </tr>
-
-  <tr>
-    <td align="right">RosyBrown1</td>
-    <td align="center" style="background-color: rgb(255, 193, 193)">RosyBrown1</td>
-    <td align="left">rgb(255, 193, 193)</td>
-    <td align="left">#FFC1C1</td>
-  </tr>
-
-  <tr>
-    <td align="right">RosyBrown2</td>
-    <td align="center" style="background-color: rgb(238, 180, 180)">RosyBrown2</td>
-    <td align="left">rgb(238, 180, 180)</td>
-    <td align="left">#EEB4B4</td>
-  </tr>
-
-  <tr>
-    <td align="right">snow3</td>
-    <td align="center" style="background-color: rgb(205, 201, 201)">snow3</td>
-    <td align="left">rgb(205, 201, 201)</td>
-    <td align="left">#CDC9C9</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightCoral</td>
-    <td align="center" style="background-color: rgb(240, 128, 128)">LightCoral</td>
-    <td align="left">rgb(240, 128, 128)</td>
-    <td align="left">#F08080</td>
-  </tr>
-
-  <tr>
-    <td align="right">IndianRed1</td>
-    <td align="center" style="background-color: rgb(255, 106, 106)">IndianRed1</td>
-    <td align="left">rgb(255, 106, 106)</td>
-    <td align="left">#FF6A6A</td>
-  </tr>
-
-  <tr>
-    <td align="right">RosyBrown3</td>
-    <td align="center" style="background-color: rgb(205, 155, 155)">RosyBrown3</td>
-    <td align="left">rgb(205, 155, 155)</td>
-    <td align="left">#CD9B9B</td>
-  </tr>
-
-  <tr>
-    <td align="right">IndianRed2</td>
-    <td align="center" style="background-color: rgb(238, 99,  99)">IndianRed2</td>
-    <td align="left">rgb(238, 99,  99)</td>
-    <td align="left">#EE6363</td>
-  </tr>
-
-  <tr>
-    <td align="right">RosyBrown</td>
-    <td align="center" style="background-color: rgb(188, 143, 143)">RosyBrown</td>
-    <td align="left">rgb(188, 143, 143)</td>
-    <td align="left">#BC8F8F</td>
-  </tr>
-
-  <tr>
-    <td align="right">brown1</td>
-    <td align="center" style="background-color: rgb(255, 64,  64)">brown1</td>
-    <td align="left">rgb(255, 64,  64)</td>
-    <td align="left">#FF4040</td>
-  </tr>
-
-  <tr>
-    <td align="right">firebrick1</td>
-    <td align="center" style="background-color: rgb(255, 48,  48)">firebrick1</td>
-    <td align="left">rgb(255, 48,  48)</td>
-    <td align="left">#FF3030</td>
-  </tr>
-
-  <tr>
-    <td align="right">brown2</td>
-    <td align="center" style="background-color: rgb(238, 59,  59)">brown2</td>
-    <td align="left">rgb(238, 59,  59)</td>
-    <td align="left">#EE3B3B</td>
-  </tr>
-
-  <tr>
-    <td align="right">IndianRed</td>
-    <td align="center" style="background-color: rgb(205, 92,  92)">IndianRed</td>
-    <td align="left">rgb(205, 92,  92)</td>
-    <td align="left">#CD5C5C</td>
-  </tr>
-
-  <tr>
-    <td align="right">IndianRed3</td>
-    <td align="center" style="background-color: rgb(205, 85,  85)">IndianRed3</td>
-    <td align="left">rgb(205, 85,  85)</td>
-    <td align="left">#CD5555</td>
-  </tr>
-
-  <tr>
-    <td align="right">firebrick2</td>
-    <td align="center" style="background-color: rgb(238, 44,  44)">firebrick2</td>
-    <td align="left">rgb(238, 44,  44)</td>
-    <td align="left">#EE2C2C</td>
-  </tr>
-
-  <tr>
-    <td align="right">snow4</td>
-    <td align="center" style="background-color: rgb(139, 137, 137)">snow4</td>
-    <td align="left">rgb(139, 137, 137)</td>
-    <td align="left">#8B8989</td>
-  </tr>
-
-  <tr>
-    <td align="right">brown3</td>
-    <td align="center" style="background-color: rgb(205, 51,  51)">brown3</td>
-    <td align="left">rgb(205, 51,  51)</td>
-    <td align="left">#CD3333</td>
-  </tr>
-
-  <tr>
-    <td align="right">red</td>
-    <td align="center" style="background-color: rgb(255,  0,   0)">red</td>
-    <td align="left">rgb(255,  0,   0)</td>
-    <td align="left">#FF0000</td>
-  </tr>
-
-  <tr>
-    <td align="right">red1</td>
-    <td align="center" style="background-color: rgb(255,  0,   0)">red1</td>
-    <td align="left">rgb(255,  0,   0)</td>
-    <td align="left">#FF0000</td>
-  </tr>
-
-  <tr>
-    <td align="right">RosyBrown4</td>
-    <td align="center" style="background-color: rgb(139, 105, 105)">RosyBrown4</td>
-    <td align="left">rgb(139, 105, 105)</td>
-    <td align="left">#8B6969</td>
-  </tr>
-
-  <tr>
-    <td align="right">firebrick3</td>
-    <td align="center" style="background-color: rgb(205, 38,  38)">firebrick3</td>
-    <td align="left">rgb(205, 38,  38)</td>
-    <td align="left">#CD2626</td>
-  </tr>
-
-  <tr>
-    <td align="right">red2</td>
-    <td align="center" style="background-color: rgb(238,  0,   0)">red2</td>
-    <td align="left">rgb(238,  0,   0)</td>
-    <td align="left">#EE0000</td>
-  </tr>
-
-  <tr>
-    <td align="right">firebrick</td>
-    <td align="center" style="background-color: rgb(178, 34,  34)">firebrick</td>
-    <td align="left">rgb(178, 34,  34)</td>
-    <td align="left">#B22222</td>
-  </tr>
-
-  <tr>
-    <td align="right">brown</td>
-    <td align="center" style="background-color: rgb(165, 42,  42)">brown</td>
-    <td align="left">rgb(165, 42,  42)</td>
-    <td align="left">#A52A2A</td>
-  </tr>
-
-  <tr>
-    <td align="right">red3</td>
-    <td align="center" style="background-color: rgb(205,  0,   0)">red3</td>
-    <td align="left">rgb(205,  0,   0)</td>
-    <td align="left">#CD0000</td>
-  </tr>
-
-  <tr>
-    <td align="right">IndianRed4</td>
-    <td align="center" style="background-color: rgb(139, 58,  58)">IndianRed4</td>
-    <td align="left">rgb(139, 58,  58)</td>
-    <td align="left">#8B3A3A</td>
-  </tr>
-
-  <tr>
-    <td align="right">brown4</td>
-    <td align="center" style="background-color: rgb(139, 35,  35)">brown4</td>
-    <td align="left">rgb(139, 35,  35)</td>
-    <td align="left">#8B2323</td>
-  </tr>
-
-  <tr>
-    <td align="right">firebrick4</td>
-    <td align="center" style="background-color: rgb(139, 26,  26)">firebrick4</td>
-    <td align="left">rgb(139, 26,  26)</td>
-    <td align="left">#8B1A1A</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkRed</td>
-    <td align="center" style="background-color: rgb(139,  0,   0)">DarkRed</td>
-    <td align="left">rgb(139,  0,   0)</td>
-    <td align="left">#8B0000</td>
-  </tr>
-
-  <tr>
-    <td align="right">red4</td>
-    <td align="center" style="background-color: rgb(139,  0,   0)">red4</td>
-    <td align="left">rgb(139,  0,   0)</td>
-    <td align="left">#8B0000</td>
-  </tr>
-
-  <tr>
-    <td align="right">maroon</td>
-    <td align="center" style="background-color: rgb(128,  0,   0)">maroon (SVG compliance)</td>
-    <td align="left">rgb(128,  0,   0)</td>
-    <td align="left">#800000</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightPink1</td>
-    <td align="center" style="background-color: rgb(255, 174, 185)">LightPink1</td>
-    <td align="left">rgb(255, 174, 185)</td>
-    <td align="left">#FFAEB9</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightPink3</td>
-    <td align="center" style="background-color: rgb(205, 140, 149)">LightPink3</td>
-    <td align="left">rgb(205, 140, 149)</td>
-    <td align="left">#CD8C95</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightPink4</td>
-    <td align="center" style="background-color: rgb(139, 95, 101)">LightPink4</td>
-    <td align="left">rgb(139, 95, 101)</td>
-    <td align="left">#8B5F65</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightPink2</td>
-    <td align="center" style="background-color: rgb(238, 162, 173)">LightPink2</td>
-    <td align="left">rgb(238, 162, 173)</td>
-    <td align="left">#EEA2AD</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightPink</td>
-    <td align="center" style="background-color: rgb(255, 182, 193)">LightPink</td>
-    <td align="left">rgb(255, 182, 193)</td>
-    <td align="left">#FFB6C1</td>
-  </tr>
-
-  <tr>
-    <td align="right">pink</td>
-    <td align="center" style="background-color: rgb(255, 192, 203)">pink</td>
-    <td align="left">rgb(255, 192, 203)</td>
-    <td align="left">#FFC0CB</td>
-  </tr>
-
-  <tr>
-    <td align="right">crimson</td>
-    <td align="center" style="background-color: rgb(220, 20,  60)">crimson</td>
-    <td align="left">rgb(220, 20,  60)</td>
-    <td align="left">#DC143C</td>
-  </tr>
-
-  <tr>
-    <td align="right">pink1</td>
-    <td align="center" style="background-color: rgb(255, 181, 197)">pink1</td>
-    <td align="left">rgb(255, 181, 197)</td>
-    <td align="left">#FFB5C5</td>
-  </tr>
-
-  <tr>
-    <td align="right">pink2</td>
-    <td align="center" style="background-color: rgb(238, 169, 184)">pink2</td>
-    <td align="left">rgb(238, 169, 184)</td>
-    <td align="left">#EEA9B8</td>
-  </tr>
-
-  <tr>
-    <td align="right">pink3</td>
-    <td align="center" style="background-color: rgb(205, 145, 158)">pink3</td>
-    <td align="left">rgb(205, 145, 158)</td>
-    <td align="left">#CD919E</td>
-  </tr>
-
-  <tr>
-    <td align="right">pink4</td>
-    <td align="center" style="background-color: rgb(139, 99, 108)">pink4</td>
-    <td align="left">rgb(139, 99, 108)</td>
-    <td align="left">#8B636C</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleVioletRed4</td>
-    <td align="center" style="background-color: rgb(139, 71,  93)">PaleVioletRed4</td>
-    <td align="left">rgb(139, 71,  93)</td>
-    <td align="left">#8B475D</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleVioletRed</td>
-    <td align="center" style="background-color: rgb(219, 112, 147)">PaleVioletRed</td>
-    <td align="left">rgb(219, 112, 147)</td>
-    <td align="left">#DB7093</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleVioletRed2</td>
-    <td align="center" style="background-color: rgb(238, 121, 159)">PaleVioletRed2</td>
-    <td align="left">rgb(238, 121, 159)</td>
-    <td align="left">#EE799F</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleVioletRed1</td>
-    <td align="center" style="background-color: rgb(255, 130, 171)">PaleVioletRed1</td>
-    <td align="left">rgb(255, 130, 171)</td>
-    <td align="left">#FF82AB</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleVioletRed3</td>
-    <td align="center" style="background-color: rgb(205, 104, 137)">PaleVioletRed3</td>
-    <td align="left">rgb(205, 104, 137)</td>
-    <td align="left">#CD6889</td>
-  </tr>
-
-  <tr>
-    <td align="right">LavenderBlush</td>
-    <td align="center" style="background-color: rgb(255, 240, 245)">LavenderBlush</td>
-    <td align="left">rgb(255, 240, 245)</td>
-    <td align="left">#FFF0F5</td>
-  </tr>
-
-  <tr>
-    <td align="right">LavenderBlush1</td>
-    <td align="center" style="background-color: rgb(255, 240, 245)">LavenderBlush1</td>
-    <td align="left">rgb(255, 240, 245)</td>
-    <td align="left">#FFF0F5</td>
-  </tr>
-
-  <tr>
-    <td align="right">LavenderBlush3</td>
-    <td align="center" style="background-color: rgb(205, 193, 197)">LavenderBlush3</td>
-    <td align="left">rgb(205, 193, 197)</td>
-    <td align="left">#CDC1C5</td>
-  </tr>
-
-  <tr>
-    <td align="right">LavenderBlush2</td>
-    <td align="center" style="background-color: rgb(238, 224, 229)">LavenderBlush2</td>
-    <td align="left">rgb(238, 224, 229)</td>
-    <td align="left">#EEE0E5</td>
-  </tr>
-
-  <tr>
-    <td align="right">LavenderBlush4</td>
-    <td align="center" style="background-color: rgb(139, 131, 134)">LavenderBlush4</td>
-    <td align="left">rgb(139, 131, 134)</td>
-    <td align="left">#8B8386</td>
-  </tr>
-
-  <tr>
-    <td align="right">maroon</td>
-    <td align="center" style="background-color: rgb(176, 48,  96)">maroon (X11 compliance)</td>
-    <td align="left">rgb(176, 48,  96)</td>
-    <td align="left">#B03060</td>
-  </tr>
-
-  <tr>
-    <td align="right">HotPink3</td>
-    <td align="center" style="background-color: rgb(205, 96, 144)">HotPink3</td>
-    <td align="left">rgb(205, 96, 144)</td>
-    <td align="left">#CD6090</td>
-  </tr>
-
-  <tr>
-    <td align="right">VioletRed3</td>
-    <td align="center" style="background-color: rgb(205, 50, 120)">VioletRed3</td>
-    <td align="left">rgb(205, 50, 120)</td>
-    <td align="left">#CD3278</td>
-  </tr>
-
-  <tr>
-    <td align="right">VioletRed1</td>
-    <td align="center" style="background-color: rgb(255, 62, 150)">VioletRed1</td>
-    <td align="left">rgb(255, 62, 150)</td>
-    <td align="left">#FF3E96</td>
-  </tr>
-
-  <tr>
-    <td align="right">VioletRed2</td>
-    <td align="center" style="background-color: rgb(238, 58, 140)">VioletRed2</td>
-    <td align="left">rgb(238, 58, 140)</td>
-    <td align="left">#EE3A8C</td>
-  </tr>
-
-  <tr>
-    <td align="right">VioletRed4</td>
-    <td align="center" style="background-color: rgb(139, 34,  82)">VioletRed4</td>
-    <td align="left">rgb(139, 34,  82)</td>
-    <td align="left">#8B2252</td>
-  </tr>
-
-  <tr>
-    <td align="right">HotPink2</td>
-    <td align="center" style="background-color: rgb(238, 106, 167)">HotPink2</td>
-    <td align="left">rgb(238, 106, 167)</td>
-    <td align="left">#EE6AA7</td>
-  </tr>
-
-  <tr>
-    <td align="right">HotPink1</td>
-    <td align="center" style="background-color: rgb(255, 110, 180)">HotPink1</td>
-    <td align="left">rgb(255, 110, 180)</td>
-    <td align="left">#FF6EB4</td>
-  </tr>
-
-  <tr>
-    <td align="right">HotPink4</td>
-    <td align="center" style="background-color: rgb(139, 58,  98)">HotPink4</td>
-    <td align="left">rgb(139, 58,  98)</td>
-    <td align="left">#8B3A62</td>
-  </tr>
-
-  <tr>
-    <td align="right">HotPink</td>
-    <td align="center" style="background-color: rgb(255, 105, 180)">HotPink</td>
-    <td align="left">rgb(255, 105, 180)</td>
-    <td align="left">#FF69B4</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepPink</td>
-    <td align="center" style="background-color: rgb(255, 20, 147)">DeepPink</td>
-    <td align="left">rgb(255, 20, 147)</td>
-    <td align="left">#FF1493</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepPink1</td>
-    <td align="center" style="background-color: rgb(255, 20, 147)">DeepPink1</td>
-    <td align="left">rgb(255, 20, 147)</td>
-    <td align="left">#FF1493</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepPink2</td>
-    <td align="center" style="background-color: rgb(238, 18, 137)">DeepPink2</td>
-    <td align="left">rgb(238, 18, 137)</td>
-    <td align="left">#EE1289</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepPink3</td>
-    <td align="center" style="background-color: rgb(205, 16, 118)">DeepPink3</td>
-    <td align="left">rgb(205, 16, 118)</td>
-    <td align="left">#CD1076</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepPink4</td>
-    <td align="center" style="background-color: rgb(139, 10,  80)">DeepPink4</td>
-    <td align="left">rgb(139, 10,  80)</td>
-    <td align="left">#8B0A50</td>
-  </tr>
-
-  <tr>
-    <td align="right">maroon1</td>
-    <td align="center" style="background-color: rgb(255, 52, 179)">maroon1</td>
-    <td align="left">rgb(255, 52, 179)</td>
-    <td align="left">#FF34B3</td>
-  </tr>
-
-  <tr>
-    <td align="right">maroon2</td>
-    <td align="center" style="background-color: rgb(238, 48, 167)">maroon2</td>
-    <td align="left">rgb(238, 48, 167)</td>
-    <td align="left">#EE30A7</td>
-  </tr>
-
-  <tr>
-    <td align="right">maroon3</td>
-    <td align="center" style="background-color: rgb(205, 41, 144)">maroon3</td>
-    <td align="left">rgb(205, 41, 144)</td>
-    <td align="left">#CD2990</td>
-  </tr>
-
-  <tr>
-    <td align="right">maroon4</td>
-    <td align="center" style="background-color: rgb(139, 28,  98)">maroon4</td>
-    <td align="left">rgb(139, 28,  98)</td>
-    <td align="left">#8B1C62</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumVioletRed</td>
-    <td align="center" style="background-color: rgb(199, 21, 133)">MediumVioletRed</td>
-    <td align="left">rgb(199, 21, 133)</td>
-    <td align="left">#C71585</td>
-  </tr>
-
-  <tr>
-    <td align="right">VioletRed</td>
-    <td align="center" style="background-color: rgb(208, 32, 144)">VioletRed</td>
-    <td align="left">rgb(208, 32, 144)</td>
-    <td align="left">#D02090</td>
-  </tr>
-
-  <tr>
-    <td align="right">orchid2</td>
-    <td align="center" style="background-color: rgb(238, 122, 233)">orchid2</td>
-    <td align="left">rgb(238, 122, 233)</td>
-    <td align="left">#EE7AE9</td>
-  </tr>
-
-  <tr>
-    <td align="right">orchid</td>
-    <td align="center" style="background-color: rgb(218, 112, 214)">orchid</td>
-    <td align="left">rgb(218, 112, 214)</td>
-    <td align="left">#DA70D6</td>
-  </tr>
-
-  <tr>
-    <td align="right">orchid1</td>
-    <td align="center" style="background-color: rgb(255, 131, 250)">orchid1</td>
-    <td align="left">rgb(255, 131, 250)</td>
-    <td align="left">#FF83FA</td>
-  </tr>
-
-  <tr>
-    <td align="right">orchid3</td>
-    <td align="center" style="background-color: rgb(205, 105, 201)">orchid3</td>
-    <td align="left">rgb(205, 105, 201)</td>
-    <td align="left">#CD69C9</td>
-  </tr>
-
-  <tr>
-    <td align="right">orchid4</td>
-    <td align="center" style="background-color: rgb(139, 71, 137)">orchid4</td>
-    <td align="left">rgb(139, 71, 137)</td>
-    <td align="left">#8B4789</td>
-  </tr>
-
-  <tr>
-    <td align="right">thistle1</td>
-    <td align="center" style="background-color: rgb(255, 225, 255)">thistle1</td>
-    <td align="left">rgb(255, 225, 255)</td>
-    <td align="left">#FFE1FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">thistle2</td>
-    <td align="center" style="background-color: rgb(238, 210, 238)">thistle2</td>
-    <td align="left">rgb(238, 210, 238)</td>
-    <td align="left">#EED2EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">plum1</td>
-    <td align="center" style="background-color: rgb(255, 187, 255)">plum1</td>
-    <td align="left">rgb(255, 187, 255)</td>
-    <td align="left">#FFBBFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">plum2</td>
-    <td align="center" style="background-color: rgb(238, 174, 238)">plum2</td>
-    <td align="left">rgb(238, 174, 238)</td>
-    <td align="left">#EEAEEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">thistle</td>
-    <td align="center" style="background-color: rgb(216, 191, 216)">thistle</td>
-    <td align="left">rgb(216, 191, 216)</td>
-    <td align="left">#D8BFD8</td>
-  </tr>
-
-  <tr>
-    <td align="right">thistle3</td>
-    <td align="center" style="background-color: rgb(205, 181, 205)">thistle3</td>
-    <td align="left">rgb(205, 181, 205)</td>
-    <td align="left">#CDB5CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">plum</td>
-    <td align="center" style="background-color: rgb(221, 160, 221)">plum</td>
-    <td align="left">rgb(221, 160, 221)</td>
-    <td align="left">#DDA0DD</td>
-  </tr>
-
-  <tr>
-    <td align="right">violet</td>
-    <td align="center" style="background-color: rgb(238, 130, 238)">violet</td>
-    <td align="left">rgb(238, 130, 238)</td>
-    <td align="left">#EE82EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">plum3</td>
-    <td align="center" style="background-color: rgb(205, 150, 205)">plum3</td>
-    <td align="left">rgb(205, 150, 205)</td>
-    <td align="left">#CD96CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">thistle4</td>
-    <td align="center" style="background-color: rgb(139, 123, 139)">thistle4</td>
-    <td align="left">rgb(139, 123, 139)</td>
-    <td align="left">#8B7B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">fuchsia</td>
-    <td align="center" style="background-color: rgb(255,  0, 255)">fuchsia</td>
-    <td align="left">rgb(255,  0, 255)</td>
-    <td align="left">#FF00FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">magenta</td>
-    <td align="center" style="background-color: rgb(255,  0, 255)">magenta</td>
-    <td align="left">rgb(255,  0, 255)</td>
-    <td align="left">#FF00FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">magenta1</td>
-    <td align="center" style="background-color: rgb(255,  0, 255)">magenta1</td>
-    <td align="left">rgb(255,  0, 255)</td>
-    <td align="left">#FF00FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">plum4</td>
-    <td align="center" style="background-color: rgb(139, 102, 139)">plum4</td>
-    <td align="left">rgb(139, 102, 139)</td>
-    <td align="left">#8B668B</td>
-  </tr>
-
-  <tr>
-    <td align="right">magenta2</td>
-    <td align="center" style="background-color: rgb(238,  0, 238)">magenta2</td>
-    <td align="left">rgb(238,  0, 238)</td>
-    <td align="left">#EE00EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">magenta3</td>
-    <td align="center" style="background-color: rgb(205,  0, 205)">magenta3</td>
-    <td align="left">rgb(205,  0, 205)</td>
-    <td align="left">#CD00CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkMagenta</td>
-    <td align="center" style="background-color: rgb(139,  0, 139)">DarkMagenta</td>
-    <td align="left">rgb(139,  0, 139)</td>
-    <td align="left">#8B008B</td>
-  </tr>
-
-  <tr>
-    <td align="right">magenta4</td>
-    <td align="center" style="background-color: rgb(139,  0, 139)">magenta4</td>
-    <td align="left">rgb(139,  0, 139)</td>
-    <td align="left">#8B008B</td>
-  </tr>
-
-  <tr>
-    <td align="right">purple</td>
-    <td align="center" style="background-color: rgb(128,  0, 128)">purple (SVG compliance)</td>
-    <td align="left">rgb(128,  0, 128)</td>
-    <td align="left">#800080</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumOrchid</td>
-    <td align="center" style="background-color: rgb(186, 85, 211)">MediumOrchid</td>
-    <td align="left">rgb(186, 85, 211)</td>
-    <td align="left">#BA55D3</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumOrchid1</td>
-    <td align="center" style="background-color: rgb(224, 102, 255)">MediumOrchid1</td>
-    <td align="left">rgb(224, 102, 255)</td>
-    <td align="left">#E066FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumOrchid2</td>
-    <td align="center" style="background-color: rgb(209, 95, 238)">MediumOrchid2</td>
-    <td align="left">rgb(209, 95, 238)</td>
-    <td align="left">#D15FEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumOrchid3</td>
-    <td align="center" style="background-color: rgb(180, 82, 205)">MediumOrchid3</td>
-    <td align="left">rgb(180, 82, 205)</td>
-    <td align="left">#B452CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumOrchid4</td>
-    <td align="center" style="background-color: rgb(122, 55, 139)">MediumOrchid4</td>
-    <td align="left">rgb(122, 55, 139)</td>
-    <td align="left">#7A378B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkViolet</td>
-    <td align="center" style="background-color: rgb(148,  0, 211)">DarkViolet</td>
-    <td align="left">rgb(148,  0, 211)</td>
-    <td align="left">#9400D3</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrchid</td>
-    <td align="center" style="background-color: rgb(153, 50, 204)">DarkOrchid</td>
-    <td align="left">rgb(153, 50, 204)</td>
-    <td align="left">#9932CC</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrchid1</td>
-    <td align="center" style="background-color: rgb(191, 62, 255)">DarkOrchid1</td>
-    <td align="left">rgb(191, 62, 255)</td>
-    <td align="left">#BF3EFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrchid3</td>
-    <td align="center" style="background-color: rgb(154, 50, 205)">DarkOrchid3</td>
-    <td align="left">rgb(154, 50, 205)</td>
-    <td align="left">#9A32CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrchid2</td>
-    <td align="center" style="background-color: rgb(178, 58, 238)">DarkOrchid2</td>
-    <td align="left">rgb(178, 58, 238)</td>
-    <td align="left">#B23AEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrchid4</td>
-    <td align="center" style="background-color: rgb(104, 34, 139)">DarkOrchid4</td>
-    <td align="left">rgb(104, 34, 139)</td>
-    <td align="left">#68228B</td>
-  </tr>
-
-  <tr>
-    <td align="right">purple</td>
-    <td align="center" style="background-color: rgb(160, 32, 240)">purple (X11 compliance)</td>
-    <td align="left">rgb(160, 32, 240)</td>
-    <td align="left">#A020F0</td>
-  </tr>
-
-  <tr>
-    <td align="right">indigo</td>
-    <td align="center" style="background-color: rgb( 75,  0, 130)">indigo</td>
-    <td align="left">rgb( 75,  0, 130)</td>
-    <td align="left">#4B0082</td>
-  </tr>
-
-  <tr>
-    <td align="right">BlueViolet</td>
-    <td align="center" style="background-color: rgb(138, 43, 226)">BlueViolet</td>
-    <td align="left">rgb(138, 43, 226)</td>
-    <td align="left">#8A2BE2</td>
-  </tr>
-
-  <tr>
-    <td align="right">purple2</td>
-    <td align="center" style="background-color: rgb(145, 44, 238)">purple2</td>
-    <td align="left">rgb(145, 44, 238)</td>
-    <td align="left">#912CEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">purple3</td>
-    <td align="center" style="background-color: rgb(125, 38, 205)">purple3</td>
-    <td align="left">rgb(125, 38, 205)</td>
-    <td align="left">#7D26CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">purple4</td>
-    <td align="center" style="background-color: rgb( 85, 26, 139)">purple4</td>
-    <td align="left">rgb( 85, 26, 139)</td>
-    <td align="left">#551A8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">purple1</td>
-    <td align="center" style="background-color: rgb(155, 48, 255)">purple1</td>
-    <td align="left">rgb(155, 48, 255)</td>
-    <td align="left">#9B30FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumPurple</td>
-    <td align="center" style="background-color: rgb(147, 112, 219)">MediumPurple</td>
-    <td align="left">rgb(147, 112, 219)</td>
-    <td align="left">#9370DB</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumPurple1</td>
-    <td align="center" style="background-color: rgb(171, 130, 255)">MediumPurple1</td>
-    <td align="left">rgb(171, 130, 255)</td>
-    <td align="left">#AB82FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumPurple2</td>
-    <td align="center" style="background-color: rgb(159, 121, 238)">MediumPurple2</td>
-    <td align="left">rgb(159, 121, 238)</td>
-    <td align="left">#9F79EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumPurple3</td>
-    <td align="center" style="background-color: rgb(137, 104, 205)">MediumPurple3</td>
-    <td align="left">rgb(137, 104, 205)</td>
-    <td align="left">#8968CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumPurple4</td>
-    <td align="center" style="background-color: rgb( 93, 71, 139)">MediumPurple4</td>
-    <td align="left">rgb( 93, 71, 139)</td>
-    <td align="left">#5D478B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSlateBlue</td>
-    <td align="center" style="background-color: rgb( 72, 61, 139)">DarkSlateBlue</td>
-    <td align="left">rgb( 72, 61, 139)</td>
-    <td align="left">#483D8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSlateBlue</td>
-    <td align="center" style="background-color: rgb(132, 112, 255)">LightSlateBlue</td>
-    <td align="left">rgb(132, 112, 255)</td>
-    <td align="left">#8470FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumSlateBlue</td>
-    <td align="center" style="background-color: rgb(123, 104, 238)">MediumSlateBlue</td>
-    <td align="left">rgb(123, 104, 238)</td>
-    <td align="left">#7B68EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateBlue</td>
-    <td align="center" style="background-color: rgb(106, 90, 205)">SlateBlue</td>
-    <td align="left">rgb(106, 90, 205)</td>
-    <td align="left">#6A5ACD</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateBlue1</td>
-    <td align="center" style="background-color: rgb(131, 111, 255)">SlateBlue1</td>
-    <td align="left">rgb(131, 111, 255)</td>
-    <td align="left">#836FFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateBlue2</td>
-    <td align="center" style="background-color: rgb(122, 103, 238)">SlateBlue2</td>
-    <td align="left">rgb(122, 103, 238)</td>
-    <td align="left">#7A67EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateBlue3</td>
-    <td align="center" style="background-color: rgb(105, 89, 205)">SlateBlue3</td>
-    <td align="left">rgb(105, 89, 205)</td>
-    <td align="left">#6959CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateBlue4</td>
-    <td align="center" style="background-color: rgb( 71, 60, 139)">SlateBlue4</td>
-    <td align="left">rgb( 71, 60, 139)</td>
-    <td align="left">#473C8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">GhostWhite</td>
-    <td align="center" style="background-color: rgb(248, 248, 255)">GhostWhite</td>
-    <td align="left">rgb(248, 248, 255)</td>
-    <td align="left">#F8F8FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">lavender</td>
-    <td align="center" style="background-color: rgb(230, 230, 250)">lavender</td>
-    <td align="left">rgb(230, 230, 250)</td>
-    <td align="left">#E6E6FA</td>
-  </tr>
-
-  <tr>
-    <td align="right">blue</td>
-    <td align="center" style="background-color: rgb(  0,  0, 255)">blue</td>
-    <td align="left">rgb(  0,  0, 255)</td>
-    <td align="left">#0000FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">blue1</td>
-    <td align="center" style="background-color: rgb(  0,  0, 255)">blue1</td>
-    <td align="left">rgb(  0,  0, 255)</td>
-    <td align="left">#0000FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">blue2</td>
-    <td align="center" style="background-color: rgb(  0,  0, 238)">blue2</td>
-    <td align="left">rgb(  0,  0, 238)</td>
-    <td align="left">#0000EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">blue3</td>
-    <td align="center" style="background-color: rgb(  0,  0, 205)">blue3</td>
-    <td align="left">rgb(  0,  0, 205)</td>
-    <td align="left">#0000CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumBlue</td>
-    <td align="center" style="background-color: rgb(  0,  0, 205)">MediumBlue</td>
-    <td align="left">rgb(  0,  0, 205)</td>
-    <td align="left">#0000CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">blue4</td>
-    <td align="center" style="background-color: rgb(  0,  0, 139)">blue4</td>
-    <td align="left">rgb(  0,  0, 139)</td>
-    <td align="left">#00008B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkBlue</td>
-    <td align="center" style="background-color: rgb(  0,  0, 139)">DarkBlue</td>
-    <td align="left">rgb(  0,  0, 139)</td>
-    <td align="left">#00008B</td>
-  </tr>
-
-  <tr>
-    <td align="right">MidnightBlue</td>
-    <td align="center" style="background-color: rgb( 25, 25, 112)">MidnightBlue</td>
-    <td align="left">rgb( 25, 25, 112)</td>
-    <td align="left">#191970</td>
-  </tr>
-
-  <tr>
-    <td align="right">navy</td>
-    <td align="center" style="background-color: rgb(  0,  0, 128)">navy</td>
-    <td align="left">rgb(  0,  0, 128)</td>
-    <td align="left">#000080</td>
-  </tr>
-
-  <tr>
-    <td align="right">NavyBlue</td>
-    <td align="center" style="background-color: rgb(  0,  0, 128)">NavyBlue</td>
-    <td align="left">rgb(  0,  0, 128)</td>
-    <td align="left">#000080</td>
-  </tr>
-
-  <tr>
-    <td align="right">RoyalBlue</td>
-    <td align="center" style="background-color: rgb( 65, 105, 225)">RoyalBlue</td>
-    <td align="left">rgb( 65, 105, 225)</td>
-    <td align="left">#4169E1</td>
-  </tr>
-
-  <tr>
-    <td align="right">RoyalBlue1</td>
-    <td align="center" style="background-color: rgb( 72, 118, 255)">RoyalBlue1</td>
-    <td align="left">rgb( 72, 118, 255)</td>
-    <td align="left">#4876FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">RoyalBlue2</td>
-    <td align="center" style="background-color: rgb( 67, 110, 238)">RoyalBlue2</td>
-    <td align="left">rgb( 67, 110, 238)</td>
-    <td align="left">#436EEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">RoyalBlue3</td>
-    <td align="center" style="background-color: rgb( 58, 95, 205)">RoyalBlue3</td>
-    <td align="left">rgb( 58, 95, 205)</td>
-    <td align="left">#3A5FCD</td>
-  </tr>
-
-  <tr>
-    <td align="right">RoyalBlue4</td>
-    <td align="center" style="background-color: rgb( 39, 64, 139)">RoyalBlue4</td>
-    <td align="left">rgb( 39, 64, 139)</td>
-    <td align="left">#27408B</td>
-  </tr>
-
-  <tr>
-    <td align="right">CornflowerBlue</td>
-    <td align="center" style="background-color: rgb(100, 149, 237)">CornflowerBlue</td>
-    <td align="left">rgb(100, 149, 237)</td>
-    <td align="left">#6495ED</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSteelBlue</td>
-    <td align="center" style="background-color: rgb(176, 196, 222)">LightSteelBlue</td>
-    <td align="left">rgb(176, 196, 222)</td>
-    <td align="left">#B0C4DE</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSteelBlue1</td>
-    <td align="center" style="background-color: rgb(202, 225, 255)">LightSteelBlue1</td>
-    <td align="left">rgb(202, 225, 255)</td>
-    <td align="left">#CAE1FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSteelBlue2</td>
-    <td align="center" style="background-color: rgb(188, 210, 238)">LightSteelBlue2</td>
-    <td align="left">rgb(188, 210, 238)</td>
-    <td align="left">#BCD2EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSteelBlue3</td>
-    <td align="center" style="background-color: rgb(162, 181, 205)">LightSteelBlue3</td>
-    <td align="left">rgb(162, 181, 205)</td>
-    <td align="left">#A2B5CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSteelBlue4</td>
-    <td align="center" style="background-color: rgb(110, 123, 139)">LightSteelBlue4</td>
-    <td align="left">rgb(110, 123, 139)</td>
-    <td align="left">#6E7B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateGray4</td>
-    <td align="center" style="background-color: rgb(108, 123, 139)">SlateGray4</td>
-    <td align="left">rgb(108, 123, 139)</td>
-    <td align="left">#6C7B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateGray1</td>
-    <td align="center" style="background-color: rgb(198, 226, 255)">SlateGray1</td>
-    <td align="left">rgb(198, 226, 255)</td>
-    <td align="left">#C6E2FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateGray2</td>
-    <td align="center" style="background-color: rgb(185, 211, 238)">SlateGray2</td>
-    <td align="left">rgb(185, 211, 238)</td>
-    <td align="left">#B9D3EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateGray3</td>
-    <td align="center" style="background-color: rgb(159, 182, 205)">SlateGray3</td>
-    <td align="left">rgb(159, 182, 205)</td>
-    <td align="left">#9FB6CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSlateGray</td>
-    <td align="center" style="background-color: rgb(119, 136, 153)">LightSlateGray</td>
-    <td align="left">rgb(119, 136, 153)</td>
-    <td align="left">#778899</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSlateGrey</td>
-    <td align="center" style="background-color: rgb(119, 136, 153)">LightSlateGrey</td>
-    <td align="left">rgb(119, 136, 153)</td>
-    <td align="left">#778899</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateGray</td>
-    <td align="center" style="background-color: rgb(112, 128, 144)">SlateGray</td>
-    <td align="left">rgb(112, 128, 144)</td>
-    <td align="left">#708090</td>
-  </tr>
-
-  <tr>
-    <td align="right">SlateGrey</td>
-    <td align="center" style="background-color: rgb(112, 128, 144)">SlateGrey</td>
-    <td align="left">rgb(112, 128, 144)</td>
-    <td align="left">#708090</td>
-  </tr>
-
-  <tr>
-    <td align="right">DodgerBlue</td>
-    <td align="center" style="background-color: rgb( 30, 144, 255)">DodgerBlue</td>
-    <td align="left">rgb( 30, 144, 255)</td>
-    <td align="left">#1E90FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">DodgerBlue1</td>
-    <td align="center" style="background-color: rgb( 30, 144, 255)">DodgerBlue1</td>
-    <td align="left">rgb( 30, 144, 255)</td>
-    <td align="left">#1E90FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">DodgerBlue2</td>
-    <td align="center" style="background-color: rgb( 28, 134, 238)">DodgerBlue2</td>
-    <td align="left">rgb( 28, 134, 238)</td>
-    <td align="left">#1C86EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">DodgerBlue4</td>
-    <td align="center" style="background-color: rgb( 16, 78, 139)">DodgerBlue4</td>
-    <td align="left">rgb( 16, 78, 139)</td>
-    <td align="left">#104E8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DodgerBlue3</td>
-    <td align="center" style="background-color: rgb( 24, 116, 205)">DodgerBlue3</td>
-    <td align="left">rgb( 24, 116, 205)</td>
-    <td align="left">#1874CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">AliceBlue</td>
-    <td align="center" style="background-color: rgb(240, 248, 255)">AliceBlue</td>
-    <td align="left">rgb(240, 248, 255)</td>
-    <td align="left">#F0F8FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">SteelBlue4</td>
-    <td align="center" style="background-color: rgb( 54, 100, 139)">SteelBlue4</td>
-    <td align="left">rgb( 54, 100, 139)</td>
-    <td align="left">#36648B</td>
-  </tr>
-
-  <tr>
-    <td align="right">SteelBlue</td>
-    <td align="center" style="background-color: rgb( 70, 130, 180)">SteelBlue</td>
-    <td align="left">rgb( 70, 130, 180)</td>
-    <td align="left">#4682B4</td>
-  </tr>
-
-  <tr>
-    <td align="right">SteelBlue1</td>
-    <td align="center" style="background-color: rgb( 99, 184, 255)">SteelBlue1</td>
-    <td align="left">rgb( 99, 184, 255)</td>
-    <td align="left">#63B8FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">SteelBlue2</td>
-    <td align="center" style="background-color: rgb( 92, 172, 238)">SteelBlue2</td>
-    <td align="left">rgb( 92, 172, 238)</td>
-    <td align="left">#5CACEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">SteelBlue3</td>
-    <td align="center" style="background-color: rgb( 79, 148, 205)">SteelBlue3</td>
-    <td align="left">rgb( 79, 148, 205)</td>
-    <td align="left">#4F94CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">SkyBlue4</td>
-    <td align="center" style="background-color: rgb( 74, 112, 139)">SkyBlue4</td>
-    <td align="left">rgb( 74, 112, 139)</td>
-    <td align="left">#4A708B</td>
-  </tr>
-
-  <tr>
-    <td align="right">SkyBlue1</td>
-    <td align="center" style="background-color: rgb(135, 206, 255)">SkyBlue1</td>
-    <td align="left">rgb(135, 206, 255)</td>
-    <td align="left">#87CEFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">SkyBlue2</td>
-    <td align="center" style="background-color: rgb(126, 192, 238)">SkyBlue2</td>
-    <td align="left">rgb(126, 192, 238)</td>
-    <td align="left">#7EC0EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">SkyBlue3</td>
-    <td align="center" style="background-color: rgb(108, 166, 205)">SkyBlue3</td>
-    <td align="left">rgb(108, 166, 205)</td>
-    <td align="left">#6CA6CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSkyBlue</td>
-    <td align="center" style="background-color: rgb(135, 206, 250)">LightSkyBlue</td>
-    <td align="left">rgb(135, 206, 250)</td>
-    <td align="left">#87CEFA</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSkyBlue4</td>
-    <td align="center" style="background-color: rgb( 96, 123, 139)">LightSkyBlue4</td>
-    <td align="left">rgb( 96, 123, 139)</td>
-    <td align="left">#607B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSkyBlue1</td>
-    <td align="center" style="background-color: rgb(176, 226, 255)">LightSkyBlue1</td>
-    <td align="left">rgb(176, 226, 255)</td>
-    <td align="left">#B0E2FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSkyBlue2</td>
-    <td align="center" style="background-color: rgb(164, 211, 238)">LightSkyBlue2</td>
-    <td align="left">rgb(164, 211, 238)</td>
-    <td align="left">#A4D3EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSkyBlue3</td>
-    <td align="center" style="background-color: rgb(141, 182, 205)">LightSkyBlue3</td>
-    <td align="left">rgb(141, 182, 205)</td>
-    <td align="left">#8DB6CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">SkyBlue</td>
-    <td align="center" style="background-color: rgb(135, 206, 235)">SkyBlue</td>
-    <td align="left">rgb(135, 206, 235)</td>
-    <td align="left">#87CEEB</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightBlue3</td>
-    <td align="center" style="background-color: rgb(154, 192, 205)">LightBlue3</td>
-    <td align="left">rgb(154, 192, 205)</td>
-    <td align="left">#9AC0CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepSkyBlue</td>
-    <td align="center" style="background-color: rgb(  0, 191, 255)">DeepSkyBlue</td>
-    <td align="left">rgb(  0, 191, 255)</td>
-    <td align="left">#00BFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepSkyBlue1</td>
-    <td align="center" style="background-color: rgb(  0, 191, 255)">DeepSkyBlue1</td>
-    <td align="left">rgb(  0, 191, 255)</td>
-    <td align="left">#00BFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepSkyBlue2</td>
-    <td align="center" style="background-color: rgb(  0, 178, 238)">DeepSkyBlue2</td>
-    <td align="left">rgb(  0, 178, 238)</td>
-    <td align="left">#00B2EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepSkyBlue4</td>
-    <td align="center" style="background-color: rgb(  0, 104, 139)">DeepSkyBlue4</td>
-    <td align="left">rgb(  0, 104, 139)</td>
-    <td align="left">#00688B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DeepSkyBlue3</td>
-    <td align="center" style="background-color: rgb(  0, 154, 205)">DeepSkyBlue3</td>
-    <td align="left">rgb(  0, 154, 205)</td>
-    <td align="left">#009ACD</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightBlue1</td>
-    <td align="center" style="background-color: rgb(191, 239, 255)">LightBlue1</td>
-    <td align="left">rgb(191, 239, 255)</td>
-    <td align="left">#BFEFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightBlue2</td>
-    <td align="center" style="background-color: rgb(178, 223, 238)">LightBlue2</td>
-    <td align="left">rgb(178, 223, 238)</td>
-    <td align="left">#B2DFEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightBlue</td>
-    <td align="center" style="background-color: rgb(173, 216, 230)">LightBlue</td>
-    <td align="left">rgb(173, 216, 230)</td>
-    <td align="left">#ADD8E6</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightBlue4</td>
-    <td align="center" style="background-color: rgb(104, 131, 139)">LightBlue4</td>
-    <td align="left">rgb(104, 131, 139)</td>
-    <td align="left">#68838B</td>
-  </tr>
-
-  <tr>
-    <td align="right">PowderBlue</td>
-    <td align="center" style="background-color: rgb(176, 224, 230)">PowderBlue</td>
-    <td align="left">rgb(176, 224, 230)</td>
-    <td align="left">#B0E0E6</td>
-  </tr>
-
-  <tr>
-    <td align="right">CadetBlue1</td>
-    <td align="center" style="background-color: rgb(152, 245, 255)">CadetBlue1</td>
-    <td align="left">rgb(152, 245, 255)</td>
-    <td align="left">#98F5FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">CadetBlue2</td>
-    <td align="center" style="background-color: rgb(142, 229, 238)">CadetBlue2</td>
-    <td align="left">rgb(142, 229, 238)</td>
-    <td align="left">#8EE5EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">CadetBlue3</td>
-    <td align="center" style="background-color: rgb(122, 197, 205)">CadetBlue3</td>
-    <td align="left">rgb(122, 197, 205)</td>
-    <td align="left">#7AC5CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">CadetBlue4</td>
-    <td align="center" style="background-color: rgb( 83, 134, 139)">CadetBlue4</td>
-    <td align="left">rgb( 83, 134, 139)</td>
-    <td align="left">#53868B</td>
-  </tr>
-
-  <tr>
-    <td align="right">turquoise1</td>
-    <td align="center" style="background-color: rgb(  0, 245, 255)">turquoise1</td>
-    <td align="left">rgb(  0, 245, 255)</td>
-    <td align="left">#00F5FF</td>
-  </tr>
-
-  <tr>
-    <td align="right">turquoise2</td>
-    <td align="center" style="background-color: rgb(  0, 229, 238)">turquoise2</td>
-    <td align="left">rgb(  0, 229, 238)</td>
-    <td align="left">#00E5EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">turquoise3</td>
-    <td align="center" style="background-color: rgb(  0, 197, 205)">turquoise3</td>
-    <td align="left">rgb(  0, 197, 205)</td>
-    <td align="left">#00C5CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">turquoise4</td>
-    <td align="center" style="background-color: rgb(  0, 134, 139)">turquoise4</td>
-    <td align="left">rgb(  0, 134, 139)</td>
-    <td align="left">#00868B</td>
-  </tr>
-
-  <tr>
-    <td align="right">cadet blue</td>
-    <td align="center" style="background-color: rgb( 95, 158, 160)">cadet blue</td>
-    <td align="left">rgb( 95, 158, 160)</td>
-    <td align="left">#5F9EA0</td>
-  </tr>
-
-  <tr>
-    <td align="right">CadetBlue</td>
-    <td align="center" style="background-color: rgb( 95, 158, 160)">CadetBlue</td>
-    <td align="left">rgb( 95, 158, 160)</td>
-    <td align="left">#5F9EA0</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkTurquoise</td>
-    <td align="center" style="background-color: rgb(  0, 206, 209)">DarkTurquoise</td>
-    <td align="left">rgb(  0, 206, 209)</td>
-    <td align="left">#00CED1</td>
-  </tr>
-
-  <tr>
-    <td align="right">azure</td>
-    <td align="center" style="background-color: rgb(240, 255, 255)">azure</td>
-    <td align="left">rgb(240, 255, 255)</td>
-    <td align="left">#F0FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">azure1</td>
-    <td align="center" style="background-color: rgb(240, 255, 255)">azure1</td>
-    <td align="left">rgb(240, 255, 255)</td>
-    <td align="left">#F0FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightCyan</td>
-    <td align="center" style="background-color: rgb(224, 255, 255)">LightCyan</td>
-    <td align="left">rgb(224, 255, 255)</td>
-    <td align="left">#E0FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightCyan1</td>
-    <td align="center" style="background-color: rgb(224, 255, 255)">LightCyan1</td>
-    <td align="left">rgb(224, 255, 255)</td>
-    <td align="left">#E0FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">azure2</td>
-    <td align="center" style="background-color: rgb(224, 238, 238)">azure2</td>
-    <td align="left">rgb(224, 238, 238)</td>
-    <td align="left">#E0EEEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightCyan2</td>
-    <td align="center" style="background-color: rgb(209, 238, 238)">LightCyan2</td>
-    <td align="left">rgb(209, 238, 238)</td>
-    <td align="left">#D1EEEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleTurquoise1</td>
-    <td align="center" style="background-color: rgb(187, 255, 255)">PaleTurquoise1</td>
-    <td align="left">rgb(187, 255, 255)</td>
-    <td align="left">#BBFFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleTurquoise</td>
-    <td align="center" style="background-color: rgb(175, 238, 238)">PaleTurquoise</td>
-    <td align="left">rgb(175, 238, 238)</td>
-    <td align="left">#AFEEEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleTurquoise2</td>
-    <td align="center" style="background-color: rgb(174, 238, 238)">PaleTurquoise2</td>
-    <td align="left">rgb(174, 238, 238)</td>
-    <td align="left">#AEEEEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSlateGray1</td>
-    <td align="center" style="background-color: rgb(151, 255, 255)">DarkSlateGray1</td>
-    <td align="left">rgb(151, 255, 255)</td>
-    <td align="left">#97FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">azure3</td>
-    <td align="center" style="background-color: rgb(193, 205, 205)">azure3</td>
-    <td align="left">rgb(193, 205, 205)</td>
-    <td align="left">#C1CDCD</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightCyan3</td>
-    <td align="center" style="background-color: rgb(180, 205, 205)">LightCyan3</td>
-    <td align="left">rgb(180, 205, 205)</td>
-    <td align="left">#B4CDCD</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSlateGray2</td>
-    <td align="center" style="background-color: rgb(141, 238, 238)">DarkSlateGray2</td>
-    <td align="left">rgb(141, 238, 238)</td>
-    <td align="left">#8DEEEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleTurquoise3</td>
-    <td align="center" style="background-color: rgb(150, 205, 205)">PaleTurquoise3</td>
-    <td align="left">rgb(150, 205, 205)</td>
-    <td align="left">#96CDCD</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSlateGray3</td>
-    <td align="center" style="background-color: rgb(121, 205, 205)">DarkSlateGray3</td>
-    <td align="left">rgb(121, 205, 205)</td>
-    <td align="left">#79CDCD</td>
-  </tr>
-
-  <tr>
-    <td align="right">azure4</td>
-    <td align="center" style="background-color: rgb(131, 139, 139)">azure4</td>
-    <td align="left">rgb(131, 139, 139)</td>
-    <td align="left">#838B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightCyan4</td>
-    <td align="center" style="background-color: rgb(122, 139, 139)">LightCyan4</td>
-    <td align="left">rgb(122, 139, 139)</td>
-    <td align="left">#7A8B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">aqua</td>
-    <td align="center" style="background-color: rgb(  0, 255, 255)">aqua</td>
-    <td align="left">rgb(  0, 255, 255)</td>
-    <td align="left">#00FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">cyan</td>
-    <td align="center" style="background-color: rgb(  0, 255, 255)">cyan</td>
-    <td align="left">rgb(  0, 255, 255)</td>
-    <td align="left">#00FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">cyan1</td>
-    <td align="center" style="background-color: rgb(  0, 255, 255)">cyan1</td>
-    <td align="left">rgb(  0, 255, 255)</td>
-    <td align="left">#00FFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleTurquoise4</td>
-    <td align="center" style="background-color: rgb(102, 139, 139)">PaleTurquoise4</td>
-    <td align="left">rgb(102, 139, 139)</td>
-    <td align="left">#668B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">cyan2</td>
-    <td align="center" style="background-color: rgb(  0, 238, 238)">cyan2</td>
-    <td align="left">rgb(  0, 238, 238)</td>
-    <td align="left">#00EEEE</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSlateGray4</td>
-    <td align="center" style="background-color: rgb( 82, 139, 139)">DarkSlateGray4</td>
-    <td align="left">rgb( 82, 139, 139)</td>
-    <td align="left">#528B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">cyan3</td>
-    <td align="center" style="background-color: rgb(  0, 205, 205)">cyan3</td>
-    <td align="left">rgb(  0, 205, 205)</td>
-    <td align="left">#00CDCD</td>
-  </tr>
-
-  <tr>
-    <td align="right">cyan4</td>
-    <td align="center" style="background-color: rgb(  0, 139, 139)">cyan4</td>
-    <td align="left">rgb(  0, 139, 139)</td>
-    <td align="left">#008B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkCyan</td>
-    <td align="center" style="background-color: rgb(  0, 139, 139)">DarkCyan</td>
-    <td align="left">rgb(  0, 139, 139)</td>
-    <td align="left">#008B8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">teal</td>
-    <td align="center" style="background-color: rgb(  0, 128, 128)">teal</td>
-    <td align="left">rgb(  0, 128, 128)</td>
-    <td align="left">#008080</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSlateGray</td>
-    <td align="center" style="background-color: rgb( 47, 79,  79)">DarkSlateGray</td>
-    <td align="left">rgb( 47, 79,  79)</td>
-    <td align="left">#2F4F4F</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSlateGrey</td>
-    <td align="center" style="background-color: rgb( 47, 79,  79)">DarkSlateGrey</td>
-    <td align="left">rgb( 47, 79,  79)</td>
-    <td align="left">#2F4F4F</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumTurquoise</td>
-    <td align="center" style="background-color: rgb( 72, 209, 204)">MediumTurquoise</td>
-    <td align="left">rgb( 72, 209, 204)</td>
-    <td align="left">#48D1CC</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSeaGreen</td>
-    <td align="center" style="background-color: rgb( 32, 178, 170)">LightSeaGreen</td>
-    <td align="left">rgb( 32, 178, 170)</td>
-    <td align="left">#20B2AA</td>
-  </tr>
-
-  <tr>
-    <td align="right">turquoise</td>
-    <td align="center" style="background-color: rgb( 64, 224, 208)">turquoise</td>
-    <td align="left">rgb( 64, 224, 208)</td>
-    <td align="left">#40E0D0</td>
-  </tr>
-
-  <tr>
-    <td align="right">aquamarine4</td>
-    <td align="center" style="background-color: rgb( 69, 139, 116)">aquamarine4</td>
-    <td align="left">rgb( 69, 139, 116)</td>
-    <td align="left">#458B74</td>
-  </tr>
-
-  <tr>
-    <td align="right">aquamarine</td>
-    <td align="center" style="background-color: rgb(127, 255, 212)">aquamarine</td>
-    <td align="left">rgb(127, 255, 212)</td>
-    <td align="left">#7FFFD4</td>
-  </tr>
-
-  <tr>
-    <td align="right">aquamarine1</td>
-    <td align="center" style="background-color: rgb(127, 255, 212)">aquamarine1</td>
-    <td align="left">rgb(127, 255, 212)</td>
-    <td align="left">#7FFFD4</td>
-  </tr>
-
-  <tr>
-    <td align="right">aquamarine2</td>
-    <td align="center" style="background-color: rgb(118, 238, 198)">aquamarine2</td>
-    <td align="left">rgb(118, 238, 198)</td>
-    <td align="left">#76EEC6</td>
-  </tr>
-
-  <tr>
-    <td align="right">aquamarine3</td>
-    <td align="center" style="background-color: rgb(102, 205, 170)">aquamarine3</td>
-    <td align="left">rgb(102, 205, 170)</td>
-    <td align="left">#66CDAA</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumAquamarine</td>
-    <td align="center" style="background-color: rgb(102, 205, 170)">MediumAquamarine</td>
-    <td align="left">rgb(102, 205, 170)</td>
-    <td align="left">#66CDAA</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumSpringGreen</td>
-    <td align="center" style="background-color: rgb(  0, 250, 154)">MediumSpringGreen</td>
-    <td align="left">rgb(  0, 250, 154)</td>
-    <td align="left">#00FA9A</td>
-  </tr>
-
-  <tr>
-    <td align="right">MintCream</td>
-    <td align="center" style="background-color: rgb(245, 255, 250)">MintCream</td>
-    <td align="left">rgb(245, 255, 250)</td>
-    <td align="left">#F5FFFA</td>
-  </tr>
-
-  <tr>
-    <td align="right">SpringGreen</td>
-    <td align="center" style="background-color: rgb(  0, 255, 127)">SpringGreen</td>
-    <td align="left">rgb(  0, 255, 127)</td>
-    <td align="left">#00FF7F</td>
-  </tr>
-
-  <tr>
-    <td align="right">SpringGreen1</td>
-    <td align="center" style="background-color: rgb(  0, 255, 127)">SpringGreen1</td>
-    <td align="left">rgb(  0, 255, 127)</td>
-    <td align="left">#00FF7F</td>
-  </tr>
-
-  <tr>
-    <td align="right">SpringGreen2</td>
-    <td align="center" style="background-color: rgb(  0, 238, 118)">SpringGreen2</td>
-    <td align="left">rgb(  0, 238, 118)</td>
-    <td align="left">#00EE76</td>
-  </tr>
-
-  <tr>
-    <td align="right">SpringGreen3</td>
-    <td align="center" style="background-color: rgb(  0, 205, 102)">SpringGreen3</td>
-    <td align="left">rgb(  0, 205, 102)</td>
-    <td align="left">#00CD66</td>
-  </tr>
-
-  <tr>
-    <td align="right">SpringGreen4</td>
-    <td align="center" style="background-color: rgb(  0, 139, 69)">SpringGreen4</td>
-    <td align="left">rgb(  0, 139, 69)</td>
-    <td align="left">#008B45</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumSeaGreen</td>
-    <td align="center" style="background-color: rgb( 60, 179, 113)">MediumSeaGreen</td>
-    <td align="left">rgb( 60, 179, 113)</td>
-    <td align="left">#3CB371</td>
-  </tr>
-
-  <tr>
-    <td align="right">SeaGreen</td>
-    <td align="center" style="background-color: rgb( 46, 139, 87)">SeaGreen</td>
-    <td align="left">rgb( 46, 139, 87)</td>
-    <td align="left">#2E8B57</td>
-  </tr>
-
-  <tr>
-    <td align="right">SeaGreen3</td>
-    <td align="center" style="background-color: rgb( 67, 205, 128)">SeaGreen3</td>
-    <td align="left">rgb( 67, 205, 128)</td>
-    <td align="left">#43CD80</td>
-  </tr>
-
-  <tr>
-    <td align="right">SeaGreen1</td>
-    <td align="center" style="background-color: rgb( 84, 255, 159)">SeaGreen1</td>
-    <td align="left">rgb( 84, 255, 159)</td>
-    <td align="left">#54FF9F</td>
-  </tr>
-
-  <tr>
-    <td align="right">SeaGreen4</td>
-    <td align="center" style="background-color: rgb( 46, 139, 87)">SeaGreen4</td>
-    <td align="left">rgb( 46, 139, 87)</td>
-    <td align="left">#2E8B57</td>
-  </tr>
-
-  <tr>
-    <td align="right">SeaGreen2</td>
-    <td align="center" style="background-color: rgb( 78, 238, 148)">SeaGreen2</td>
-    <td align="left">rgb( 78, 238, 148)</td>
-    <td align="left">#4EEE94</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumForestGreen</td>
-    <td align="center" style="background-color: rgb( 50, 129, 75)">MediumForestGreen</td>
-    <td align="left">rgb( 50, 129, 75)</td>
-    <td align="left">#32814B</td>
-  </tr>
-
-  <tr>
-    <td align="right">honeydew</td>
-    <td align="center" style="background-color: rgb(240, 255, 240)">honeydew</td>
-    <td align="left">rgb(240, 255, 240)</td>
-    <td align="left">#F0FFF0</td>
-  </tr>
-
-  <tr>
-    <td align="right">honeydew1</td>
-    <td align="center" style="background-color: rgb(240, 255, 240)">honeydew1</td>
-    <td align="left">rgb(240, 255, 240)</td>
-    <td align="left">#F0FFF0</td>
-  </tr>
-
-  <tr>
-    <td align="right">honeydew2</td>
-    <td align="center" style="background-color: rgb(224, 238, 224)">honeydew2</td>
-    <td align="left">rgb(224, 238, 224)</td>
-    <td align="left">#E0EEE0</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSeaGreen1</td>
-    <td align="center" style="background-color: rgb(193, 255, 193)">DarkSeaGreen1</td>
-    <td align="left">rgb(193, 255, 193)</td>
-    <td align="left">#C1FFC1</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSeaGreen2</td>
-    <td align="center" style="background-color: rgb(180, 238, 180)">DarkSeaGreen2</td>
-    <td align="left">rgb(180, 238, 180)</td>
-    <td align="left">#B4EEB4</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleGreen1</td>
-    <td align="center" style="background-color: rgb(154, 255, 154)">PaleGreen1</td>
-    <td align="left">rgb(154, 255, 154)</td>
-    <td align="left">#9AFF9A</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleGreen</td>
-    <td align="center" style="background-color: rgb(152, 251, 152)">PaleGreen</td>
-    <td align="left">rgb(152, 251, 152)</td>
-    <td align="left">#98FB98</td>
-  </tr>
-
-  <tr>
-    <td align="right">honeydew3</td>
-    <td align="center" style="background-color: rgb(193, 205, 193)">honeydew3</td>
-    <td align="left">rgb(193, 205, 193)</td>
-    <td align="left">#C1CDC1</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGreen</td>
-    <td align="center" style="background-color: rgb(144, 238, 144)">LightGreen</td>
-    <td align="left">rgb(144, 238, 144)</td>
-    <td align="left">#90EE90</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleGreen2</td>
-    <td align="center" style="background-color: rgb(144, 238, 144)">PaleGreen2</td>
-    <td align="left">rgb(144, 238, 144)</td>
-    <td align="left">#90EE90</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSeaGreen3</td>
-    <td align="center" style="background-color: rgb(155, 205, 155)">DarkSeaGreen3</td>
-    <td align="left">rgb(155, 205, 155)</td>
-    <td align="left">#9BCD9B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSeaGreen</td>
-    <td align="center" style="background-color: rgb(143, 188, 143)">DarkSeaGreen</td>
-    <td align="left">rgb(143, 188, 143)</td>
-    <td align="left">#8FBC8F</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleGreen3</td>
-    <td align="center" style="background-color: rgb(124, 205, 124)">PaleGreen3</td>
-    <td align="left">rgb(124, 205, 124)</td>
-    <td align="left">#7CCD7C</td>
-  </tr>
-
-  <tr>
-    <td align="right">honeydew4</td>
-    <td align="center" style="background-color: rgb(131, 139, 131)">honeydew4</td>
-    <td align="left">rgb(131, 139, 131)</td>
-    <td align="left">#838B83</td>
-  </tr>
-
-  <tr>
-    <td align="right">green1</td>
-    <td align="center" style="background-color: rgb(  0, 255,  0)">green1</td>
-    <td align="left">rgb(  0, 255,  0)</td>
-    <td align="left">#00FF00</td>
-  </tr>
-
-  <tr>
-    <td align="right">lime</td>
-    <td align="center" style="background-color: rgb(  0, 255,  0)">lime</td>
-    <td align="left">rgb(  0, 255,  0)</td>
-    <td align="left">#00FF00</td>
-  </tr>
-
-  <tr>
-    <td align="right">LimeGreen</td>
-    <td align="center" style="background-color: rgb( 50, 205, 50)">LimeGreen</td>
-    <td align="left">rgb( 50, 205, 50)</td>
-    <td align="left">#32CD32</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSeaGreen4</td>
-    <td align="center" style="background-color: rgb(105, 139, 105)">DarkSeaGreen4</td>
-    <td align="left">rgb(105, 139, 105)</td>
-    <td align="left">#698B69</td>
-  </tr>
-
-  <tr>
-    <td align="right">green2</td>
-    <td align="center" style="background-color: rgb(  0, 238,  0)">green2</td>
-    <td align="left">rgb(  0, 238,  0)</td>
-    <td align="left">#00EE00</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleGreen4</td>
-    <td align="center" style="background-color: rgb( 84, 139, 84)">PaleGreen4</td>
-    <td align="left">rgb( 84, 139, 84)</td>
-    <td align="left">#548B54</td>
-  </tr>
-
-  <tr>
-    <td align="right">green3</td>
-    <td align="center" style="background-color: rgb(  0, 205,  0)">green3</td>
-    <td align="left">rgb(  0, 205,  0)</td>
-    <td align="left">#00CD00</td>
-  </tr>
-
-  <tr>
-    <td align="right">ForestGreen</td>
-    <td align="center" style="background-color: rgb( 34, 139, 34)">ForestGreen</td>
-    <td align="left">rgb( 34, 139, 34)</td>
-    <td align="left">#228B22</td>
-  </tr>
-
-  <tr>
-    <td align="right">green4</td>
-    <td align="center" style="background-color: rgb(  0, 139,  0)">green4</td>
-    <td align="left">rgb(  0, 139,  0)</td>
-    <td align="left">#008B00</td>
-  </tr>
-
-  <tr>
-    <td align="right">green</td>
-    <td align="center" style="background-color: rgb(  0, 128,  0)">green</td>
-    <td align="left">rgb(  0, 128,  0)</td>
-    <td align="left">#008000</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGreen</td>
-    <td align="center" style="background-color: rgb(  0, 100,  0)">DarkGreen</td>
-    <td align="left">rgb(  0, 100,  0)</td>
-    <td align="left">#006400</td>
-  </tr>
-
-  <tr>
-    <td align="right">LawnGreen</td>
-    <td align="center" style="background-color: rgb(124, 252,  0)">LawnGreen</td>
-    <td align="left">rgb(124, 252,  0)</td>
-    <td align="left">#7CFC00</td>
-  </tr>
-
-  <tr>
-    <td align="right">chartreuse</td>
-    <td align="center" style="background-color: rgb(127, 255,  0)">chartreuse</td>
-    <td align="left">rgb(127, 255,  0)</td>
-    <td align="left">#7FFF00</td>
-  </tr>
-
-  <tr>
-    <td align="right">chartreuse1</td>
-    <td align="center" style="background-color: rgb(127, 255,  0)">chartreuse1</td>
-    <td align="left">rgb(127, 255,  0)</td>
-    <td align="left">#7FFF00</td>
-  </tr>
-
-  <tr>
-    <td align="right">chartreuse2</td>
-    <td align="center" style="background-color: rgb(118, 238,  0)">chartreuse2</td>
-    <td align="left">rgb(118, 238,  0)</td>
-    <td align="left">#76EE00</td>
-  </tr>
-
-  <tr>
-    <td align="right">chartreuse3</td>
-    <td align="center" style="background-color: rgb(102, 205,  0)">chartreuse3</td>
-    <td align="left">rgb(102, 205,  0)</td>
-    <td align="left">#66CD00</td>
-  </tr>
-
-  <tr>
-    <td align="right">chartreuse4</td>
-    <td align="center" style="background-color: rgb( 69, 139,  0)">chartreuse4</td>
-    <td align="left">rgb( 69, 139,  0)</td>
-    <td align="left">#458B00</td>
-  </tr>
-
-  <tr>
-    <td align="right">GreenYellow</td>
-    <td align="center" style="background-color: rgb(173, 255, 47)">GreenYellow</td>
-    <td align="left">rgb(173, 255, 47)</td>
-    <td align="left">#ADFF2F</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOliveGreen3</td>
-    <td align="center" style="background-color: rgb(162, 205, 90)">DarkOliveGreen3</td>
-    <td align="left">rgb(162, 205, 90)</td>
-    <td align="left">#A2CD5A</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOliveGreen1</td>
-    <td align="center" style="background-color: rgb(202, 255, 112)">DarkOliveGreen1</td>
-    <td align="left">rgb(202, 255, 112)</td>
-    <td align="left">#CAFF70</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOliveGreen2</td>
-    <td align="center" style="background-color: rgb(188, 238, 104)">DarkOliveGreen2</td>
-    <td align="left">rgb(188, 238, 104)</td>
-    <td align="left">#BCEE68</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOliveGreen4</td>
-    <td align="center" style="background-color: rgb(110, 139, 61)">DarkOliveGreen4</td>
-    <td align="left">rgb(110, 139, 61)</td>
-    <td align="left">#6E8B3D</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOliveGreen</td>
-    <td align="center" style="background-color: rgb( 85, 107, 47)">DarkOliveGreen</td>
-    <td align="left">rgb( 85, 107, 47)</td>
-    <td align="left">#556B2F</td>
-  </tr>
-
-  <tr>
-    <td align="right">OliveDrab</td>
-    <td align="center" style="background-color: rgb(107, 142, 35)">OliveDrab</td>
-    <td align="left">rgb(107, 142, 35)</td>
-    <td align="left">#6B8E23</td>
-  </tr>
-
-  <tr>
-    <td align="right">OliveDrab1</td>
-    <td align="center" style="background-color: rgb(192, 255, 62)">OliveDrab1</td>
-    <td align="left">rgb(192, 255, 62)</td>
-    <td align="left">#C0FF3E</td>
-  </tr>
-
-  <tr>
-    <td align="right">OliveDrab2</td>
-    <td align="center" style="background-color: rgb(179, 238, 58)">OliveDrab2</td>
-    <td align="left">rgb(179, 238, 58)</td>
-    <td align="left">#B3EE3A</td>
-  </tr>
-
-  <tr>
-    <td align="right">OliveDrab3</td>
-    <td align="center" style="background-color: rgb(154, 205, 50)">OliveDrab3</td>
-    <td align="left">rgb(154, 205, 50)</td>
-    <td align="left">#9ACD32</td>
-  </tr>
-
-  <tr>
-    <td align="right">YellowGreen</td>
-    <td align="center" style="background-color: rgb(154, 205, 50)">YellowGreen</td>
-    <td align="left">rgb(154, 205, 50)</td>
-    <td align="left">#9ACD32</td>
-  </tr>
-
-  <tr>
-    <td align="right">OliveDrab4</td>
-    <td align="center" style="background-color: rgb(105, 139, 34)">OliveDrab4</td>
-    <td align="left">rgb(105, 139, 34)</td>
-    <td align="left">#698B22</td>
-  </tr>
-
-  <tr>
-    <td align="right">ivory</td>
-    <td align="center" style="background-color: rgb(255, 255, 240)">ivory</td>
-    <td align="left">rgb(255, 255, 240)</td>
-    <td align="left">#FFFFF0</td>
-  </tr>
-
-  <tr>
-    <td align="right">ivory1</td>
-    <td align="center" style="background-color: rgb(255, 255, 240)">ivory1</td>
-    <td align="left">rgb(255, 255, 240)</td>
-    <td align="left">#FFFFF0</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightYellow</td>
-    <td align="center" style="background-color: rgb(255, 255, 224)">LightYellow</td>
-    <td align="left">rgb(255, 255, 224)</td>
-    <td align="left">#FFFFE0</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightYellow1</td>
-    <td align="center" style="background-color: rgb(255, 255, 224)">LightYellow1</td>
-    <td align="left">rgb(255, 255, 224)</td>
-    <td align="left">#FFFFE0</td>
-  </tr>
-
-  <tr>
-    <td align="right">beige</td>
-    <td align="center" style="background-color: rgb(245, 245, 220)">beige</td>
-    <td align="left">rgb(245, 245, 220)</td>
-    <td align="left">#F5F5DC</td>
-  </tr>
-
-  <tr>
-    <td align="right">ivory2</td>
-    <td align="center" style="background-color: rgb(238, 238, 224)">ivory2</td>
-    <td align="left">rgb(238, 238, 224)</td>
-    <td align="left">#EEEEE0</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGoldenrodYellow</td>
-    <td align="center" style="background-color: rgb(250, 250, 210)">LightGoldenrodYellow</td>
-    <td align="left">rgb(250, 250, 210)</td>
-    <td align="left">#FAFAD2</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightYellow2</td>
-    <td align="center" style="background-color: rgb(238, 238, 209)">LightYellow2</td>
-    <td align="left">rgb(238, 238, 209)</td>
-    <td align="left">#EEEED1</td>
-  </tr>
-
-  <tr>
-    <td align="right">ivory3</td>
-    <td align="center" style="background-color: rgb(205, 205, 193)">ivory3</td>
-    <td align="left">rgb(205, 205, 193)</td>
-    <td align="left">#CDCDC1</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightYellow3</td>
-    <td align="center" style="background-color: rgb(205, 205, 180)">LightYellow3</td>
-    <td align="left">rgb(205, 205, 180)</td>
-    <td align="left">#CDCDB4</td>
-  </tr>
-
-  <tr>
-    <td align="right">ivory4</td>
-    <td align="center" style="background-color: rgb(139, 139, 131)">ivory4</td>
-    <td align="left">rgb(139, 139, 131)</td>
-    <td align="left">#8B8B83</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightYellow4</td>
-    <td align="center" style="background-color: rgb(139, 139, 122)">LightYellow4</td>
-    <td align="left">rgb(139, 139, 122)</td>
-    <td align="left">#8B8B7A</td>
-  </tr>
-
-  <tr>
-    <td align="right">yellow</td>
-    <td align="center" style="background-color: rgb(255, 255,  0)">yellow</td>
-    <td align="left">rgb(255, 255,  0)</td>
-    <td align="left">#FFFF00</td>
-  </tr>
-
-  <tr>
-    <td align="right">yellow1</td>
-    <td align="center" style="background-color: rgb(255, 255,  0)">yellow1</td>
-    <td align="left">rgb(255, 255,  0)</td>
-    <td align="left">#FFFF00</td>
-  </tr>
-
-  <tr>
-    <td align="right">yellow2</td>
-    <td align="center" style="background-color: rgb(238, 238,  0)">yellow2</td>
-    <td align="left">rgb(238, 238,  0)</td>
-    <td align="left">#EEEE00</td>
-  </tr>
-
-  <tr>
-    <td align="right">yellow3</td>
-    <td align="center" style="background-color: rgb(205, 205,  0)">yellow3</td>
-    <td align="left">rgb(205, 205,  0)</td>
-    <td align="left">#CDCD00</td>
-  </tr>
-
-  <tr>
-    <td align="right">yellow4</td>
-    <td align="center" style="background-color: rgb(139, 139,  0)">yellow4</td>
-    <td align="left">rgb(139, 139,  0)</td>
-    <td align="left">#8B8B00</td>
-  </tr>
-
-  <tr>
-    <td align="right">olive</td>
-    <td align="center" style="background-color: rgb(128, 128,  0)">olive</td>
-    <td align="left">rgb(128, 128,  0)</td>
-    <td align="left">#808000</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkKhaki</td>
-    <td align="center" style="background-color: rgb(189, 183, 107)">DarkKhaki</td>
-    <td align="left">rgb(189, 183, 107)</td>
-    <td align="left">#BDB76B</td>
-  </tr>
-
-  <tr>
-    <td align="right">khaki2</td>
-    <td align="center" style="background-color: rgb(238, 230, 133)">khaki2</td>
-    <td align="left">rgb(238, 230, 133)</td>
-    <td align="left">#EEE685</td>
-  </tr>
-
-  <tr>
-    <td align="right">LemonChiffon4</td>
-    <td align="center" style="background-color: rgb(139, 137, 112)">LemonChiffon4</td>
-    <td align="left">rgb(139, 137, 112)</td>
-    <td align="left">#8B8970</td>
-  </tr>
-
-  <tr>
-    <td align="right">khaki1</td>
-    <td align="center" style="background-color: rgb(255, 246, 143)">khaki1</td>
-    <td align="left">rgb(255, 246, 143)</td>
-    <td align="left">#FFF68F</td>
-  </tr>
-
-  <tr>
-    <td align="right">khaki3</td>
-    <td align="center" style="background-color: rgb(205, 198, 115)">khaki3</td>
-    <td align="left">rgb(205, 198, 115)</td>
-    <td align="left">#CDC673</td>
-  </tr>
-
-  <tr>
-    <td align="right">khaki4</td>
-    <td align="center" style="background-color: rgb(139, 134, 78)">khaki4</td>
-    <td align="left">rgb(139, 134, 78)</td>
-    <td align="left">#8B864E</td>
-  </tr>
-
-  <tr>
-    <td align="right">PaleGoldenrod</td>
-    <td align="center" style="background-color: rgb(238, 232, 170)">PaleGoldenrod</td>
-    <td align="left">rgb(238, 232, 170)</td>
-    <td align="left">#EEE8AA</td>
-  </tr>
-
-  <tr>
-    <td align="right">LemonChiffon</td>
-    <td align="center" style="background-color: rgb(255, 250, 205)">LemonChiffon</td>
-    <td align="left">rgb(255, 250, 205)</td>
-    <td align="left">#FFFACD</td>
-  </tr>
-
-  <tr>
-    <td align="right">LemonChiffon1</td>
-    <td align="center" style="background-color: rgb(255, 250, 205)">LemonChiffon1</td>
-    <td align="left">rgb(255, 250, 205)</td>
-    <td align="left">#FFFACD</td>
-  </tr>
-
-  <tr>
-    <td align="right">khaki</td>
-    <td align="center" style="background-color: rgb(240, 230, 140)">khaki</td>
-    <td align="left">rgb(240, 230, 140)</td>
-    <td align="left">#F0E68C</td>
-  </tr>
-
-  <tr>
-    <td align="right">LemonChiffon3</td>
-    <td align="center" style="background-color: rgb(205, 201, 165)">LemonChiffon3</td>
-    <td align="left">rgb(205, 201, 165)</td>
-    <td align="left">#CDC9A5</td>
-  </tr>
-
-  <tr>
-    <td align="right">LemonChiffon2</td>
-    <td align="center" style="background-color: rgb(238, 233, 191)">LemonChiffon2</td>
-    <td align="left">rgb(238, 233, 191)</td>
-    <td align="left">#EEE9BF</td>
-  </tr>
-
-  <tr>
-    <td align="right">MediumGoldenRod</td>
-    <td align="center" style="background-color: rgb(209, 193, 102)">MediumGoldenRod</td>
-    <td align="left">rgb(209, 193, 102)</td>
-    <td align="left">#D1C166</td>
-  </tr>
-
-  <tr>
-    <td align="right">cornsilk4</td>
-    <td align="center" style="background-color: rgb(139, 136, 120)">cornsilk4</td>
-    <td align="left">rgb(139, 136, 120)</td>
-    <td align="left">#8B8878</td>
-  </tr>
-
-  <tr>
-    <td align="right">gold</td>
-    <td align="center" style="background-color: rgb(255, 215,  0)">gold</td>
-    <td align="left">rgb(255, 215,  0)</td>
-    <td align="left">#FFD700</td>
-  </tr>
-
-  <tr>
-    <td align="right">gold1</td>
-    <td align="center" style="background-color: rgb(255, 215,  0)">gold1</td>
-    <td align="left">rgb(255, 215,  0)</td>
-    <td align="left">#FFD700</td>
-  </tr>
-
-  <tr>
-    <td align="right">gold2</td>
-    <td align="center" style="background-color: rgb(238, 201,  0)">gold2</td>
-    <td align="left">rgb(238, 201,  0)</td>
-    <td align="left">#EEC900</td>
-  </tr>
-
-  <tr>
-    <td align="right">gold3</td>
-    <td align="center" style="background-color: rgb(205, 173,  0)">gold3</td>
-    <td align="left">rgb(205, 173,  0)</td>
-    <td align="left">#CDAD00</td>
-  </tr>
-
-  <tr>
-    <td align="right">gold4</td>
-    <td align="center" style="background-color: rgb(139, 117,  0)">gold4</td>
-    <td align="left">rgb(139, 117,  0)</td>
-    <td align="left">#8B7500</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGoldenrod</td>
-    <td align="center" style="background-color: rgb(238, 221, 130)">LightGoldenrod</td>
-    <td align="left">rgb(238, 221, 130)</td>
-    <td align="left">#EEDD82</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGoldenrod4</td>
-    <td align="center" style="background-color: rgb(139, 129, 76)">LightGoldenrod4</td>
-    <td align="left">rgb(139, 129, 76)</td>
-    <td align="left">#8B814C</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGoldenrod1</td>
-    <td align="center" style="background-color: rgb(255, 236, 139)">LightGoldenrod1</td>
-    <td align="left">rgb(255, 236, 139)</td>
-    <td align="left">#FFEC8B</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGoldenrod3</td>
-    <td align="center" style="background-color: rgb(205, 190, 112)">LightGoldenrod3</td>
-    <td align="left">rgb(205, 190, 112)</td>
-    <td align="left">#CDBE70</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGoldenrod2</td>
-    <td align="center" style="background-color: rgb(238, 220, 130)">LightGoldenrod2</td>
-    <td align="left">rgb(238, 220, 130)</td>
-    <td align="left">#EEDC82</td>
-  </tr>
-
-  <tr>
-    <td align="right">cornsilk3</td>
-    <td align="center" style="background-color: rgb(205, 200, 177)">cornsilk3</td>
-    <td align="left">rgb(205, 200, 177)</td>
-    <td align="left">#CDC8B1</td>
-  </tr>
-
-  <tr>
-    <td align="right">cornsilk2</td>
-    <td align="center" style="background-color: rgb(238, 232, 205)">cornsilk2</td>
-    <td align="left">rgb(238, 232, 205)</td>
-    <td align="left">#EEE8CD</td>
-  </tr>
-
-  <tr>
-    <td align="right">cornsilk</td>
-    <td align="center" style="background-color: rgb(255, 248, 220)">cornsilk</td>
-    <td align="left">rgb(255, 248, 220)</td>
-    <td align="left">#FFF8DC</td>
-  </tr>
-
-  <tr>
-    <td align="right">cornsilk1</td>
-    <td align="center" style="background-color: rgb(255, 248, 220)">cornsilk1</td>
-    <td align="left">rgb(255, 248, 220)</td>
-    <td align="left">#FFF8DC</td>
-  </tr>
-
-  <tr>
-    <td align="right">goldenrod</td>
-    <td align="center" style="background-color: rgb(218, 165, 32)">goldenrod</td>
-    <td align="left">rgb(218, 165, 32)</td>
-    <td align="left">#DAA520</td>
-  </tr>
-
-  <tr>
-    <td align="right">goldenrod1</td>
-    <td align="center" style="background-color: rgb(255, 193, 37)">goldenrod1</td>
-    <td align="left">rgb(255, 193, 37)</td>
-    <td align="left">#FFC125</td>
-  </tr>
-
-  <tr>
-    <td align="right">goldenrod2</td>
-    <td align="center" style="background-color: rgb(238, 180, 34)">goldenrod2</td>
-    <td align="left">rgb(238, 180, 34)</td>
-    <td align="left">#EEB422</td>
-  </tr>
-
-  <tr>
-    <td align="right">goldenrod3</td>
-    <td align="center" style="background-color: rgb(205, 155, 29)">goldenrod3</td>
-    <td align="left">rgb(205, 155, 29)</td>
-    <td align="left">#CD9B1D</td>
-  </tr>
-
-  <tr>
-    <td align="right">goldenrod4</td>
-    <td align="center" style="background-color: rgb(139, 105, 20)">goldenrod4</td>
-    <td align="left">rgb(139, 105, 20)</td>
-    <td align="left">#8B6914</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGoldenrod</td>
-    <td align="center" style="background-color: rgb(184, 134, 11)">DarkGoldenrod</td>
-    <td align="left">rgb(184, 134, 11)</td>
-    <td align="left">#B8860B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGoldenrod1</td>
-    <td align="center" style="background-color: rgb(255, 185, 15)">DarkGoldenrod1</td>
-    <td align="left">rgb(255, 185, 15)</td>
-    <td align="left">#FFB90F</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGoldenrod2</td>
-    <td align="center" style="background-color: rgb(238, 173, 14)">DarkGoldenrod2</td>
-    <td align="left">rgb(238, 173, 14)</td>
-    <td align="left">#EEAD0E</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGoldenrod3</td>
-    <td align="center" style="background-color: rgb(205, 149, 12)">DarkGoldenrod3</td>
-    <td align="left">rgb(205, 149, 12)</td>
-    <td align="left">#CD950C</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGoldenrod4</td>
-    <td align="center" style="background-color: rgb(139, 101,  8)">DarkGoldenrod4</td>
-    <td align="left">rgb(139, 101,  8)</td>
-    <td align="left">#8B6508</td>
-  </tr>
-
-  <tr>
-    <td align="right">FloralWhite</td>
-    <td align="center" style="background-color: rgb(255, 250, 240)">FloralWhite</td>
-    <td align="left">rgb(255, 250, 240)</td>
-    <td align="left">#FFFAF0</td>
-  </tr>
-
-  <tr>
-    <td align="right">wheat2</td>
-    <td align="center" style="background-color: rgb(238, 216, 174)">wheat2</td>
-    <td align="left">rgb(238, 216, 174)</td>
-    <td align="left">#EED8AE</td>
-  </tr>
-
-  <tr>
-    <td align="right">OldLace</td>
-    <td align="center" style="background-color: rgb(253, 245, 230)">OldLace</td>
-    <td align="left">rgb(253, 245, 230)</td>
-    <td align="left">#FDF5E6</td>
-  </tr>
-
-  <tr>
-    <td align="right">wheat</td>
-    <td align="center" style="background-color: rgb(245, 222, 179)">wheat</td>
-    <td align="left">rgb(245, 222, 179)</td>
-    <td align="left">#F5DEB3</td>
-  </tr>
-
-  <tr>
-    <td align="right">wheat1</td>
-    <td align="center" style="background-color: rgb(255, 231, 186)">wheat1</td>
-    <td align="left">rgb(255, 231, 186)</td>
-    <td align="left">#FFE7BA</td>
-  </tr>
-
-  <tr>
-    <td align="right">wheat3</td>
-    <td align="center" style="background-color: rgb(205, 186, 150)">wheat3</td>
-    <td align="left">rgb(205, 186, 150)</td>
-    <td align="left">#CDBA96</td>
-  </tr>
-
-  <tr>
-    <td align="right">orange</td>
-    <td align="center" style="background-color: rgb(255, 165,  0)">orange</td>
-    <td align="left">rgb(255, 165,  0)</td>
-    <td align="left">#FFA500</td>
-  </tr>
-
-  <tr>
-    <td align="right">orange1</td>
-    <td align="center" style="background-color: rgb(255, 165,  0)">orange1</td>
-    <td align="left">rgb(255, 165,  0)</td>
-    <td align="left">#FFA500</td>
-  </tr>
-
-  <tr>
-    <td align="right">orange2</td>
-    <td align="center" style="background-color: rgb(238, 154,  0)">orange2</td>
-    <td align="left">rgb(238, 154,  0)</td>
-    <td align="left">#EE9A00</td>
-  </tr>
-
-  <tr>
-    <td align="right">orange3</td>
-    <td align="center" style="background-color: rgb(205, 133,  0)">orange3</td>
-    <td align="left">rgb(205, 133,  0)</td>
-    <td align="left">#CD8500</td>
-  </tr>
-
-  <tr>
-    <td align="right">orange4</td>
-    <td align="center" style="background-color: rgb(139, 90,   0)">orange4</td>
-    <td align="left">rgb(139, 90,   0)</td>
-    <td align="left">#8B5A00</td>
-  </tr>
-
-  <tr>
-    <td align="right">wheat4</td>
-    <td align="center" style="background-color: rgb(139, 126, 102)">wheat4</td>
-    <td align="left">rgb(139, 126, 102)</td>
-    <td align="left">#8B7E66</td>
-  </tr>
-
-  <tr>
-    <td align="right">moccasin</td>
-    <td align="center" style="background-color: rgb(255, 228, 181)">moccasin</td>
-    <td align="left">rgb(255, 228, 181)</td>
-    <td align="left">#FFE4B5</td>
-  </tr>
-
-  <tr>
-    <td align="right">PapayaWhip</td>
-    <td align="center" style="background-color: rgb(255, 239, 213)">PapayaWhip</td>
-    <td align="left">rgb(255, 239, 213)</td>
-    <td align="left">#FFEFD5</td>
-  </tr>
-
-  <tr>
-    <td align="right">NavajoWhite3</td>
-    <td align="center" style="background-color: rgb(205, 179, 139)">NavajoWhite3</td>
-    <td align="left">rgb(205, 179, 139)</td>
-    <td align="left">#CDB38B</td>
-  </tr>
-
-  <tr>
-    <td align="right">BlanchedAlmond</td>
-    <td align="center" style="background-color: rgb(255, 235, 205)">BlanchedAlmond</td>
-    <td align="left">rgb(255, 235, 205)</td>
-    <td align="left">#FFEBCD</td>
-  </tr>
-
-  <tr>
-    <td align="right">NavajoWhite</td>
-    <td align="center" style="background-color: rgb(255, 222, 173)">NavajoWhite</td>
-    <td align="left">rgb(255, 222, 173)</td>
-    <td align="left">#FFDEAD</td>
-  </tr>
-
-  <tr>
-    <td align="right">NavajoWhite1</td>
-    <td align="center" style="background-color: rgb(255, 222, 173)">NavajoWhite1</td>
-    <td align="left">rgb(255, 222, 173)</td>
-    <td align="left">#FFDEAD</td>
-  </tr>
-
-  <tr>
-    <td align="right">NavajoWhite2</td>
-    <td align="center" style="background-color: rgb(238, 207, 161)">NavajoWhite2</td>
-    <td align="left">rgb(238, 207, 161)</td>
-    <td align="left">#EECFA1</td>
-  </tr>
-
-  <tr>
-    <td align="right">NavajoWhite4</td>
-    <td align="center" style="background-color: rgb(139, 121, 94)">NavajoWhite4</td>
-    <td align="left">rgb(139, 121, 94)</td>
-    <td align="left">#8B795E</td>
-  </tr>
-
-  <tr>
-    <td align="right">AntiqueWhite4</td>
-    <td align="center" style="background-color: rgb(139, 131, 120)">AntiqueWhite4</td>
-    <td align="left">rgb(139, 131, 120)</td>
-    <td align="left">#8B8378</td>
-  </tr>
-
-  <tr>
-    <td align="right">AntiqueWhite</td>
-    <td align="center" style="background-color: rgb(250, 235, 215)">AntiqueWhite</td>
-    <td align="left">rgb(250, 235, 215)</td>
-    <td align="left">#FAEBD7</td>
-  </tr>
-
-  <tr>
-    <td align="right">tan</td>
-    <td align="center" style="background-color: rgb(210, 180, 140)">tan</td>
-    <td align="left">rgb(210, 180, 140)</td>
-    <td align="left">#D2B48C</td>
-  </tr>
-
-  <tr>
-    <td align="right">bisque4</td>
-    <td align="center" style="background-color: rgb(139, 125, 107)">bisque4</td>
-    <td align="left">rgb(139, 125, 107)</td>
-    <td align="left">#8B7D6B</td>
-  </tr>
-
-  <tr>
-    <td align="right">burlywood</td>
-    <td align="center" style="background-color: rgb(222, 184, 135)">burlywood</td>
-    <td align="left">rgb(222, 184, 135)</td>
-    <td align="left">#DEB887</td>
-  </tr>
-
-  <tr>
-    <td align="right">AntiqueWhite2</td>
-    <td align="center" style="background-color: rgb(238, 223, 204)">AntiqueWhite2</td>
-    <td align="left">rgb(238, 223, 204)</td>
-    <td align="left">#EEDFCC</td>
-  </tr>
-
-  <tr>
-    <td align="right">burlywood1</td>
-    <td align="center" style="background-color: rgb(255, 211, 155)">burlywood1</td>
-    <td align="left">rgb(255, 211, 155)</td>
-    <td align="left">#FFD39B</td>
-  </tr>
-
-  <tr>
-    <td align="right">burlywood3</td>
-    <td align="center" style="background-color: rgb(205, 170, 125)">burlywood3</td>
-    <td align="left">rgb(205, 170, 125)</td>
-    <td align="left">#CDAA7D</td>
-  </tr>
-
-  <tr>
-    <td align="right">burlywood2</td>
-    <td align="center" style="background-color: rgb(238, 197, 145)">burlywood2</td>
-    <td align="left">rgb(238, 197, 145)</td>
-    <td align="left">#EEC591</td>
-  </tr>
-
-  <tr>
-    <td align="right">AntiqueWhite1</td>
-    <td align="center" style="background-color: rgb(255, 239, 219)">AntiqueWhite1</td>
-    <td align="left">rgb(255, 239, 219)</td>
-    <td align="left">#FFEFDB</td>
-  </tr>
-
-  <tr>
-    <td align="right">burlywood4</td>
-    <td align="center" style="background-color: rgb(139, 115, 85)">burlywood4</td>
-    <td align="left">rgb(139, 115, 85)</td>
-    <td align="left">#8B7355</td>
-  </tr>
-
-  <tr>
-    <td align="right">AntiqueWhite3</td>
-    <td align="center" style="background-color: rgb(205, 192, 176)">AntiqueWhite3</td>
-    <td align="left">rgb(205, 192, 176)</td>
-    <td align="left">#CDC0B0</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrange</td>
-    <td align="center" style="background-color: rgb(255, 140,  0)">DarkOrange</td>
-    <td align="left">rgb(255, 140,  0)</td>
-    <td align="left">#FF8C00</td>
-  </tr>
-
-  <tr>
-    <td align="right">bisque2</td>
-    <td align="center" style="background-color: rgb(238, 213, 183)">bisque2</td>
-    <td align="left">rgb(238, 213, 183)</td>
-    <td align="left">#EED5B7</td>
-  </tr>
-
-  <tr>
-    <td align="right">bisque</td>
-    <td align="center" style="background-color: rgb(255, 228, 196)">bisque</td>
-    <td align="left">rgb(255, 228, 196)</td>
-    <td align="left">#FFE4C4</td>
-  </tr>
-
-  <tr>
-    <td align="right">bisque1</td>
-    <td align="center" style="background-color: rgb(255, 228, 196)">bisque1</td>
-    <td align="left">rgb(255, 228, 196)</td>
-    <td align="left">#FFE4C4</td>
-  </tr>
-
-  <tr>
-    <td align="right">bisque3</td>
-    <td align="center" style="background-color: rgb(205, 183, 158)">bisque3</td>
-    <td align="left">rgb(205, 183, 158)</td>
-    <td align="left">#CDB79E</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrange1</td>
-    <td align="center" style="background-color: rgb(255, 127,  0)">DarkOrange1</td>
-    <td align="left">rgb(255, 127,  0)</td>
-    <td align="left">#FF7F00</td>
-  </tr>
-
-  <tr>
-    <td align="right">linen</td>
-    <td align="center" style="background-color: rgb(250, 240, 230)">linen</td>
-    <td align="left">rgb(250, 240, 230)</td>
-    <td align="left">#FAF0E6</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrange2</td>
-    <td align="center" style="background-color: rgb(238, 118,  0)">DarkOrange2</td>
-    <td align="left">rgb(238, 118,  0)</td>
-    <td align="left">#EE7600</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrange3</td>
-    <td align="center" style="background-color: rgb(205, 102,  0)">DarkOrange3</td>
-    <td align="left">rgb(205, 102,  0)</td>
-    <td align="left">#CD6600</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkOrange4</td>
-    <td align="center" style="background-color: rgb(139, 69,   0)">DarkOrange4</td>
-    <td align="left">rgb(139, 69,   0)</td>
-    <td align="left">#8B4500</td>
-  </tr>
-
-  <tr>
-    <td align="right">peru</td>
-    <td align="center" style="background-color: rgb(205, 133, 63)">peru</td>
-    <td align="left">rgb(205, 133, 63)</td>
-    <td align="left">#CD853F</td>
-  </tr>
-
-  <tr>
-    <td align="right">tan1</td>
-    <td align="center" style="background-color: rgb(255, 165, 79)">tan1</td>
-    <td align="left">rgb(255, 165, 79)</td>
-    <td align="left">#FFA54F</td>
-  </tr>
-
-  <tr>
-    <td align="right">tan2</td>
-    <td align="center" style="background-color: rgb(238, 154, 73)">tan2</td>
-    <td align="left">rgb(238, 154, 73)</td>
-    <td align="left">#EE9A49</td>
-  </tr>
-
-  <tr>
-    <td align="right">tan3</td>
-    <td align="center" style="background-color: rgb(205, 133, 63)">tan3</td>
-    <td align="left">rgb(205, 133, 63)</td>
-    <td align="left">#CD853F</td>
-  </tr>
-
-  <tr>
-    <td align="right">tan4</td>
-    <td align="center" style="background-color: rgb(139, 90,  43)">tan4</td>
-    <td align="left">rgb(139, 90,  43)</td>
-    <td align="left">#8B5A2B</td>
-  </tr>
-
-  <tr>
-    <td align="right">PeachPuff</td>
-    <td align="center" style="background-color: rgb(255, 218, 185)">PeachPuff</td>
-    <td align="left">rgb(255, 218, 185)</td>
-    <td align="left">#FFDAB9</td>
-  </tr>
-
-  <tr>
-    <td align="right">PeachPuff1</td>
-    <td align="center" style="background-color: rgb(255, 218, 185)">PeachPuff1</td>
-    <td align="left">rgb(255, 218, 185)</td>
-    <td align="left">#FFDAB9</td>
-  </tr>
-
-  <tr>
-    <td align="right">PeachPuff4</td>
-    <td align="center" style="background-color: rgb(139, 119, 101)">PeachPuff4</td>
-    <td align="left">rgb(139, 119, 101)</td>
-    <td align="left">#8B7765</td>
-  </tr>
-
-  <tr>
-    <td align="right">PeachPuff2</td>
-    <td align="center" style="background-color: rgb(238, 203, 173)">PeachPuff2</td>
-    <td align="left">rgb(238, 203, 173)</td>
-    <td align="left">#EECBAD</td>
-  </tr>
-
-  <tr>
-    <td align="right">PeachPuff3</td>
-    <td align="center" style="background-color: rgb(205, 175, 149)">PeachPuff3</td>
-    <td align="left">rgb(205, 175, 149)</td>
-    <td align="left">#CDAF95</td>
-  </tr>
-
-  <tr>
-    <td align="right">SandyBrown</td>
-    <td align="center" style="background-color: rgb(244, 164, 96)">SandyBrown</td>
-    <td align="left">rgb(244, 164, 96)</td>
-    <td align="left">#F4A460</td>
-  </tr>
-
-  <tr>
-    <td align="right">seashell4</td>
-    <td align="center" style="background-color: rgb(139, 134, 130)">seashell4</td>
-    <td align="left">rgb(139, 134, 130)</td>
-    <td align="left">#8B8682</td>
-  </tr>
-
-  <tr>
-    <td align="right">seashell2</td>
-    <td align="center" style="background-color: rgb(238, 229, 222)">seashell2</td>
-    <td align="left">rgb(238, 229, 222)</td>
-    <td align="left">#EEE5DE</td>
-  </tr>
-
-  <tr>
-    <td align="right">seashell3</td>
-    <td align="center" style="background-color: rgb(205, 197, 191)">seashell3</td>
-    <td align="left">rgb(205, 197, 191)</td>
-    <td align="left">#CDC5BF</td>
-  </tr>
-
-  <tr>
-    <td align="right">chocolate</td>
-    <td align="center" style="background-color: rgb(210, 105, 30)">chocolate</td>
-    <td align="left">rgb(210, 105, 30)</td>
-    <td align="left">#D2691E</td>
-  </tr>
-
-  <tr>
-    <td align="right">chocolate1</td>
-    <td align="center" style="background-color: rgb(255, 127, 36)">chocolate1</td>
-    <td align="left">rgb(255, 127, 36)</td>
-    <td align="left">#FF7F24</td>
-  </tr>
-
-  <tr>
-    <td align="right">chocolate2</td>
-    <td align="center" style="background-color: rgb(238, 118, 33)">chocolate2</td>
-    <td align="left">rgb(238, 118, 33)</td>
-    <td align="left">#EE7621</td>
-  </tr>
-
-  <tr>
-    <td align="right">chocolate3</td>
-    <td align="center" style="background-color: rgb(205, 102, 29)">chocolate3</td>
-    <td align="left">rgb(205, 102, 29)</td>
-    <td align="left">#CD661D</td>
-  </tr>
-
-  <tr>
-    <td align="right">chocolate4</td>
-    <td align="center" style="background-color: rgb(139, 69,  19)">chocolate4</td>
-    <td align="left">rgb(139, 69,  19)</td>
-    <td align="left">#8B4513</td>
-  </tr>
-
-  <tr>
-    <td align="right">SaddleBrown</td>
-    <td align="center" style="background-color: rgb(139, 69,  19)">SaddleBrown</td>
-    <td align="left">rgb(139, 69,  19)</td>
-    <td align="left">#8B4513</td>
-  </tr>
-
-  <tr>
-    <td align="right">seashell</td>
-    <td align="center" style="background-color: rgb(255, 245, 238)">seashell</td>
-    <td align="left">rgb(255, 245, 238)</td>
-    <td align="left">#FFF5EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">seashell1</td>
-    <td align="center" style="background-color: rgb(255, 245, 238)">seashell1</td>
-    <td align="left">rgb(255, 245, 238)</td>
-    <td align="left">#FFF5EE</td>
-  </tr>
-
-  <tr>
-    <td align="right">sienna4</td>
-    <td align="center" style="background-color: rgb(139, 71,  38)">sienna4</td>
-    <td align="left">rgb(139, 71,  38)</td>
-    <td align="left">#8B4726</td>
-  </tr>
-
-  <tr>
-    <td align="right">sienna</td>
-    <td align="center" style="background-color: rgb(160, 82,  45)">sienna</td>
-    <td align="left">rgb(160, 82,  45)</td>
-    <td align="left">#A0522D</td>
-  </tr>
-
-  <tr>
-    <td align="right">sienna1</td>
-    <td align="center" style="background-color: rgb(255, 130, 71)">sienna1</td>
-    <td align="left">rgb(255, 130, 71)</td>
-    <td align="left">#FF8247</td>
-  </tr>
-
-  <tr>
-    <td align="right">sienna2</td>
-    <td align="center" style="background-color: rgb(238, 121, 66)">sienna2</td>
-    <td align="left">rgb(238, 121, 66)</td>
-    <td align="left">#EE7942</td>
-  </tr>
-
-  <tr>
-    <td align="right">sienna3</td>
-    <td align="center" style="background-color: rgb(205, 104, 57)">sienna3</td>
-    <td align="left">rgb(205, 104, 57)</td>
-    <td align="left">#CD6839</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSalmon3</td>
-    <td align="center" style="background-color: rgb(205, 129, 98)">LightSalmon3</td>
-    <td align="left">rgb(205, 129, 98)</td>
-    <td align="left">#CD8162</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSalmon</td>
-    <td align="center" style="background-color: rgb(255, 160, 122)">LightSalmon</td>
-    <td align="left">rgb(255, 160, 122)</td>
-    <td align="left">#FFA07A</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSalmon1</td>
-    <td align="center" style="background-color: rgb(255, 160, 122)">LightSalmon1</td>
-    <td align="left">rgb(255, 160, 122)</td>
-    <td align="left">#FFA07A</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSalmon4</td>
-    <td align="center" style="background-color: rgb(139, 87,  66)">LightSalmon4</td>
-    <td align="left">rgb(139, 87,  66)</td>
-    <td align="left">#8B5742</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightSalmon2</td>
-    <td align="center" style="background-color: rgb(238, 149, 114)">LightSalmon2</td>
-    <td align="left">rgb(238, 149, 114)</td>
-    <td align="left">#EE9572</td>
-  </tr>
-
-  <tr>
-    <td align="right">coral</td>
-    <td align="center" style="background-color: rgb(255, 127, 80)">coral</td>
-    <td align="left">rgb(255, 127, 80)</td>
-    <td align="left">#FF7F50</td>
-  </tr>
-
-  <tr>
-    <td align="right">OrangeRed</td>
-    <td align="center" style="background-color: rgb(255, 69,   0)">OrangeRed</td>
-    <td align="left">rgb(255, 69,   0)</td>
-    <td align="left">#FF4500</td>
-  </tr>
-
-  <tr>
-    <td align="right">OrangeRed1</td>
-    <td align="center" style="background-color: rgb(255, 69,   0)">OrangeRed1</td>
-    <td align="left">rgb(255, 69,   0)</td>
-    <td align="left">#FF4500</td>
-  </tr>
-
-  <tr>
-    <td align="right">OrangeRed2</td>
-    <td align="center" style="background-color: rgb(238, 64,   0)">OrangeRed2</td>
-    <td align="left">rgb(238, 64,   0)</td>
-    <td align="left">#EE4000</td>
-  </tr>
-
-  <tr>
-    <td align="right">OrangeRed3</td>
-    <td align="center" style="background-color: rgb(205, 55,   0)">OrangeRed3</td>
-    <td align="left">rgb(205, 55,   0)</td>
-    <td align="left">#CD3700</td>
-  </tr>
-
-  <tr>
-    <td align="right">OrangeRed4</td>
-    <td align="center" style="background-color: rgb(139, 37,   0)">OrangeRed4</td>
-    <td align="left">rgb(139, 37,   0)</td>
-    <td align="left">#8B2500</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkSalmon</td>
-    <td align="center" style="background-color: rgb(233, 150, 122)">DarkSalmon</td>
-    <td align="left">rgb(233, 150, 122)</td>
-    <td align="left">#E9967A</td>
-  </tr>
-
-  <tr>
-    <td align="right">salmon1</td>
-    <td align="center" style="background-color: rgb(255, 140, 105)">salmon1</td>
-    <td align="left">rgb(255, 140, 105)</td>
-    <td align="left">#FF8C69</td>
-  </tr>
-
-  <tr>
-    <td align="right">salmon2</td>
-    <td align="center" style="background-color: rgb(238, 130, 98)">salmon2</td>
-    <td align="left">rgb(238, 130, 98)</td>
-    <td align="left">#EE8262</td>
-  </tr>
-
-  <tr>
-    <td align="right">salmon3</td>
-    <td align="center" style="background-color: rgb(205, 112, 84)">salmon3</td>
-    <td align="left">rgb(205, 112, 84)</td>
-    <td align="left">#CD7054</td>
-  </tr>
-
-  <tr>
-    <td align="right">salmon4</td>
-    <td align="center" style="background-color: rgb(139, 76,  57)">salmon4</td>
-    <td align="left">rgb(139, 76,  57)</td>
-    <td align="left">#8B4C39</td>
-  </tr>
-
-  <tr>
-    <td align="right">coral1</td>
-    <td align="center" style="background-color: rgb(255, 114, 86)">coral1</td>
-    <td align="left">rgb(255, 114, 86)</td>
-    <td align="left">#FF7256</td>
-  </tr>
-
-  <tr>
-    <td align="right">coral2</td>
-    <td align="center" style="background-color: rgb(238, 106, 80)">coral2</td>
-    <td align="left">rgb(238, 106, 80)</td>
-    <td align="left">#EE6A50</td>
-  </tr>
-
-  <tr>
-    <td align="right">coral3</td>
-    <td align="center" style="background-color: rgb(205, 91,  69)">coral3</td>
-    <td align="left">rgb(205, 91,  69)</td>
-    <td align="left">#CD5B45</td>
-  </tr>
-
-  <tr>
-    <td align="right">coral4</td>
-    <td align="center" style="background-color: rgb(139, 62,  47)">coral4</td>
-    <td align="left">rgb(139, 62,  47)</td>
-    <td align="left">#8B3E2F</td>
-  </tr>
-
-  <tr>
-    <td align="right">tomato4</td>
-    <td align="center" style="background-color: rgb(139, 54,  38)">tomato4</td>
-    <td align="left">rgb(139, 54,  38)</td>
-    <td align="left">#8B3626</td>
-  </tr>
-
-  <tr>
-    <td align="right">tomato</td>
-    <td align="center" style="background-color: rgb(255, 99,  71)">tomato</td>
-    <td align="left">rgb(255, 99,  71)</td>
-    <td align="left">#FF6347</td>
-  </tr>
-
-  <tr>
-    <td align="right">tomato1</td>
-    <td align="center" style="background-color: rgb(255, 99,  71)">tomato1</td>
-    <td align="left">rgb(255, 99,  71)</td>
-    <td align="left">#FF6347</td>
-  </tr>
-
-  <tr>
-    <td align="right">tomato2</td>
-    <td align="center" style="background-color: rgb(238, 92,  66)">tomato2</td>
-    <td align="left">rgb(238, 92,  66)</td>
-    <td align="left">#EE5C42</td>
-  </tr>
-
-  <tr>
-    <td align="right">tomato3</td>
-    <td align="center" style="background-color: rgb(205, 79,  57)">tomato3</td>
-    <td align="left">rgb(205, 79,  57)</td>
-    <td align="left">#CD4F39</td>
-  </tr>
-
-  <tr>
-    <td align="right">MistyRose4</td>
-    <td align="center" style="background-color: rgb(139, 125, 123)">MistyRose4</td>
-    <td align="left">rgb(139, 125, 123)</td>
-    <td align="left">#8B7D7B</td>
-  </tr>
-
-  <tr>
-    <td align="right">MistyRose2</td>
-    <td align="center" style="background-color: rgb(238, 213, 210)">MistyRose2</td>
-    <td align="left">rgb(238, 213, 210)</td>
-    <td align="left">#EED5D2</td>
-  </tr>
-
-  <tr>
-    <td align="right">MistyRose</td>
-    <td align="center" style="background-color: rgb(255, 228, 225)">MistyRose</td>
-    <td align="left">rgb(255, 228, 225)</td>
-    <td align="left">#FFE4E1</td>
-  </tr>
-
-  <tr>
-    <td align="right">MistyRose1</td>
-    <td align="center" style="background-color: rgb(255, 228, 225)">MistyRose1</td>
-    <td align="left">rgb(255, 228, 225)</td>
-    <td align="left">#FFE4E1</td>
-  </tr>
-
-  <tr>
-    <td align="right">salmon</td>
-    <td align="center" style="background-color: rgb(250, 128, 114)">salmon</td>
-    <td align="left">rgb(250, 128, 114)</td>
-    <td align="left">#FA8072</td>
-  </tr>
-
-  <tr>
-    <td align="right">MistyRose3</td>
-    <td align="center" style="background-color: rgb(205, 183, 181)">MistyRose3</td>
-    <td align="left">rgb(205, 183, 181)</td>
-    <td align="left">#CDB7B5</td>
-  </tr>
-
-  <tr>
-    <td align="right">white</td>
-    <td align="center" style="background-color: rgb(255, 255, 255)">white</td>
-    <td align="left">rgb(255, 255, 255)</td>
-    <td align="left">#FFFFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray100</td>
-    <td align="center" style="background-color: rgb(255, 255, 255)">gray100</td>
-    <td align="left">rgb(255, 255, 255)</td>
-    <td align="left">#FFFFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey100</td>
-    <td align="center" style="background-color: rgb(255, 255, 255)">grey100</td>
-    <td align="left">rgb(255, 255, 255)</td>
-    <td align="left">#FFFFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey100</td>
-    <td align="center" style="background-color: rgb(255, 255, 255)">grey100</td>
-    <td align="left">rgb(255, 255, 255)</td>
-    <td align="left">#FFFFFF</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray99</td>
-    <td align="center" style="background-color: rgb(252, 252, 252)">gray99</td>
-    <td align="left">rgb(252, 252, 252)</td>
-    <td align="left">#FCFCFC</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey99</td>
-    <td align="center" style="background-color: rgb(252, 252, 252)">grey99</td>
-    <td align="left">rgb(252, 252, 252)</td>
-    <td align="left">#FCFCFC</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray98</td>
-    <td align="center" style="background-color: rgb(250, 250, 250)">gray98</td>
-    <td align="left">rgb(250, 250, 250)</td>
-    <td align="left">#FAFAFA</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey98</td>
-    <td align="center" style="background-color: rgb(250, 250, 250)">grey98</td>
-    <td align="left">rgb(250, 250, 250)</td>
-    <td align="left">#FAFAFA</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray97</td>
-    <td align="center" style="background-color: rgb(247, 247, 247)">gray97</td>
-    <td align="left">rgb(247, 247, 247)</td>
-    <td align="left">#F7F7F7</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey97</td>
-    <td align="center" style="background-color: rgb(247, 247, 247)">grey97</td>
-    <td align="left">rgb(247, 247, 247)</td>
-    <td align="left">#F7F7F7</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray96</td>
-    <td align="center" style="background-color: rgb(245, 245, 245)">gray96</td>
-    <td align="left">rgb(245, 245, 245)</td>
-    <td align="left">#F5F5F5</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey96</td>
-    <td align="center" style="background-color: rgb(245, 245, 245)">grey96</td>
-    <td align="left">rgb(245, 245, 245)</td>
-    <td align="left">#F5F5F5</td>
-  </tr>
-
-  <tr>
-    <td align="right">WhiteSmoke</td>
-    <td align="center" style="background-color: rgb(245, 245, 245)">WhiteSmoke</td>
-    <td align="left">rgb(245, 245, 245)</td>
-    <td align="left">#F5F5F5</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray95</td>
-    <td align="center" style="background-color: rgb(242, 242, 242)">gray95</td>
-    <td align="left">rgb(242, 242, 242)</td>
-    <td align="left">#F2F2F2</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey95</td>
-    <td align="center" style="background-color: rgb(242, 242, 242)">grey95</td>
-    <td align="left">rgb(242, 242, 242)</td>
-    <td align="left">#F2F2F2</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray94</td>
-    <td align="center" style="background-color: rgb(240, 240, 240)">gray94</td>
-    <td align="left">rgb(240, 240, 240)</td>
-    <td align="left">#F0F0F0</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey94</td>
-    <td align="center" style="background-color: rgb(240, 240, 240)">grey94</td>
-    <td align="left">rgb(240, 240, 240)</td>
-    <td align="left">#F0F0F0</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray93</td>
-    <td align="center" style="background-color: rgb(237, 237, 237)">gray93</td>
-    <td align="left">rgb(237, 237, 237)</td>
-    <td align="left">#EDEDED</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey93</td>
-    <td align="center" style="background-color: rgb(237, 237, 237)">grey93</td>
-    <td align="left">rgb(237, 237, 237)</td>
-    <td align="left">#EDEDED</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray92</td>
-    <td align="center" style="background-color: rgb(235, 235, 235)">gray92</td>
-    <td align="left">rgb(235, 235, 235)</td>
-    <td align="left">#EBEBEB</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey92</td>
-    <td align="center" style="background-color: rgb(235, 235, 235)">grey92</td>
-    <td align="left">rgb(235, 235, 235)</td>
-    <td align="left">#EBEBEB</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray91</td>
-    <td align="center" style="background-color: rgb(232, 232, 232)">gray91</td>
-    <td align="left">rgb(232, 232, 232)</td>
-    <td align="left">#E8E8E8</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey91</td>
-    <td align="center" style="background-color: rgb(232, 232, 232)">grey91</td>
-    <td align="left">rgb(232, 232, 232)</td>
-    <td align="left">#E8E8E8</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray90</td>
-    <td align="center" style="background-color: rgb(229, 229, 229)">gray90</td>
-    <td align="left">rgb(229, 229, 229)</td>
-    <td align="left">#E5E5E5</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey90</td>
-    <td align="center" style="background-color: rgb(229, 229, 229)">grey90</td>
-    <td align="left">rgb(229, 229, 229)</td>
-    <td align="left">#E5E5E5</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray89</td>
-    <td align="center" style="background-color: rgb(227, 227, 227)">gray89</td>
-    <td align="left">rgb(227, 227, 227)</td>
-    <td align="left">#E3E3E3</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey89</td>
-    <td align="center" style="background-color: rgb(227, 227, 227)">grey89</td>
-    <td align="left">rgb(227, 227, 227)</td>
-    <td align="left">#E3E3E3</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray88</td>
-    <td align="center" style="background-color: rgb(224, 224, 224)">gray88</td>
-    <td align="left">rgb(224, 224, 224)</td>
-    <td align="left">#E0E0E0</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey88</td>
-    <td align="center" style="background-color: rgb(224, 224, 224)">grey88</td>
-    <td align="left">rgb(224, 224, 224)</td>
-    <td align="left">#E0E0E0</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray87</td>
-    <td align="center" style="background-color: rgb(222, 222, 222)">gray87</td>
-    <td align="left">rgb(222, 222, 222)</td>
-    <td align="left">#DEDEDE</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey87</td>
-    <td align="center" style="background-color: rgb(222, 222, 222)">grey87</td>
-    <td align="left">rgb(222, 222, 222)</td>
-    <td align="left">#DEDEDE</td>
-  </tr>
-
-  <tr>
-    <td align="right">gainsboro</td>
-    <td align="center" style="background-color: rgb(220, 220, 220)">gainsboro</td>
-    <td align="left">rgb(220, 220, 220)</td>
-    <td align="left">#DCDCDC</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray86</td>
-    <td align="center" style="background-color: rgb(219, 219, 219)">gray86</td>
-    <td align="left">rgb(219, 219, 219)</td>
-    <td align="left">#DBDBDB</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey86</td>
-    <td align="center" style="background-color: rgb(219, 219, 219)">grey86</td>
-    <td align="left">rgb(219, 219, 219)</td>
-    <td align="left">#DBDBDB</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray85</td>
-    <td align="center" style="background-color: rgb(217, 217, 217)">gray85</td>
-    <td align="left">rgb(217, 217, 217)</td>
-    <td align="left">#D9D9D9</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey85</td>
-    <td align="center" style="background-color: rgb(217, 217, 217)">grey85</td>
-    <td align="left">rgb(217, 217, 217)</td>
-    <td align="left">#D9D9D9</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray84</td>
-    <td align="center" style="background-color: rgb(214, 214, 214)">gray84</td>
-    <td align="left">rgb(214, 214, 214)</td>
-    <td align="left">#D6D6D6</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey84</td>
-    <td align="center" style="background-color: rgb(214, 214, 214)">grey84</td>
-    <td align="left">rgb(214, 214, 214)</td>
-    <td align="left">#D6D6D6</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray83</td>
-    <td align="center" style="background-color: rgb(212, 212, 212)">gray83</td>
-    <td align="left">rgb(212, 212, 212)</td>
-    <td align="left">#D4D4D4</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey83</td>
-    <td align="center" style="background-color: rgb(212, 212, 212)">grey83</td>
-    <td align="left">rgb(212, 212, 212)</td>
-    <td align="left">#D4D4D4</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGray</td>
-    <td align="center" style="background-color: rgb(211, 211, 211)">LightGray</td>
-    <td align="left">rgb(211, 211, 211)</td>
-    <td align="left">#D3D3D3</td>
-  </tr>
-
-  <tr>
-    <td align="right">LightGrey</td>
-    <td align="center" style="background-color: rgb(211, 211, 211)">LightGrey</td>
-    <td align="left">rgb(211, 211, 211)</td>
-    <td align="left">#D3D3D3</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray82</td>
-    <td align="center" style="background-color: rgb(209, 209, 209)">gray82</td>
-    <td align="left">rgb(209, 209, 209)</td>
-    <td align="left">#D1D1D1</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey82</td>
-    <td align="center" style="background-color: rgb(209, 209, 209)">grey82</td>
-    <td align="left">rgb(209, 209, 209)</td>
-    <td align="left">#D1D1D1</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray81</td>
-    <td align="center" style="background-color: rgb(207, 207, 207)">gray81</td>
-    <td align="left">rgb(207, 207, 207)</td>
-    <td align="left">#CFCFCF</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey81</td>
-    <td align="center" style="background-color: rgb(207, 207, 207)">grey81</td>
-    <td align="left">rgb(207, 207, 207)</td>
-    <td align="left">#CFCFCF</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray80</td>
-    <td align="center" style="background-color: rgb(204, 204, 204)">gray80</td>
-    <td align="left">rgb(204, 204, 204)</td>
-    <td align="left">#CCCCCC</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey80</td>
-    <td align="center" style="background-color: rgb(204, 204, 204)">grey80</td>
-    <td align="left">rgb(204, 204, 204)</td>
-    <td align="left">#CCCCCC</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray79</td>
-    <td align="center" style="background-color: rgb(201, 201, 201)">gray79</td>
-    <td align="left">rgb(201, 201, 201)</td>
-    <td align="left">#C9C9C9</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey79</td>
-    <td align="center" style="background-color: rgb(201, 201, 201)">grey79</td>
-    <td align="left">rgb(201, 201, 201)</td>
-    <td align="left">#C9C9C9</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray78</td>
-    <td align="center" style="background-color: rgb(199, 199, 199)">gray78</td>
-    <td align="left">rgb(199, 199, 199)</td>
-    <td align="left">#C7C7C7</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey78</td>
-    <td align="center" style="background-color: rgb(199, 199, 199)">grey78</td>
-    <td align="left">rgb(199, 199, 199)</td>
-    <td align="left">#C7C7C7</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray77</td>
-    <td align="center" style="background-color: rgb(196, 196, 196)">gray77</td>
-    <td align="left">rgb(196, 196, 196)</td>
-    <td align="left">#C4C4C4</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey77</td>
-    <td align="center" style="background-color: rgb(196, 196, 196)">grey77</td>
-    <td align="left">rgb(196, 196, 196)</td>
-    <td align="left">#C4C4C4</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray76</td>
-    <td align="center" style="background-color: rgb(194, 194, 194)">gray76</td>
-    <td align="left">rgb(194, 194, 194)</td>
-    <td align="left">#C2C2C2</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey76</td>
-    <td align="center" style="background-color: rgb(194, 194, 194)">grey76</td>
-    <td align="left">rgb(194, 194, 194)</td>
-    <td align="left">#C2C2C2</td>
-  </tr>
-
-  <tr>
-    <td align="right">silver</td>
-    <td align="center" style="background-color: rgb(192, 192, 192)">silver</td>
-    <td align="left">rgb(192, 192, 192)</td>
-    <td align="left">#C0C0C0</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray75</td>
-    <td align="center" style="background-color: rgb(191, 191, 191)">gray75</td>
-    <td align="left">rgb(191, 191, 191)</td>
-    <td align="left">#BFBFBF</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey75</td>
-    <td align="center" style="background-color: rgb(191, 191, 191)">grey75</td>
-    <td align="left">rgb(191, 191, 191)</td>
-    <td align="left">#BFBFBF</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray74</td>
-    <td align="center" style="background-color: rgb(189, 189, 189)">gray74</td>
-    <td align="left">rgb(189, 189, 189)</td>
-    <td align="left">#BDBDBD</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey74</td>
-    <td align="center" style="background-color: rgb(189, 189, 189)">grey74</td>
-    <td align="left">rgb(189, 189, 189)</td>
-    <td align="left">#BDBDBD</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray73</td>
-    <td align="center" style="background-color: rgb(186, 186, 186)">gray73</td>
-    <td align="left">rgb(186, 186, 186)</td>
-    <td align="left">#BABABA</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey73</td>
-    <td align="center" style="background-color: rgb(186, 186, 186)">grey73</td>
-    <td align="left">rgb(186, 186, 186)</td>
-    <td align="left">#BABABA</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray72</td>
-    <td align="center" style="background-color: rgb(184, 184, 184)">gray72</td>
-    <td align="left">rgb(184, 184, 184)</td>
-    <td align="left">#B8B8B8</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey72</td>
-    <td align="center" style="background-color: rgb(184, 184, 184)">grey72</td>
-    <td align="left">rgb(184, 184, 184)</td>
-    <td align="left">#B8B8B8</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray71</td>
-    <td align="center" style="background-color: rgb(181, 181, 181)">gray71</td>
-    <td align="left">rgb(181, 181, 181)</td>
-    <td align="left">#B5B5B5</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey71</td>
-    <td align="center" style="background-color: rgb(181, 181, 181)">grey71</td>
-    <td align="left">rgb(181, 181, 181)</td>
-    <td align="left">#B5B5B5</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray70</td>
-    <td align="center" style="background-color: rgb(179, 179, 179)">gray70</td>
-    <td align="left">rgb(179, 179, 179)</td>
-    <td align="left">#B3B3B3</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey70</td>
-    <td align="center" style="background-color: rgb(179, 179, 179)">grey70</td>
-    <td align="left">rgb(179, 179, 179)</td>
-    <td align="left">#B3B3B3</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray69</td>
-    <td align="center" style="background-color: rgb(176, 176, 176)">gray69</td>
-    <td align="left">rgb(176, 176, 176)</td>
-    <td align="left">#B0B0B0</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey69</td>
-    <td align="center" style="background-color: rgb(176, 176, 176)">grey69</td>
-    <td align="left">rgb(176, 176, 176)</td>
-    <td align="left">#B0B0B0</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray68</td>
-    <td align="center" style="background-color: rgb(173, 173, 173)">gray68</td>
-    <td align="left">rgb(173, 173, 173)</td>
-    <td align="left">#ADADAD</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey68</td>
-    <td align="center" style="background-color: rgb(173, 173, 173)">grey68</td>
-    <td align="left">rgb(173, 173, 173)</td>
-    <td align="left">#ADADAD</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray67</td>
-    <td align="center" style="background-color: rgb(171, 171, 171)">gray67</td>
-    <td align="left">rgb(171, 171, 171)</td>
-    <td align="left">#ABABAB</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey67</td>
-    <td align="center" style="background-color: rgb(171, 171, 171)">grey67</td>
-    <td align="left">rgb(171, 171, 171)</td>
-    <td align="left">#ABABAB</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGray</td>
-    <td align="center" style="background-color: rgb(169, 169, 169)">DarkGray</td>
-    <td align="left">rgb(169, 169, 169)</td>
-    <td align="left">#A9A9A9</td>
-  </tr>
-
-  <tr>
-    <td align="right">DarkGrey</td>
-    <td align="center" style="background-color: rgb(169, 169, 169)">DarkGrey</td>
-    <td align="left">rgb(169, 169, 169)</td>
-    <td align="left">#A9A9A9</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray66</td>
-    <td align="center" style="background-color: rgb(168, 168, 168)">gray66</td>
-    <td align="left">rgb(168, 168, 168)</td>
-    <td align="left">#A8A8A8</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey66</td>
-    <td align="center" style="background-color: rgb(168, 168, 168)">grey66</td>
-    <td align="left">rgb(168, 168, 168)</td>
-    <td align="left">#A8A8A8</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray65</td>
-    <td align="center" style="background-color: rgb(166, 166, 166)">gray65</td>
-    <td align="left">rgb(166, 166, 166)</td>
-    <td align="left">#A6A6A6</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey65</td>
-    <td align="center" style="background-color: rgb(166, 166, 166)">grey65</td>
-    <td align="left">rgb(166, 166, 166)</td>
-    <td align="left">#A6A6A6</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray64</td>
-    <td align="center" style="background-color: rgb(163, 163, 163)">gray64</td>
-    <td align="left">rgb(163, 163, 163)</td>
-    <td align="left">#A3A3A3</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey64</td>
-    <td align="center" style="background-color: rgb(163, 163, 163)">grey64</td>
-    <td align="left">rgb(163, 163, 163)</td>
-    <td align="left">#A3A3A3</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray63</td>
-    <td align="center" style="background-color: rgb(161, 161, 161)">gray63</td>
-    <td align="left">rgb(161, 161, 161)</td>
-    <td align="left">#A1A1A1</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey63</td>
-    <td align="center" style="background-color: rgb(161, 161, 161)">grey63</td>
-    <td align="left">rgb(161, 161, 161)</td>
-    <td align="left">#A1A1A1</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray62</td>
-    <td align="center" style="background-color: rgb(158, 158, 158)">gray62</td>
-    <td align="left">rgb(158, 158, 158)</td>
-    <td align="left">#9E9E9E</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey62</td>
-    <td align="center" style="background-color: rgb(158, 158, 158)">grey62</td>
-    <td align="left">rgb(158, 158, 158)</td>
-    <td align="left">#9E9E9E</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray61</td>
-    <td align="center" style="background-color: rgb(156, 156, 156)">gray61</td>
-    <td align="left">rgb(156, 156, 156)</td>
-    <td align="left">#9C9C9C</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey61</td>
-    <td align="center" style="background-color: rgb(156, 156, 156)">grey61</td>
-    <td align="left">rgb(156, 156, 156)</td>
-    <td align="left">#9C9C9C</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray60</td>
-    <td align="center" style="background-color: rgb(153, 153, 153)">gray60</td>
-    <td align="left">rgb(153, 153, 153)</td>
-    <td align="left">#999999</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey60</td>
-    <td align="center" style="background-color: rgb(153, 153, 153)">grey60</td>
-    <td align="left">rgb(153, 153, 153)</td>
-    <td align="left">#999999</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray59</td>
-    <td align="center" style="background-color: rgb(150, 150, 150)">gray59</td>
-    <td align="left">rgb(150, 150, 150)</td>
-    <td align="left">#969696</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey59</td>
-    <td align="center" style="background-color: rgb(150, 150, 150)">grey59</td>
-    <td align="left">rgb(150, 150, 150)</td>
-    <td align="left">#969696</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray58</td>
-    <td align="center" style="background-color: rgb(148, 148, 148)">gray58</td>
-    <td align="left">rgb(148, 148, 148)</td>
-    <td align="left">#949494</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey58</td>
-    <td align="center" style="background-color: rgb(148, 148, 148)">grey58</td>
-    <td align="left">rgb(148, 148, 148)</td>
-    <td align="left">#949494</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray57</td>
-    <td align="center" style="background-color: rgb(145, 145, 145)">gray57</td>
-    <td align="left">rgb(145, 145, 145)</td>
-    <td align="left">#919191</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey57</td>
-    <td align="center" style="background-color: rgb(145, 145, 145)">grey57</td>
-    <td align="left">rgb(145, 145, 145)</td>
-    <td align="left">#919191</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray56</td>
-    <td align="center" style="background-color: rgb(143, 143, 143)">gray56</td>
-    <td align="left">rgb(143, 143, 143)</td>
-    <td align="left">#8F8F8F</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey56</td>
-    <td align="center" style="background-color: rgb(143, 143, 143)">grey56</td>
-    <td align="left">rgb(143, 143, 143)</td>
-    <td align="left">#8F8F8F</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray55</td>
-    <td align="center" style="background-color: rgb(140, 140, 140)">gray55</td>
-    <td align="left">rgb(140, 140, 140)</td>
-    <td align="left">#8C8C8C</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey55</td>
-    <td align="center" style="background-color: rgb(140, 140, 140)">grey55</td>
-    <td align="left">rgb(140, 140, 140)</td>
-    <td align="left">#8C8C8C</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray54</td>
-    <td align="center" style="background-color: rgb(138, 138, 138)">gray54</td>
-    <td align="left">rgb(138, 138, 138)</td>
-    <td align="left">#8A8A8A</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey54</td>
-    <td align="center" style="background-color: rgb(138, 138, 138)">grey54</td>
-    <td align="left">rgb(138, 138, 138)</td>
-    <td align="left">#8A8A8A</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray53</td>
-    <td align="center" style="background-color: rgb(135, 135, 135)">gray53</td>
-    <td align="left">rgb(135, 135, 135)</td>
-    <td align="left">#878787</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey53</td>
-    <td align="center" style="background-color: rgb(135, 135, 135)">grey53</td>
-    <td align="left">rgb(135, 135, 135)</td>
-    <td align="left">#878787</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray52</td>
-    <td align="center" style="background-color: rgb(133, 133, 133)">gray52</td>
-    <td align="left">rgb(133, 133, 133)</td>
-    <td align="left">#858585</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey52</td>
-    <td align="center" style="background-color: rgb(133, 133, 133)">grey52</td>
-    <td align="left">rgb(133, 133, 133)</td>
-    <td align="left">#858585</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray51</td>
-    <td align="center" style="background-color: rgb(130, 130, 130)">gray51</td>
-    <td align="left">rgb(130, 130, 130)</td>
-    <td align="left">#828282</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey51</td>
-    <td align="center" style="background-color: rgb(130, 130, 130)">grey51</td>
-    <td align="left">rgb(130, 130, 130)</td>
-    <td align="left">#828282</td>
-  </tr>
-
-  <tr>
-    <td align="right">fractal</td>
-    <td align="center" style="background-color: rgb(128, 128, 128)">fractal</td>
-    <td align="left">rgb(128, 128, 128)</td>
-    <td align="left">#808080</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray50</td>
-    <td align="center" style="background-color: rgb(127, 127, 127)">gray50</td>
-    <td align="left">rgb(127, 127, 127)</td>
-    <td align="left">#7F7F7F</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey50</td>
-    <td align="center" style="background-color: rgb(127, 127, 127)">grey50</td>
-    <td align="left">rgb(127, 127, 127)</td>
-    <td align="left">#7F7F7F</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray</td>
-    <td align="center" style="background-color: rgb(126, 126, 126)">gray</td>
-    <td align="left">rgb(126, 126, 126)</td>
-    <td align="left">#7E7E7E</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray49</td>
-    <td align="center" style="background-color: rgb(125, 125, 125)">gray49</td>
-    <td align="left">rgb(125, 125, 125)</td>
-    <td align="left">#7D7D7D</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey49</td>
-    <td align="center" style="background-color: rgb(125, 125, 125)">grey49</td>
-    <td align="left">rgb(125, 125, 125)</td>
-    <td align="left">#7D7D7D</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray48</td>
-    <td align="center" style="background-color: rgb(122, 122, 122)">gray48</td>
-    <td align="left">rgb(122, 122, 122)</td>
-    <td align="left">#7A7A7A</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey48</td>
-    <td align="center" style="background-color: rgb(122, 122, 122)">grey48</td>
-    <td align="left">rgb(122, 122, 122)</td>
-    <td align="left">#7A7A7A</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray47</td>
-    <td align="center" style="background-color: rgb(120, 120, 120)">gray47</td>
-    <td align="left">rgb(120, 120, 120)</td>
-    <td align="left">#787878</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey47</td>
-    <td align="center" style="background-color: rgb(120, 120, 120)">grey47</td>
-    <td align="left">rgb(120, 120, 120)</td>
-    <td align="left">#787878</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray46</td>
-    <td align="center" style="background-color: rgb(117, 117, 117)">gray46</td>
-    <td align="left">rgb(117, 117, 117)</td>
-    <td align="left">#757575</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey46</td>
-    <td align="center" style="background-color: rgb(117, 117, 117)">grey46</td>
-    <td align="left">rgb(117, 117, 117)</td>
-    <td align="left">#757575</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray45</td>
-    <td align="center" style="background-color: rgb(115, 115, 115)">gray45</td>
-    <td align="left">rgb(115, 115, 115)</td>
-    <td align="left">#737373</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey45</td>
-    <td align="center" style="background-color: rgb(115, 115, 115)">grey45</td>
-    <td align="left">rgb(115, 115, 115)</td>
-    <td align="left">#737373</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray44</td>
-    <td align="center" style="background-color: rgb(112, 112, 112)">gray44</td>
-    <td align="left">rgb(112, 112, 112)</td>
-    <td align="left">#707070</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey44</td>
-    <td align="center" style="background-color: rgb(112, 112, 112)">grey44</td>
-    <td align="left">rgb(112, 112, 112)</td>
-    <td align="left">#707070</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray43</td>
-    <td align="center" style="background-color: rgb(110, 110, 110)">gray43</td>
-    <td align="left">rgb(110, 110, 110)</td>
-    <td align="left">#6E6E6E</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey43</td>
-    <td align="center" style="background-color: rgb(110, 110, 110)">grey43</td>
-    <td align="left">rgb(110, 110, 110)</td>
-    <td align="left">#6E6E6E</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray42</td>
-    <td align="center" style="background-color: rgb(107, 107, 107)">gray42</td>
-    <td align="left">rgb(107, 107, 107)</td>
-    <td align="left">#6B6B6B</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey42</td>
-    <td align="center" style="background-color: rgb(107, 107, 107)">grey42</td>
-    <td align="left">rgb(107, 107, 107)</td>
-    <td align="left">#6B6B6B</td>
-  </tr>
-
-  <tr>
-    <td align="right">DimGray</td>
-    <td align="center" style="background-color: rgb(105, 105, 105)">DimGray</td>
-    <td align="left">rgb(105, 105, 105)</td>
-    <td align="left">#696969</td>
-  </tr>
-
-  <tr>
-    <td align="right">DimGrey</td>
-    <td align="center" style="background-color: rgb(105, 105, 105)">DimGrey</td>
-    <td align="left">rgb(105, 105, 105)</td>
-    <td align="left">#696969</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray41</td>
-    <td align="center" style="background-color: rgb(105, 105, 105)">gray41</td>
-    <td align="left">rgb(105, 105, 105)</td>
-    <td align="left">#696969</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey41</td>
-    <td align="center" style="background-color: rgb(105, 105, 105)">grey41</td>
-    <td align="left">rgb(105, 105, 105)</td>
-    <td align="left">#696969</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray40</td>
-    <td align="center" style="background-color: rgb(102, 102, 102)">gray40</td>
-    <td align="left">rgb(102, 102, 102)</td>
-    <td align="left">#666666</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey40</td>
-    <td align="center" style="background-color: rgb(102, 102, 102)">grey40</td>
-    <td align="left">rgb(102, 102, 102)</td>
-    <td align="left">#666666</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray39</td>
-    <td align="center" style="background-color: rgb( 99, 99,  99)">gray39</td>
-    <td align="left">rgb( 99, 99,  99)</td>
-    <td align="left">#636363</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey39</td>
-    <td align="center" style="background-color: rgb( 99, 99,  99)">grey39</td>
-    <td align="left">rgb( 99, 99,  99)</td>
-    <td align="left">#636363</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray38</td>
-    <td align="center" style="background-color: rgb( 97, 97,  97)">gray38</td>
-    <td align="left">rgb( 97, 97,  97)</td>
-    <td align="left">#616161</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey38</td>
-    <td align="center" style="background-color: rgb( 97, 97,  97)">grey38</td>
-    <td align="left">rgb( 97, 97,  97)</td>
-    <td align="left">#616161</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray37</td>
-    <td align="center" style="background-color: rgb( 94, 94,  94)">gray37</td>
-    <td align="left">rgb( 94, 94,  94)</td>
-    <td align="left">#5E5E5E</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey37</td>
-    <td align="center" style="background-color: rgb( 94, 94,  94)">grey37</td>
-    <td align="left">rgb( 94, 94,  94)</td>
-    <td align="left">#5E5E5E</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray36</td>
-    <td align="center" style="background-color: rgb( 92, 92,  92)">gray36</td>
-    <td align="left">rgb( 92, 92,  92)</td>
-    <td align="left">#5C5C5C</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey36</td>
-    <td align="center" style="background-color: rgb( 92, 92,  92)">grey36</td>
-    <td align="left">rgb( 92, 92,  92)</td>
-    <td align="left">#5C5C5C</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray35</td>
-    <td align="center" style="background-color: rgb( 89, 89,  89)">gray35</td>
-    <td align="left">rgb( 89, 89,  89)</td>
-    <td align="left">#595959</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey35</td>
-    <td align="center" style="background-color: rgb( 89, 89,  89)">grey35</td>
-    <td align="left">rgb( 89, 89,  89)</td>
-    <td align="left">#595959</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray34</td>
-    <td align="center" style="background-color: rgb( 87, 87,  87)">gray34</td>
-    <td align="left">rgb( 87, 87,  87)</td>
-    <td align="left">#575757</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey34</td>
-    <td align="center" style="background-color: rgb( 87, 87,  87)">grey34</td>
-    <td align="left">rgb( 87, 87,  87)</td>
-    <td align="left">#575757</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray33</td>
-    <td align="center" style="background-color: rgb( 84, 84,  84)">gray33</td>
-    <td align="left">rgb( 84, 84,  84)</td>
-    <td align="left">#545454</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey33</td>
-    <td align="center" style="background-color: rgb( 84, 84,  84)">grey33</td>
-    <td align="left">rgb( 84, 84,  84)</td>
-    <td align="left">#545454</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray32</td>
-    <td align="center" style="background-color: rgb( 82, 82,  82)">gray32</td>
-    <td align="left">rgb( 82, 82,  82)</td>
-    <td align="left">#525252</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey32</td>
-    <td align="center" style="background-color: rgb( 82, 82,  82)">grey32</td>
-    <td align="left">rgb( 82, 82,  82)</td>
-    <td align="left">#525252</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray31</td>
-    <td align="center" style="background-color: rgb( 79, 79,  79)">gray31</td>
-    <td align="left">rgb( 79, 79,  79)</td>
-    <td align="left">#4F4F4F</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey31</td>
-    <td align="center" style="background-color: rgb( 79, 79,  79)">grey31</td>
-    <td align="left">rgb( 79, 79,  79)</td>
-    <td align="left">#4F4F4F</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray30</td>
-    <td align="center" style="background-color: rgb( 77, 77,  77)">gray30</td>
-    <td align="left">rgb( 77, 77,  77)</td>
-    <td align="left">#4D4D4D</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey30</td>
-    <td align="center" style="background-color: rgb( 77, 77,  77)">grey30</td>
-    <td align="left">rgb( 77, 77,  77)</td>
-    <td align="left">#4D4D4D</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray29</td>
-    <td align="center" style="background-color: rgb( 74, 74,  74)">gray29</td>
-    <td align="left">rgb( 74, 74,  74)</td>
-    <td align="left">#4A4A4A</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey29</td>
-    <td align="center" style="background-color: rgb( 74, 74,  74)">grey29</td>
-    <td align="left">rgb( 74, 74,  74)</td>
-    <td align="left">#4A4A4A</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray28</td>
-    <td align="center" style="background-color: rgb( 71, 71,  71)">gray28</td>
-    <td align="left">rgb( 71, 71,  71)</td>
-    <td align="left">#474747</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey28</td>
-    <td align="center" style="background-color: rgb( 71, 71,  71)">grey28</td>
-    <td align="left">rgb( 71, 71,  71)</td>
-    <td align="left">#474747</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray27</td>
-    <td align="center" style="background-color: rgb( 69, 69,  69)">gray27</td>
-    <td align="left">rgb( 69, 69,  69)</td>
-    <td align="left">#454545</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey27</td>
-    <td align="center" style="background-color: rgb( 69, 69,  69)">grey27</td>
-    <td align="left">rgb( 69, 69,  69)</td>
-    <td align="left">#454545</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray26</td>
-    <td align="center" style="background-color: rgb( 66, 66,  66)">gray26</td>
-    <td align="left">rgb( 66, 66,  66)</td>
-    <td align="left">#424242</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey26</td>
-    <td align="center" style="background-color: rgb( 66, 66,  66)">grey26</td>
-    <td align="left">rgb( 66, 66,  66)</td>
-    <td align="left">#424242</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray25</td>
-    <td align="center" style="background-color: rgb( 64, 64,  64)">gray25</td>
-    <td align="left">rgb( 64, 64,  64)</td>
-    <td align="left">#404040</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey25</td>
-    <td align="center" style="background-color: rgb( 64, 64,  64)">grey25</td>
-    <td align="left">rgb( 64, 64,  64)</td>
-    <td align="left">#404040</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray24</td>
-    <td align="center" style="background-color: rgb( 61, 61,  61)">gray24</td>
-    <td align="left">rgb( 61, 61,  61)</td>
-    <td align="left">#3D3D3D</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey24</td>
-    <td align="center" style="background-color: rgb( 61, 61,  61)">grey24</td>
-    <td align="left">rgb( 61, 61,  61)</td>
-    <td align="left">#3D3D3D</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray23</td>
-    <td align="center" style="background-color: rgb( 59, 59,  59)">gray23</td>
-    <td align="left">rgb( 59, 59,  59)</td>
-    <td align="left">#3B3B3B</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey23</td>
-    <td align="center" style="background-color: rgb( 59, 59,  59)">grey23</td>
-    <td align="left">rgb( 59, 59,  59)</td>
-    <td align="left">#3B3B3B</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray22</td>
-    <td align="center" style="background-color: rgb( 56, 56,  56)">gray22</td>
-    <td align="left">rgb( 56, 56,  56)</td>
-    <td align="left">#383838</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey22</td>
-    <td align="center" style="background-color: rgb( 56, 56,  56)">grey22</td>
-    <td align="left">rgb( 56, 56,  56)</td>
-    <td align="left">#383838</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray21</td>
-    <td align="center" style="background-color: rgb( 54, 54,  54)">gray21</td>
-    <td align="left">rgb( 54, 54,  54)</td>
-    <td align="left">#363636</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey21</td>
-    <td align="center" style="background-color: rgb( 54, 54,  54)">grey21</td>
-    <td align="left">rgb( 54, 54,  54)</td>
-    <td align="left">#363636</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray20</td>
-    <td align="center" style="background-color: rgb( 51, 51,  51)">gray20</td>
-    <td align="left">rgb( 51, 51,  51)</td>
-    <td align="left">#333333</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey20</td>
-    <td align="center" style="background-color: rgb( 51, 51,  51)">grey20</td>
-    <td align="left">rgb( 51, 51,  51)</td>
-    <td align="left">#333333</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray19</td>
-    <td align="center" style="background-color: rgb( 48, 48,  48)">gray19</td>
-    <td align="left">rgb( 48, 48,  48)</td>
-    <td align="left">#303030</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey19</td>
-    <td align="center" style="background-color: rgb( 48, 48,  48)">grey19</td>
-    <td align="left">rgb( 48, 48,  48)</td>
-    <td align="left">#303030</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray18</td>
-    <td align="center" style="background-color: rgb( 46, 46,  46)">gray18</td>
-    <td align="left">rgb( 46, 46,  46)</td>
-    <td align="left">#2E2E2E</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey18</td>
-    <td align="center" style="background-color: rgb( 46, 46,  46)">grey18</td>
-    <td align="left">rgb( 46, 46,  46)</td>
-    <td align="left">#2E2E2E</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray17</td>
-    <td align="center" style="background-color: rgb( 43, 43,  43)">gray17</td>
-    <td align="left">rgb( 43, 43,  43)</td>
-    <td align="left">#2B2B2B</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey17</td>
-    <td align="center" style="background-color: rgb( 43, 43,  43)">grey17</td>
-    <td align="left">rgb( 43, 43,  43)</td>
-    <td align="left">#2B2B2B</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray16</td>
-    <td align="center" style="background-color: rgb( 41, 41,  41)">gray16</td>
-    <td align="left">rgb( 41, 41,  41)</td>
-    <td align="left">#292929</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey16</td>
-    <td align="center" style="background-color: rgb( 41, 41,  41)">grey16</td>
-    <td align="left">rgb( 41, 41,  41)</td>
-    <td align="left">#292929</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray15</td>
-    <td align="center" style="background-color: rgb( 38, 38,  38)">gray15</td>
-    <td align="left">rgb( 38, 38,  38)</td>
-    <td align="left">#262626</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey15</td>
-    <td align="center" style="background-color: rgb( 38, 38,  38)">grey15</td>
-    <td align="left">rgb( 38, 38,  38)</td>
-    <td align="left">#262626</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray14</td>
-    <td align="center" style="background-color: rgb( 36, 36,  36)">gray14</td>
-    <td align="left">rgb( 36, 36,  36)</td>
-    <td align="left">#242424</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey14</td>
-    <td align="center" style="background-color: rgb( 36, 36,  36)">grey14</td>
-    <td align="left">rgb( 36, 36,  36)</td>
-    <td align="left">#242424</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray13</td>
-    <td align="center" style="background-color: rgb( 33, 33,  33)">gray13</td>
-    <td align="left">rgb( 33, 33,  33)</td>
-    <td align="left">#212121</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey13</td>
-    <td align="center" style="background-color: rgb( 33, 33,  33)">grey13</td>
-    <td align="left">rgb( 33, 33,  33)</td>
-    <td align="left">#212121</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray12</td>
-    <td align="center" style="background-color: rgb( 31, 31,  31)">gray12</td>
-    <td align="left">rgb( 31, 31,  31)</td>
-    <td align="left">#1F1F1F</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey12</td>
-    <td align="center" style="background-color: rgb( 31, 31,  31)">grey12</td>
-    <td align="left">rgb( 31, 31,  31)</td>
-    <td align="left">#1F1F1F</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray11</td>
-    <td align="center" style="background-color: rgb( 28, 28,  28)">gray11</td>
-    <td align="left">rgb( 28, 28,  28)</td>
-    <td align="left">#1C1C1C</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey11</td>
-    <td align="center" style="background-color: rgb( 28, 28,  28)">grey11</td>
-    <td align="left">rgb( 28, 28,  28)</td>
-    <td align="left">#1C1C1C</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray10</td>
-    <td align="center" style="background-color: rgb( 26, 26,  26)">gray10</td>
-    <td align="left">rgb( 26, 26,  26)</td>
-    <td align="left">#1A1A1A</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey10</td>
-    <td align="center" style="background-color: rgb( 26, 26,  26)">grey10</td>
-    <td align="left">rgb( 26, 26,  26)</td>
-    <td align="left">#1A1A1A</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray9</td>
-    <td align="center" style="background-color: rgb( 23, 23,  23)">gray9</td>
-    <td align="left">rgb( 23, 23,  23)</td>
-    <td align="left">#171717</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey9</td>
-    <td align="center" style="background-color: rgb( 23, 23,  23)">grey9</td>
-    <td align="left">rgb( 23, 23,  23)</td>
-    <td align="left">#171717</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray8</td>
-    <td align="center" style="background-color: rgb( 20, 20,  20)">gray8</td>
-    <td align="left">rgb( 20, 20,  20)</td>
-    <td align="left">#141414</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey8</td>
-    <td align="center" style="background-color: rgb( 20, 20,  20)">grey8</td>
-    <td align="left">rgb( 20, 20,  20)</td>
-    <td align="left">#141414</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray7</td>
-    <td align="center" style="background-color: rgb( 18, 18,  18)">gray7</td>
-    <td align="left">rgb( 18, 18,  18)</td>
-    <td align="left">#121212</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey7</td>
-    <td align="center" style="background-color: rgb( 18, 18,  18)">grey7</td>
-    <td align="left">rgb( 18, 18,  18)</td>
-    <td align="left">#121212</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray6</td>
-    <td align="center" style="background-color: rgb( 15, 15,  15)">gray6</td>
-    <td align="left">rgb( 15, 15,  15)</td>
-    <td align="left">#0F0F0F</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey6</td>
-    <td align="center" style="background-color: rgb( 15, 15,  15)">grey6</td>
-    <td align="left">rgb( 15, 15,  15)</td>
-    <td align="left">#0F0F0F</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray5</td>
-    <td align="center" style="background-color: rgb( 13, 13,  13)">gray5</td>
-    <td align="left">rgb( 13, 13,  13)</td>
-    <td align="left">#0D0D0D</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey5</td>
-    <td align="center" style="background-color: rgb( 13, 13,  13)">grey5</td>
-    <td align="left">rgb( 13, 13,  13)</td>
-    <td align="left">#0D0D0D</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray4</td>
-    <td align="center" style="background-color: rgb( 10, 10,  10)">gray4</td>
-    <td align="left">rgb( 10, 10,  10)</td>
-    <td align="left">#0A0A0A</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey4</td>
-    <td align="center" style="background-color: rgb( 10, 10,  10)">grey4</td>
-    <td align="left">rgb( 10, 10,  10)</td>
-    <td align="left">#0A0A0A</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray3</td>
-    <td align="center" style="background-color: rgb(  8,  8,   8)">gray3</td>
-    <td align="left">rgb(  8,  8,   8)</td>
-    <td align="left">#080808</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey3</td>
-    <td align="center" style="background-color: rgb(  8,  8,   8)">grey3</td>
-    <td align="left">rgb(  8,  8,   8)</td>
-    <td align="left">#080808</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray2</td>
-    <td align="center" style="background-color: rgb(  5,  5,   5)">gray2</td>
-    <td align="left">rgb(  5,  5,   5)</td>
-    <td align="left">#050505</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey2</td>
-    <td align="center" style="background-color: rgb(  5,  5,   5)">grey2</td>
-    <td align="left">rgb(  5,  5,   5)</td>
-    <td align="left">#050505</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray1</td>
-    <td align="center" style="background-color: rgb(  3,  3,   3)">gray1</td>
-    <td align="left">rgb(  3,  3,   3)</td>
-    <td align="left">#030303</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey1</td>
-    <td align="center" style="background-color: rgb(  3,  3,   3)">grey1</td>
-    <td align="left">rgb(  3,  3,   3)</td>
-    <td align="left">#030303</td>
-  </tr>
-
-  <tr>
-    <td align="right">black</td>
-    <td align="center" style="background-color: rgb(  0,  0,   0)">black</td>
-    <td align="left">rgb(  0,  0,   0)</td>
-    <td align="left">#000000</td>
-  </tr>
-
-  <tr>
-    <td align="right">gray0</td>
-    <td align="center" style="background-color: rgb(  0,  0,   0)">gray0</td>
-    <td align="left">rgb(  0,  0,   0)</td>
-    <td align="left">#000000</td>
-  </tr>
-
-  <tr>
-    <td align="right">grey0</td>
-    <td align="center" style="background-color: rgb(  0,  0,   0)">grey0</td>
-    <td align="left">rgb(  0,  0,   0)</td>
-    <td align="left">#000000</td>
-  </tr>
-
-  <tr>
-    <td align="right">opaque</td>
-    <td align="center" style="background-color: rgb(  0,  0,   0)">opaque</td>
-    <td align="left">rgb(  0,  0,   0)</td>
-    <td align="left">#000000</td>
-  </tr>
-
-  <tr>
-    <td align="right">none</td>
-    <td align="center" style="background-color: white">none</td>
-    <td align="left">rgba(  0,  0,   0,   0.0)</td>
-    <td align="left">#00000000</td>
-  </tr>
-
-  <tr>
-    <td align="right">transparent</td>
-    <td align="center" style="background-color: white">transparent</td>
-    <td align="left">rgba(  0,  0,   0,   0.0)</td>
-    <td align="left">#00000000</td>
-  </tr>
-
-  </tbody>
-</table>
+<dt>exception</dt>
+<p>return any errors or warnings in this structure.</p>
 
 </div>
     </div>
@@ -4968,4 +244,4 @@ device-cmyk(0.11, 0.48, 0.83, 0.00)</code></pre>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:38 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 07:18 -->
\ No newline at end of file
index 56f23cf2882811d6f845600b81da212b2acd2c59..abafc68e582a3e1cfc7bc9d365140d24d0f25124 100644 (file)
@@ -170,3 +170,4 @@ MagickBooleanType CycleColormapImage(Image *image,const ssize_t displace,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 16:25 -->
\ No newline at end of file
index 1162dba8bc4d633faa11dfaa1b3e9225e1fdbb11..601b5657dc6559d0f032cf82323c3195523e9b0e 100644 (file)
@@ -256,3 +256,4 @@ MagickBooleanType TransformImageColorspace(Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 16:25 -->
\ No newline at end of file
index 07a423abc7abb5be6d07c6522fe8e2e2ebb93a01..5f14ef011b925e3743a539157ec0be66eb909dc3 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Command-line Tools: Compare @ ImageMagick</title>
+  <title>MagickCore, C API: Compare an Image to a Reconstructed Image @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="command-line, tools:, compare, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, compare, an, image, to, a, reconstructed, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/compare.html" rel="canonical" />
+  <link href="compare.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="compare.html#usage">Example Usage</a> • <a href="compare.html#options">Option Summary</a></p>
+<p class="text-center"><a href="compare.html#CompareImagesCommand">CompareImagesCommand</a></p>
 
-<p class="lead magick-description">Use the <code>compare</code> program to mathematically and visually annotate the difference between an image and its reconstruction.  See <a href="../../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>compare</code> command or see below for example usages of the command.</p>
+<h2><a href="../../api/MagickWand/compare_8c.html" id="CompareImagesCommand">CompareImagesCommand</a></h2>
 
-<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
+<p>CompareImagesCommand() compares two images and returns the difference between them as a distortion metric and as a new image visually annotating their differences.</p>
 
-<p>We list a few examples of the <code>compare</code> command here to illustrate its usefulness and ease of use. To get started, lets compare an image to one thats been sharpened:</p>
+<p>The format of the CompareImagesCommand method is:</p>
 
-<pre class="highlight"><code>magick convert rose.jpg -sharpen 0x1 reconstruct.jpg
-magick compare rose.jpg reconstruct.jpg difference.png
-magick compare -compose src rose.jpg reconstruct.jpg difference.png
-</code></pre>
+<pre class="text">
+MagickBooleanType CompareImagesCommand(ImageInfo *image_info,int argc,
+  char **argv,char **metadata,ExceptionInfo *exception)
+</pre>
 
-<ul>
-  <a href="../../images/rose.jpg"><img src="../../images/rose.jpg" width="70" height="46" alt="rose" /></a>
-  <a href="../../images/reconstruct.jpg"><img src="../../images/reconstruct.jpg" width="70" height="46" alt="rose" /></a>
-  <img style="margin:13px 0;" src="../../images/right.gif" width="20" height="20" alt="==>" />
-  <a href="../../images/difference.png"><img src="../../images/difference.png" width="70" height="46" alt="rose" /></a>
-</ul>
+<p>A description of each parameter follows:</p>
 
-<p>The red areas of the difference image emphasizes (highlight) pixels that are affected by the image sharpening, whereas white de-emphasizes (lowlight) pixels that are untouched by the sharpening process.</p>
+<dd>
+</dd>
 
-<p>In addition to the visual interpretation of the difference in an image and its reconstruction, we report a mathematical measure of the difference:</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image_info</dt>
+<dd>the image info. </dd>
 
-<pre class="highlight"><code>-> magick compare -verbose -metric mae rose.jpg reconstruct.jpg difference.png
-Image: rose.jpg
- Channel distortion: MAE
-  red: 2282.91 (0.034835)
-  green: 1853.99 (0.0282901)
-  blue: 2008.67 (0.0306503)
-  all: 1536.39 (0.0234439)
-</code></pre>
-<p>Or, if you just want the red channel distortion, use this command:</p>
+<dd> </dd>
+<dt>argc</dt>
+<dd>the number of elements in the argument vector. </dd>
 
-<pre class="highlight"><code>-> magick compare -channel red -metric PSNR rose.jpg reconstruct.jpg difference.png
-19.63
-</code></pre>
+<dd> </dd>
+<dt>argv</dt>
+<dd>A text array containing the command line arguments. </dd>
 
-<p>Or, if you just want the overall image distortion, use this command:</p>
+<dd> </dd>
+<dt>metadata</dt>
+<dd>any metadata is returned here. </dd>
 
-<pre class="highlight"><code>-> magick compare -metric PSNR rose.jpg reconstruct.jpg difference.png
-28.31
-</code></pre>
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
 
-<p>If the reconstructed image is a subimage of the image, the compare program returns the best match offset.  In addition, it returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between:</p>
-
-<pre class="highlight"><code>-> magick compare -metric RMSE -subimage-search logo.png wizard.jpg similarity.gif
-85.05 (0.00129778) @ 353,157
-</code></pre>
-
-<p>You can find additional examples of using <code>compare</code> in <a href="http://www.ibm.com/developerworks/library/l-graf/?ca=dnt-428">Graphics from the Command Line</a>.  Further discussion is available in <a href="http://www.ibm.com/developerworks/library/l-graf2/?ca=dgr-lnxw15GraphicsLine">More Graphics from the Command Line</a> and <a href="../../Usage/">Examples of ImageMagick Usage</a>.</p>
-
-<p>The compare program returns 2 on error otherwise 0 if the images are similar or 1 if they are dissimilar.</p>
-
-<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
-
-<p>The <code>compare</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
-
-<table class="table table-sm table-striped">
-  <tbody>
-  <tr>
-    <th align="left">Option</th>
-    <th align="left">Description</th>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#alpha">-alpha</a></td>
-    <td>on, activate, off, deactivate, set, opaque, copy",
-transparent, extract, background, or shape the alpha channel</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
-    <td>decrypt image with this password</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#background">-background <var>color</var></a></td>
-    <td>background color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#brightness-contrast">-brightness-contrast <var>geometry</var></a></td>
-    <td>improve brightness / contrast of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#channel">-channel <var>type</var></a></td>
-    <td>apply option to select image channels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
-    <td>set image colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compose">-compose <var>operator</var></a></td>
-    <td>set image composite operator</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#crop">-crop <var>geometry</var></a></td>
-    <td>crop the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#decipher">-decipher <var>filename</var></a></td>
-    <td>convert cipher pixels to plain</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#debug">-debug <var>events</var></a></td>
-    <td>display copious debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#define">-define <var>format:option</var></a></td>
-    <td>define one or more image format options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#density">-density <var>geometry</var></a></td>
-    <td>horizontal and vertical density of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#depth">-depth <var>value</var></a></td>
-    <td>image depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dissimilarity-threshold">-dissimilarity-threshold <var>value</var></a></td>
-    <td>maximum distortion for (sub)image match (default 0.2)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#distort">-distort <var>type coefficients</var></a></td>
-    <td>distort image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#encipher">-encipher <var>filename</var></a></td>
-    <td>convert plain pixels to cipher pixels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
-    <td>extract area from image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fuzz">-fuzz <var>distance</var></a></td>
-    <td>colors within this distance are considered equal</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gravity">-gravity <var>type</var></a></td>
-    <td>horizontal and vertical text placement</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#help">-help</a></td>
-    <td>print program options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#highlight-color">-highlight-color <var>color</var></a></td>
-    <td>emphasize pixel differences with this color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#identify">-identify</a></td>
-    <td>identify the format and characteristics of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
-    <td>type of image interlacing scheme</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#level">-level <var>value</var></a></td>
-    <td>adjust the level of image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
-    <td>pixel cache resource limit</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#log">-log <var>format</var></a></td>
-    <td>format of debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#lowlight-color">-lowlight-color <var>color</var></a></td>
-    <td>de-emphasize pixel differences with this color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#metric">-metric <var>type</var></a></td>
-    <td>measure differences between images with this metric</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#negate">-negate</a></td>
-    <td>replace each pixel with its complementary color </td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#profile">-profile <var>filename</var></a></td>
-    <td>add, delete, or apply an image profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quality">-quality <var>value</var></a></td>
-    <td>JPEG/MIFF/PNG compression level</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
-    <td>reduce image colors in this colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quiet">-quiet</a></td>
-    <td>suppress all warning messages</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#read-mask">-read-mask <var>filename</var></a></td>
-    <td>associate a read mask with the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
-    <td>pay attention to warning messages.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#repage">-repage <var>geometry</var></a></td>
-    <td>size and location of an image canvas</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resize">-resize <var>geometry</var></a></td>
-    <td>resize the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
-    <td>settings remain in effect until parenthesis boundary.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
-    <td>apply Paeth rotation to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
-    <td>horizontal and vertical sampling factor</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#seed">-seed <var>value</var></a></td>
-    <td>seed a new sequence of pseudo-random numbers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#separate">-separate</a></td>
-    <td>separate an image channel into a grayscale image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
-    <td>set an image attribute</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sigmoidal">-sigmoidal-contrast <var>geometry</var></a></td>
-    <td>increase the contrast without saturating highlights or shadows</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#similarity-threshold">-similarity-threshold <var>value</var></a></td>
-    <td>minimum distortion for (sub)image match (default 0.0)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#size">-size <var>geometry</var></a></td>
-    <td>width and height of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#subimage-search">-subimage-search</a></td>
-    <td>search for subimage</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#synchronize">-synchronize</a></td>
-    <td>synchronize image to storage device</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#taint">-taint</a></td>
-    <td>mark the image as modified</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
-    <td>transparent color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#trim">-trim</a></td>
-    <td>trim image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#verbose">-verbose</a></td>
-    <td>print detailed information about the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#version">-version</a></td>
-    <td>print version information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
-    <td>access method for pixels outside the boundaries of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write-mask">-read-mask <var>filename</var></a></td>
-    <td>associate a write mask with the image</td>
-  </tr>
-
-  </tbody>
-</table>
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -447,4 +145,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:10 -->
\ No newline at end of file
+<!-- Magick Cache 16th February 2018 10:04 -->
\ No newline at end of file
index 9f97772878ee11d91272fb04714f3774756a4669..2b0d88976b0a18d6ad2156fb58312c310783f2a6 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Command-line Tools: Composite @ ImageMagick</title>
+  <title>MagickCore, C API: Composite an Image @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="command-line, tools:, composite, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, composite, an, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/composite.html" rel="canonical" />
+  <link href="../../api/composite.html" rel="canonical" />
   <link href="../images/wand.png" rel="icon" />
   <link href="../images/wand.ico" rel="shortcut icon" />
   <link href="assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="composite.html#usage">Example Usage</a> • <a href="composite.html#options">Option Summary</a></p>
+<p class="text-center"><a href="composite.html#CompositeImageCommand">CompositeImageCommand</a></p>
 
-<p class="lead magick-description">Use the <code>composite</code> program to overlap one image over another.  See <a href="../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>composite</code> command or see below for example usages of the command.</p>
+<h2><a href="../../api/MagickWand/composite_8c.html" id="CompositeImageCommand">CompositeImageCommand</a></h2>
 
-<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
+<p>CompositeImageCommand() reads one or more images and an optional mask and composites them into a new image.</p>
 
-<p>We list a few examples of the <code>composite</code> command here to illustrate its usefulness and ease of use.  To get started, lets overlay a smiley face over a rose:</p>
+<p>The format of the CompositeImageCommand method is:</p>
 
-<pre class="highlight"><code>magick composite -gravity center smile.gif  rose: rose-over.png
-</code></pre>
+<pre class="text">
+MagickBooleanType CompositeImageCommand(ImageInfo *image_info,int argc,
+  char **argv,char **metadata,ExceptionInfo *exception)
+</pre>
 
-<ul>
-  <a href="../images/smile.gif"><img src="../images/smile.gif" width="48" height="48" alt="smile" /></a>
-  <img src="../images/over.gif" width="56" height="46" alt="over" />
-  <a href="../images/rose.jpg"><img src="../images/rose.jpg" width="70" height="46" alt="rose" /></a>
-  <img style="margin-top:13px; margin-bottom:13px;" src="../images/right.gif" width="20" height="20" alt="==>" />
-  <a href="../images/rose-over.png"><img src="../images/rose-over.png" width="70" height="46" alt="rose" /></a>
-</ul>
+<p>A description of each parameter follows:</p>
 
-<p>You can create three-dimensional effect with the <var>Atop</var>:</p>
+<dd>
+</dd>
 
-<pre class="highlight"><code>magick convert -size 70x70 canvas:none -fill red -draw 'circle 35,35 10,30' red-circle.png
-magick convert -size 70x70 canvas:none -draw 'circle 35,35 35,20' -negate \
--channel A -gaussian-blur 0x8 white-highlight.png
-magick composite -compose atop -geometry -13-17 white-highlight.png red-circle.png red-ball.png
-</code></pre>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image_info</dt>
+<dd>the image info. </dd>
 
-<ul>
-  <a href="../images/white-highlight.png"><img src="../images/white-highlight.png" width="70" height="70" alt="white highlight" /></a>
-  <img src="../images/atop.gif" width="56" height="70" alt="atop" />
-  <a href="../images/red-circle.png"><img src="../images/red-circle.png" width="70" height="70" alt="red circle" /></a>
-  <img style="margin-top:25px; margin-bottom:25px;" src="../images/right.gif" width="20" height="20" alt="==>" />
-  <a href="../images/red-ball.png"><img src="../images/red-ball.png" width="70" height="70" alt="red ball" /></a>
-</ul>
+<dd> </dd>
+<dt>argc</dt>
+<dd>the number of elements in the argument vector. </dd>
 
-<p>You can find additional examples of using <code>composite</code> in <a href="../../Usage/">Examples of ImageMagick Usage</a>.  You can find out more about them and the mathematics by looking at <a href="http://www.w3.org/TR/SVG12/rendering.html">SVG Alpha Compositing</a></p>
+<dd> </dd>
+<dt>argv</dt>
+<dd>A text array containing the command line arguments. </dd>
 
-<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
+<dd> </dd>
+<dt>metadata</dt>
+<dd>any metadata is returned here. </dd>
 
-<p>The <code>composite</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
 
-<table class="table table-sm table-striped">
-  <tbody>
-  <tr>
-    <th align="left">Option</th>
-    <th align="left">Description</th>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#affine">-affine <var>matrix</var></a></td>
-    <td>affine transform matrix</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#alpha">-alpha</a></td>
-    <td>on, activate, off, deactivate, set, opaque, copy",
-transparent, extract, background, or shape the alpha channel</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
-    <td>decrypt image with this password</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#blend">-blend <var>geometry</var></a></td>
-    <td>blend images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#blue-primary">-blue-primary <var>point</var></a></td>
-    <td>chromaticity blue primary point</td>
-  </tr>
-
-
-  <tr>
-    <td><a href="../www/command-line-options.html#border">-border <var>geometry</var></a></td>
-    <td>surround image with a border of color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
-    <td>border color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#channel">-channel <var>type</var></a></td>
-    <td>apply option to select image channels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#colors">-colors <var>value</var></a></td>
-    <td>preferred number of colors in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
-    <td>set image colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#comment">-comment <var>string</var></a></td>
-    <td>annotate image with comment</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#compose">-compose <var>operator</var></a></td>
-    <td>set image composite operator</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#compress">-compress <var>type</var></a></td>
-    <td>image compression type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#debug">-debug <var>events</var></a></td>
-    <td>display copious debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#decipher">-decipher <var>filename</var></a></td>
-    <td>convert cipher pixels to plain</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#define">-define <var>format:option</var></a></td>
-    <td>define one or more image format options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#density">-density <var>geometry</var></a></td>
-    <td>horizontal and vertical density of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#depth">-depth <var>value</var></a></td>
-    <td>image depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#displace">-displace <var>geometry</var></a></td>
-    <td>shift image pixels defined by a displacement map</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#dissolve">-dissolve <var>value</var></a></td>
-    <td>dissolve the two images a given percent</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#dither">-dither  <var>method</var></a></td>
-    <td>apply error diffusion to image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#encipher">-encipher <var>filename</var></a></td>
-    <td>convert plain pixels to cipher pixels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#encoding">-encoding <var>type</var></a></td>
-    <td>text encoding type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#endian">-endian <var>type</var></a></td>
-    <td>endianness (MSB or LSB) of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
-    <td>extract area from image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#filter">-filter <var>type</var></a></td>
-    <td>use this filter when resizing an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#font">-font <var>name</var></a></td>
-    <td>render text with this font</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
-    <td>preferred size or location of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#gravity">-gravity <var>type</var></a></td>
-    <td>horizontal and vertical text placement</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#green-primary">-green-primary <var>point</var></a></td>
-    <td>chromaticity green primary point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#help">-help</a></td>
-    <td>print program options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#identify">-identify</a></td>
-    <td>identify the format and characteristics of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
-    <td>type of image interlacing scheme</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
-    <td>pixel color interpolation method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#label">-label <var>string</var></a></td>
-    <td>assign a label to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#level">-level <var>value</var></a></td>
-    <td>adjust the level of image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
-    <td>pixel cache resource limit</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#log">-log <var>format</var></a></td>
-    <td>format of debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#monitor">-monitor</a></td>
-    <td>monitor progress</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#monochrome">-monochrome</a></td>
-    <td>transform image to black and white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#negate">-negate</a></td>
-    <td>replace each pixel with its complementary color </td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#page">-page <var>geometry</var></a></td>
-    <td>size and location of an image canvas (setting)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#pointsize">-pointsize <var>value</var></a></td>
-    <td>font point size</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#profile">-profile <var>filename</var></a></td>
-    <td>add, delete, or apply an image profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#quality">-quality <var>value</var></a></td>
-    <td>JPEG/MIFF/PNG compression level</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
-    <td>reduce image colors in this colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#quiet">-quiet</a></td>
-    <td>suppress all warning messages</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#red-primary">-red-primary <var>point</var></a></td>
-    <td>chromaticity red primary point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
-    <td>pay attention to warning messages.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
-    <td>settings remain in effect until parenthesis boundary.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
-    <td>apply Paeth rotation to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
-    <td>horizontal and vertical sampling factor</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#scene">-scene <var>value</var></a></td>
-    <td>image scene number</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#seed">-seed <var>value</var></a></td>
-    <td>seed a new sequence of pseudo-random numbers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
-    <td>set an image attribute</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#sharpen">-sharpen <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#shave">-shave <var>geometry</var></a></td>
-    <td>shave pixels from the image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#size">-size <var>geometry</var></a></td>
-    <td>width and height of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#stegano">-stegano <var>offset</var></a></td>
-    <td>hide watermark within an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#stereo">-stereo <var>geometry</var></a></td>
-    <td>combine two image to create a stereo anaglyph</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#strip">-strip</a></td>
-    <td>strip image of all profiles and comments</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#swap">-swap <var>indexes</var></a></td>
-    <td>swap two images in the image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#synchronize">-synchronize</a></td>
-    <td>synchronize image to storage device</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#taint">-taint</a></td>
-    <td>mark the image as modified</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#thumbnail">-thumbnail <var>geometry</var></a></td>
-    <td>create a thumbnail of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#tile">-tile</a></td>
-    <td>repeat composite operation across and down image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#transform">-transform</a></td>
-    <td>affine transform image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
-    <td>transparent color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#treedepth">-treedepth <var>value</var></a></td>
-    <td>color tree depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#type">-type <var>type</var></a></td>
-    <td>image type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#units">-units <var>type</var></a></td>
-    <td>the units of image resolution</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#unsharp">-unsharp <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#verbose">-verbose</a></td>
-    <td>print detailed information about the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#version">-version</a></td>
-    <td>print version information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
-    <td>access method for pixels outside the boundaries of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#watermark">-watermark <var>geometry</var></a></td>
-    <td>percent brightness and saturation of a watermark</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#white-point">-white-point <var>point</var></a></td>
-    <td>chromaticity white point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#white-threshold">-white-threshold <var>value</var></a></td>
-    <td>force all pixels above the threshold into white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#write">-write <var>filename</var></a></td>
-    <td>write images to this file</td>
-  </tr>
-
-  </tbody>
-</table>
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -551,4 +145,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:54 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 12:10 -->
\ No newline at end of file
index 9e668a9b1232a6dc3845c36eccf5956129afb76d..0ddbd1efc323b3f90ac5a6a01390810e91f005b8 100644 (file)
@@ -334,3 +334,4 @@ MagickBooleanType WriteImages(const ImageInfo *image_info,Image *images,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 14th February 2018 12:43 -->
\ No newline at end of file
index 275000e869bf85d3a9797808cef1609598a7732b..7acdd8d4625b43b31975395855090f5de6753289 100644 (file)
@@ -212,3 +212,4 @@ MagickBooleanType RaiseImage(const Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 17th February 2018 16:01 -->
\ No newline at end of file
index a577a259402d8bea6cbf2eec012a30c503a03378..f0d0f774e0279eb3ea7f0ad40087035c604dfea8 100644 (file)
@@ -160,3 +160,4 @@ MagickBooleanType MagickSetImageAlphaColor(MagickWand *wand,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 03:56 -->
\ No newline at end of file
index b8ac3033108e3623f50a8c58f5fa40772b5ce841..598079e1816eb47e2a0d297937ea229ffbdb0309 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Command-line Tools: Display @ ImageMagick</title>
+  <title>MagickCore, C API: Interactively Display and Edit an Image @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="command-line, tools:, display, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, interactively, display, edit, an, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/display.html" rel="canonical" />
+  <link href="display.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="display.html#usage">Example Usage</a> • <a href="display.html#options">Option Summary</a></p>
-
-<p class="lead magick-description">Use the <code>display</code> program to display an image or image sequence on any X server.  See <a href="../../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>display</code> command or see below for example usages of the command.</p>
-
-<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
-
-<p>We list a few examples of the <code>display</code> command here to illustrate its usefulness and ease of use.  To get started, lets display an image in the JPEG format:</p>
-
-<pre class="highlight"><code>magick display rose.jpg
-</code></pre>
-
-<p>To tile a slate texture onto the root window, use:</p>
-
-<pre class="highlight"><code>magick display -size 1280x1024 -window root slate.png
-</code></pre>
-
-<p>To display a visual image directory of all your JPEG images, use:</p>
-
-<pre class="highlight"><code>magick display 'vid:*.jpg'
-</code></pre>
-
-<p>The display program defaults to the X screen resolution.  To display vecotr formats at their intended size, override the default resolution:</p>
-
-<pre class="highlight"><code>magick display -density 72 drawing.svg
-</code></pre>
-
-<p>You can find additional examples of using <code>display</code> in <a href="http://www.ibm.com/developerworks/library/l-graf/">Graphics from the Command Line</a>.  Further discussion is available in  <a href="https://www.ibm.com/developerworks/library/l-graf2/">More Graphics from the Command Line</a> and <a href="../../Usage/">Examples of ImageMagick Usage</a>.</p>
-
-<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
-
-<p>The <code>display</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
-
-<table class="table table-sm table-striped">
-  <tbody>
-  <tr>
-    <th align="left">Option</th>
-    <th align="left">Description</th>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#alpha">-alpha</a></td>
-    <td>on, activate, off, deactivate, set, opaque, copy",
-transparent, extract, background, or shape the alpha channel</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#antialias">-antialias</a></td>
-    <td>remove pixel-aliasing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
-    <td>decrypt image with this password</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#backdrop">-backdrop</a></td>
-    <td>display image centered on a backdrop</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#background">-background <var>color</var></a></td>
-    <td>background color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#border">-border <var>geometry</var></a></td>
-    <td>surround image with a border of color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
-    <td>border color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#channel">-channel <var>type</var></a></td>
-    <td>apply option to select image channels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip">-clip</a></td>
-    <td>clip along the first path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip-path">-clip-path <var>id</var></a></td>
-    <td>clip along a named path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#coalesce">-coalesce</a></td>
-    <td>merge a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colormap">-colormap <var>type</var></a></td>
-    <td>Shared or Private</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colors">-colors <var>value</var></a></td>
-    <td>preferred number of colors in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
-    <td>set image colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#comment">-comment <var>string</var></a></td>
-    <td>annotate image with comment</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compress">-compress <var>type</var></a></td>
-    <td>image compression type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#contrast">-contrast</a></td>
-    <td>enhance or reduce the image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#crop">-crop <var>geometry</var></a></td>
-    <td>preferred size and location of the cropped image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#debug">-debug <var>events</var></a></td>
-    <td>display copious debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#decipher">-decipher <var>filename</var></a></td>
-    <td>convert cipher pixels to plain</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#define">-define <var>format:option</var></a></td>
-    <td>define one or more image format options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#delay">-delay <var>value</var></a></td>
-    <td>display the next image after pausing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#density">-density <var>geometry</var></a></td>
-    <td>horizontal and vertical density of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#depth">-depth <var>value</var></a></td>
-    <td>image depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#despeckle">-despeckle</a></td>
-    <td>reduce the speckles within an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#display">-display <var>server</var></a></td>
-    <td>get image or font from this X server</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dispose">-dispose <var>method</var></a></td>
-    <td>layer disposal method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dither">-dither  <var>method</var></a></td>
-    <td>apply error diffusion to image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#edge">-edge <var>radius</var></a></td>
-    <td>apply a filter to detect edges in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#endian">-endian <var>type</var></a></td>
-    <td>endianness (MSB or LSB) of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#enhance">-enhance</a></td>
-    <td>apply a digital filter to enhance a noisy image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#equalize">-equalize</a></td>
-    <td>perform histogram equalization to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
-    <td>extract area from image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#filter">-filter <var>type</var></a></td>
-    <td>use this filter when resizing an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flatten">-flatten</a></td>
-    <td>flatten a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flip">-flip</a></td>
-    <td>flip image in the vertical direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flop">-flop</a></td>
-    <td>flop image in the horizontal direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#frame">-frame <var>geometry</var></a></td>
-    <td>surround image with an ornamental border</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fuzz">-fuzz <var>distance</var></a></td>
-    <td>colors within this distance are considered equal</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gamma">-gamma <var>value</var></a></td>
-    <td>level of gamma correction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
-    <td>preferred size or location of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gravity">-gravity <var>geometry</var></a></td>
-    <td>horizontal and vertical backdrop placement</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#help">-help</a></td>
-    <td>print program options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#identify">-identify</a></td>
-    <td>identify the format and characteristics of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#immutable">-immutable <var>type</var></a></td>
-    <td>prohibit image edits</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
-    <td>type of image interlacing scheme</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
-    <td>pixel color interpolation method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#label">-label <var>name</var></a></td>
-    <td>assign a label to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
-    <td>pixel cache resource limit</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#log">-log <var>format</var></a></td>
-    <td>format of debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#map">-map <var>filename</var></a></td>
-    <td>transform image colors to match this set of colors</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mattecolor">-mattecolor <var>color</var></a></td>
-    <td>frame color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monitor">-monitor</a></td>
-    <td>monitor progress</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monochrome">-monochrome</a></td>
-    <td>transform image to black and white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#negate">-negate</a></td>
-    <td>replace each pixel with its complementary color </td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#normalize">-normalize</a></td>
-    <td>transform image to span the full range of colors</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#page">-page <var>geometry</var></a></td>
-    <td>size and location of an image canvas (setting)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#profile">-profile <var>filename</var></a></td>
-    <td>add, delete, or apply an image profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
-    <td>reduce image colors in this colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quiet">-quiet</a></td>
-    <td>suppress all warning messages</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#raise">-raise <var>value</var></a></td>
-    <td>lighten/darken image edges to create a 3-D effect</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
-    <td>pay attention to warning messages.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#remote">-remote <var>command</var></a></td>
-    <td>execute a command in an remote display process</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resample">-resample <var>geometry</var></a></td>
-    <td>change the resolution of an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resize">-resize <var>geometry</var></a></td>
-    <td>resize the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
-    <td>settings remain in effect until parenthesis boundary.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#roll">-roll <var>geometry</var></a></td>
-    <td>roll an image vertically or horizontally</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
-    <td>apply Paeth rotation to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sample">-sample <var>geometry</var></a></td>
-    <td>scale image with pixel sampling</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
-    <td>horizontal and vertical sampling factor</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#scene">-scene <var>value</var></a></td>
-    <td>image scene number</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#seed">-seed <var>value</var></a></td>
-    <td>seed a new sequence of pseudo-random numbers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#segment">-segment <var>values</var></a></td>
-    <td>segment an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
-    <td>set an image attribute</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sharpen">-sharpen <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#size">-size <var>geometry</var></a></td>
-    <td>width and height of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#strip">-strip</a></td>
-    <td>strip image of all profiles and comments</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#thumbnail">-thumbnail <var>geometry</var></a></td>
-    <td>create a thumbnail of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
-    <td>transparent color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#black-threshold">-black-threshold <var>value</var></a></td>
-    <td>force all pixels below the threshold into black</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#trim">-trim</a></td>
-    <td>trim image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#update">-update <var>seconds</var></a></td>
-    <td>detect when image file is modified and redisplay</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#verbose">-verbose</a></td>
-    <td>print detailed information about the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#version">-version</a></td>
-    <td>print version information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
-    <td>access method for pixels outside the boundaries of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#visual">-visual</a></td>
-    <td>display image using this visual type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write">-window <var>id</var></a></td>
-    <td>display image to background of this window</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write">-window-group <var>id</var></a></td>
-    <td>exit program when this window id is destroyed</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write">-write <var>filename</var></a></td>
-    <td>write images to this file</td>
-  </tr>
-  </tbody>
-</table>
+<p class="text-center"><a href="display.html#Unknown method">Unknown method</a></p>
 
 </div>
     </div>
@@ -591,4 +106,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 16th February 2018 10:04 -->
\ No newline at end of file
index 6fa10db7aba94366d39941748d2312adce68618c..07b5f672629a0a89deaa8028c42ace74bd782611 100644 (file)
@@ -269,3 +269,4 @@ Image *SparseColorImage(const Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 03:00 -->
\ No newline at end of file
index 20be029017106cb356d380135a985ff9b844c397..a05cbc266b6b5c39283b0c0f9a95da6ea1ee179c 100644 (file)
@@ -393,3 +393,4 @@ void GetAffineMatrix(AffineMatrix *affine_matrix)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 18:46 -->
\ No newline at end of file
index 97ca6af389b44416df18e3a2234f020b4238ed00..99b09794349767e68d191f2010558e39078ffeef 100644 (file)
@@ -3870,3 +3870,4 @@ MagickBooleanType PushDrawingWand(DrawingWand *wand)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 10:12 -->
\ No newline at end of file
index 8249071f995549c8309ed1924094dc4ee93b0c46..e9254a2a6a03d2207050dab3fd07520a2703e8eb 100644 (file)
@@ -739,3 +739,4 @@ ExceptionInfo *exception)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 14th February 2018 21:09 -->
\ No newline at end of file
index 0fc97b151a41e1e4696125542a661a19f8142834..d197d6d42551f0c3921781dd83d1c7a8ec307a9f 100644 (file)
@@ -787,3 +787,4 @@ MagickBooleanType SigmoidalContrastImage(Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 10:03 -->
\ No newline at end of file
index 9a977d9f9e2c1f2db5f584e5cc435a28bdbf5d1c..1c9de87dfce266bb240789687779da499b273d88 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Exceptions @ ImageMagick</title>
+  <title>MagickCore, C API: Dealing with Exceptions @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="exceptions, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, dealing, with, exceptions, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../www/exception.html" rel="canonical" />
+  <link href="exception.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
+<p class="text-center"><a href="exception.html#AcquireExceptionInfo">AcquireExceptionInfo</a> &#8226; <a href="exception.html#ClearMagickException">ClearMagickException</a> &#8226; <a href="exception.html#CatchException">CatchException</a> &#8226; <a href="exception.html#CloneExceptionInfo">CloneExceptionInfo</a> &#8226; <a href="exception.html#DestroyExceptionInfo">DestroyExceptionInfo</a> &#8226; <a href="exception.html#GetExceptionMessage">GetExceptionMessage</a> &#8226; <a href="exception.html#GetLocaleExceptionMessage">GetLocaleExceptionMessage</a> &#8226; <a href="exception.html#InheritException">InheritException</a> &#8226; <a href="exception.html#InitializeExceptionInfo">InitializeExceptionInfo</a> &#8226; <a href="exception.html#MagickError">MagickError</a> &#8226; <a href="exception.html#MagickFatalError">MagickFatalError</a> &#8226; <a href="exception.html#MagickWarning">MagickWarning</a> &#8226; <a href="exception.html#SetErrorHandler">SetErrorHandler</a> &#8226; <a href="exception.html#SetFatalErrorHandler">SetFatalErrorHandler</a> &#8226; <a href="exception.html#SetWarningHandler">SetWarningHandler</a> &#8226; <a href="exception.html#ThrowException">ThrowException</a></p>
 
-<p class="lead magick-description">ImageMagick returns a status of 0 whenever a command or algorithm successfully complete without complaint.  A warning code generally is typically just a notice that something unusual occurred but the command or algorithm still completed and most likely the results are still usable.  An error means the command or algorithm could not complete as expected and any results are unreliable.  A fatal error means the command or algorithm could not complete and the process exits prematurely and no results are returned.</p>
-
-<table class="table table-sm table-striped">
-  <caption>ImageMagick Error and Warning Codes</caption>
-  <tbody>
-  <tr>
-    <th>Domain</th>
-    <th>Description</th>
-    <th>Warning</th>
-    <th>Error</th>
-    <th>Fatal Error</th>
-  </tr>
-
-  <tr>
-    <td>Success</td>
-    <td>the command or algorithm completed successfully without complaint</td>
-    <td>0</td>
-    <td>0</td>
-    <td>0</td>
-  </tr>
-
-  <tr>
-    <td>Resource Limit</td>
-    <td>a program resource is exhausted (e.g. not enough memory)</td>
-    <td>300</td>
-    <td>400</td>
-    <td>700</td>
-  </tr>
-
-  <tr>
-    <td>Type</td>
-    <td>A font is unavailable; a substitution may have occurred</td>
-    <td>305</td>
-    <td>405</td>
-    <td>705</td>
-  </tr>
-
-  <tr>
-    <td>Option</td>
-    <td>a command-line option was malformed</td>
-    <td>310</td>
-    <td>410</td>
-    <td>710</td>
-  </tr>
-
-  <tr>
-    <td>Delegate</td>
-    <td>an ImageMagick <i>delegate</i> failed to complete</td>
-    <td>315</td>
-    <td>415</td>
-    <td>715</td>
-  </tr>
-
-  <tr>
-    <td>Missing Delegate</td>
-    <td>the image type can not be read or written because the appropriate <i>Delegate</i> is missing</td>
-    <td>320</td>
-    <td>420</td>
-    <td>720</td>
-  </tr>
-
-  <tr>
-    <td>Corrupt Image</td>
-    <td>the image file may be corrupt</td>
-    <td>325</td>
-    <td>425</td>
-    <td>725</td>
-  </tr>
-
-  <tr>
-    <td>FileOpen</td>
-    <td>the image file could not be opened for reading or writing</td>
-    <td>330</td>
-    <td>430</td>
-    <td>730</td>
-  </tr>
-
-  <tr>
-    <td>Blob</td>
-    <td>a binary large object could not be allocated, read, or written</td>
-    <td>335</td>
-    <td>435</td>
-    <td>735</td>
-  </tr>
-
-  <tr>
-    <td>Stream</td>
-    <td>there was a problem reading or writing from a stream</td>
-    <td>340</td>
-    <td>440</td>
-    <td>740</td>
-  </tr>
-
-  <tr>
-    <td>Cache</td>
-    <td>pixels could not be read or written to the pixel cache</td>
-    <td>345</td>
-    <td>445</td>
-    <td>745</td>
-  </tr>
-
-  <tr>
-    <td>Coder</td>
-    <td>there was a problem with an image coder</td>
-    <td>350</td>
-    <td>450</td>
-    <td>750</td>
-  </tr>
-
-  <tr>
-    <td>Module</td>
-    <td>there was a problem with an image module</td>
-    <td>355</td>
-    <td>455</td>
-    <td>755</td>
-  </tr>
-
-  <tr>
-    <td>Draw</td>
-    <td>a drawing operation failed</td>
-    <td>360</td>
-    <td>460</td>
-    <td>760</td>
-  </tr>
-
-  <tr>
-    <td>Image</td>
-    <td>the operation could not complete due to an incompatible image</td>
-    <td>365</td>
-    <td>465</td>
-    <td>765</td>
-  </tr>
-
-  <tr>
-    <td>Wand</td>
-    <td>there was a problem specific to the MagickWand API</td>
-    <td>370</td>
-    <td>470</td>
-    <td>770</td>
-  </tr>
-
-  <tr>
-    <td>Random</td>
-    <td>there is a problem generating a true or pseudo-random number</td>
-    <td>375</td>
-    <td>475</td>
-    <td>775</td>
-  </tr>
-
-  <tr>
-    <td>XServer</td>
-    <td>an X resource is unavailable</td>
-    <td>380</td>
-    <td>480</td>
-    <td>780</td>
-  </tr>
-
-  <tr>
-    <td>Monitor</td>
-    <td>there was a problem activating the progress monitor</td>
-    <td>385</td>
-    <td>485</td>
-    <td>785</td>
-  </tr>
-
-  <tr>
-    <td>Registry</td>
-    <td>there was a problem getting or setting the registry</td>
-    <td>390</td>
-    <td>490</td>
-    <td>790</td>
-  </tr>
-
-  <tr>
-    <td>Configure</td>
-    <td>there was a problem getting a configuration file</td>
-    <td>395</td>
-    <td>495</td>
-    <td>795</td>
-  </tr>
-
-  <tr>
-    <td>Policy</td>
-    <td>a policy denies access to a delegate, coder, filter, path, or resource.</td>
-    <td>399</td>
-    <td>499</td>
-    <td>799</td>
-  </tr>
-  </tbody>
-</table>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="AcquireExceptionInfo">AcquireExceptionInfo</a></h2>
 
+<p>AcquireExceptionInfo() allocates the ExceptionInfo structure.</p>
+
+<p>The format of the AcquireExceptionInfo method is:</p>
+
+<pre class="text">
+ExceptionInfo *AcquireExceptionInfo(void)
+</pre>
+
+<h2><a href="../../api/MagickCore/exception_8c.html" id="ClearMagickException">ClearMagickException</a></h2>
+
+<p>ClearMagickException() clears any exception that may not have been caught yet.</p>
+
+<p>The format of the ClearMagickException method is:</p>
+
+<pre class="text">
+ClearMagickException(ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>the exception info. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="CatchException">CatchException</a></h2>
+
+<p>CatchException() returns if no exceptions is found otherwise it reports the exception as a warning, error, or fatal depending on the severity.</p>
+
+<p>The format of the CatchException method is:</p>
+
+<pre class="text">
+CatchException(ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>the exception info. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="CloneExceptionInfo">CloneExceptionInfo</a></h2>
+
+<p>CloneExceptionInfo() clones the ExceptionInfo structure.</p>
+
+<p>The format of the CloneExceptionInfo method is:</p>
+
+<pre class="text">
+ExceptionInfo *CloneException(ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>the exception info. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="DestroyExceptionInfo">DestroyExceptionInfo</a></h2>
+
+<p>DestroyExceptionInfo() deallocates memory associated with an exception.</p>
+
+<p>The format of the DestroyExceptionInfo method is:</p>
+
+<pre class="text">
+ExceptionInfo *DestroyExceptionInfo(ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>the exception info. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="GetExceptionMessage">GetExceptionMessage</a></h2>
+
+<p>GetExceptionMessage() returns the error message defined by the specified error code.</p>
+
+<p>The format of the GetExceptionMessage method is:</p>
+
+<pre class="text">
+char *GetExceptionMessage(const int error)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>error</dt>
+<dd>the error code. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="GetLocaleExceptionMessage">GetLocaleExceptionMessage</a></h2>
+
+<p>GetLocaleExceptionMessage() converts a enumerated exception severity and tag to a message in the current locale.</p>
+
+<p>The format of the GetLocaleExceptionMessage method is:</p>
+
+<pre class="text">
+const char *GetLocaleExceptionMessage(const ExceptionType severity,
+  const char *tag)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>severity</dt>
+<dd>the severity of the exception. </dd>
+
+<dd> </dd>
+<dt>tag</dt>
+<dd>the message tag. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="InheritException">InheritException</a></h2>
+
+<p>InheritException() inherits an exception from a related exception.</p>
+
+<p>The format of the InheritException method is:</p>
+
+<pre class="text">
+InheritException(ExceptionInfo *exception,const ExceptionInfo *relative)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>the exception info. </dd>
+
+<dd> </dd>
+<dt>relative</dt>
+<dd>the related exception info. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="InitializeExceptionInfo">InitializeExceptionInfo</a></h2>
+
+<p>InitializeExceptionInfo() initializes an exception to default values.</p>
+
+<p>The format of the InitializeExceptionInfo method is:</p>
+
+<pre class="text">
+InitializeExceptionInfo(ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>the exception info. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="MagickError">MagickError</a></h2>
+
+<p>MagickError() calls the exception handler methods with an error reason.</p>
+
+<p>The format of the MagickError method is:</p>
+
+<pre class="text">
+void MagickError(const ExceptionType error,const char *reason,
+  const char *description)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>Specifies the numeric error category. </dd>
+
+<dd> </dd>
+<dt>reason</dt>
+<dd>Specifies the reason to display before terminating the program. </dd>
+
+<dd> </dd>
+<dt>description</dt>
+<dd>Specifies any description to the reason. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="MagickFatalError">MagickFatalError</a></h2>
+
+<p>MagickFatalError() calls the fatal exception handler methods with an error reason.</p>
+
+<p>The format of the MagickError method is:</p>
+
+<pre class="text">
+void MagickFatalError(const ExceptionType error,const char *reason,
+  const char *description)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>Specifies the numeric error category. </dd>
+
+<dd> </dd>
+<dt>reason</dt>
+<dd>Specifies the reason to display before terminating the program. </dd>
+
+<dd> </dd>
+<dt>description</dt>
+<dd>Specifies any description to the reason. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="MagickWarning">MagickWarning</a></h2>
+
+<p>MagickWarning() calls the warning handler methods with a warning reason.</p>
+
+<p>The format of the MagickWarning method is:</p>
+
+<pre class="text">
+void MagickWarning(const ExceptionType warning,const char *reason,
+  const char *description)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>warning</dt>
+<dd>the warning severity. </dd>
+
+<dd> </dd>
+<dt>reason</dt>
+<dd>Define the reason for the warning. </dd>
+
+<dd> </dd>
+<dt>description</dt>
+<dd>Describe the warning. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="SetErrorHandler">SetErrorHandler</a></h2>
+
+<p>SetErrorHandler() sets the exception handler to the specified method and returns the previous exception handler.</p>
+
+<p>The format of the SetErrorHandler method is:</p>
+
+<pre class="text">
+ErrorHandler SetErrorHandler(ErrorHandler handler)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>handler</dt>
+<dd>the method to handle errors. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="SetFatalErrorHandler">SetFatalErrorHandler</a></h2>
+
+<p>SetFatalErrorHandler() sets the fatal exception handler to the specified method and returns the previous fatal exception handler.</p>
+
+<p>The format of the SetErrorHandler method is:</p>
+
+<pre class="text">
+ErrorHandler SetErrorHandler(ErrorHandler handler)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>handler</dt>
+<dd>the method to handle errors. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="SetWarningHandler">SetWarningHandler</a></h2>
+
+<p>SetWarningHandler() sets the warning handler to the specified method and returns the previous warning handler.</p>
+
+<p>The format of the SetWarningHandler method is:</p>
+
+<pre class="text">
+ErrorHandler SetWarningHandler(ErrorHandler handler)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>handler</dt>
+<dd>the method to handle warnings. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/exception_8c.html" id="ThrowException">ThrowException</a></h2>
+
+<p>ThrowException() throws an exception with the specified severity code, reason, and optional description.</p>
+
+<p>The format of the ThrowException method is:</p>
+
+<pre class="text">
+MagickBooleanType ThrowException(ExceptionInfo *exception,
+  const ExceptionType severity,const char *reason,
+  const char *description)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>exception</dt>
+<dd>the exception info. </dd>
+
+<dd> </dd>
+<dt>severity</dt>
+<dd>the severity of the exception. </dd>
+
+<dd> </dd>
+<dt>reason</dt>
+<dd>the reason for the exception. </dd>
+
+<dd> </dd>
+<dt>description</dt>
+<dd>the exception description. </dd>
+
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 16th February 2018 16:26 -->
\ No newline at end of file
index ea413e6e9835bdb994a39e3b79c6ea46dcc79540..2bec5882d18d2c09009c87c64707f3bbb45ffa01 100644 (file)
@@ -204,3 +204,4 @@ Image *InverseFourierTransformImage(const Image *magnitude_image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 22:07 -->
\ No newline at end of file
index 48a9340cd0293d09c2f063a02319ed765ee08ec4..90ccf018aa4fba51c39e27513ed99244ea304f00 100644 (file)
@@ -862,4 +862,4 @@ Image *WaveletDenoiseImage(const Image *image,const double threshold,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:50 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 10:39 -->
\ No newline at end of file
index d8c91e9bb6cbd974f5f3592b9b0ba5fa5d88e60a..1c7c10cfaf1500406189f080ea62c6e3e0c8dc9e 100644 (file)
@@ -264,4 +264,4 @@ Image *UniqueImageColors(const Image *image,ExceptionInfo *exception)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:45 -->
\ No newline at end of file
+<!-- Magick Cache 17th February 2018 18:03 -->
\ No newline at end of file
index f7f1ce9d6b3f05d99f2887068640b053db2737ac..1614ecf8351cbd1e2f3f792cd29455521bf467db 100644 (file)
@@ -663,4 +663,4 @@ MagickBooleanType UpdateImageViewIterator(ImageView *source,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 12:11 -->
\ No newline at end of file
index ee1b098e5c7ba6916e9154157331abf51eec28ab..dc2405f473e580916bd7f5fb9b95eb99fcd47d4b 100644 (file)
@@ -1181,3 +1181,4 @@ MagickBooleanType SyncImagesSettings(const ImageInfo *image_info,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 06:26 -->
\ No newline at end of file
index da4804e28f0ef16ee4b80cabbab4a6e07fd59f24..b80341830332a7ec214a27d242faba879ca35951 100644 (file)
@@ -425,3 +425,4 @@ Image *MergeImageLayers(const Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 14th February 2018 05:46 -->
\ No newline at end of file
index 7ebc3a6a9870e5f6807ed9e74931fa7614f667fc..a1bd1819ac9e7d3fb6cdcd12a26803b7ca0abb9b 100644 (file)
@@ -765,3 +765,4 @@ Image *SplitImageList(Image *images)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 16:26 -->
\ No newline at end of file
index 4e369f0524793533b853f6ed2d581baf6a7202f2..b9bf077604de0cc5e356525850074565dac9e4a6 100644 (file)
 <tr><td><a class="reference external" href="../Magick++/Geometry.html">Geometry</a></td>
 <td>Geometry specification.</td>
 </tr>
-<tr><td><a class="reference external" href="../../Magick++/Image++.html">Image</a></td>
+<tr><td><a class="reference external" href="../Magick++/Image++.html">Image</a></td>
 <td>Image frame.  This is the primary object in <em>Magick++</em>.</td>
 </tr>
 <tr><td><a class="reference external" href="../Magick++/Montage.html">Montage</a></td>
@@ -159,4 +159,4 @@ containers of image frames.</td>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:49 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 04:01 -->
\ No newline at end of file
index 73baf071957264ffc6010f325bc94dadf856db99..71de6f6ca1593fdde428486fdec36c2471ff9ed1 100644 (file)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 18:15 -->
\ No newline at end of file
index 2a3e7931d551ca38885b3d2851a73e8ed851b349..f35171e209130d9bdba15960854e9d9081067976 100644 (file)
@@ -7848,4 +7848,4 @@ MagickBooleanType MagickWriteImagesFile(MagickWand *wand,FILE *file)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:54 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 01:45 -->
\ No newline at end of file
index 56f16fef6f1048c089ef4383e90ebfde6f59998e..53f3ca6f7c72f42c3579894cc0ea47c23d75eb90 100644 (file)
@@ -1945,3 +1945,4 @@ MagickBooleanType MagickSetType(MagickWand *wand,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 14th February 2018 20:38 -->
\ No newline at end of file
index 8a7f6591c93a04eb069e90e0c461f12a4cbc61d4..ded56fb6141fe077859f4954f30461877a60f27c 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>MagickWand, C API @ ImageMagick</title>
+  <title>MagickWand, C API: Wand Methods @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="magickwc, api, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickwc, api:, wmethods, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/magick-wand.html" rel="canonical" />
+  <link href="magick-wand.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
+<p class="text-center"><a href="magick-wand.html#ClearMagickWand">ClearMagickWand</a> &#8226; <a href="magick-wand.html#CloneMagickWand">CloneMagickWand</a> &#8226; <a href="magick-wand.html#DestroyMagickWand">DestroyMagickWand</a> &#8226; <a href="magick-wand.html#IsMagickWand">IsMagickWand</a> &#8226; <a href="magick-wand.html#MagickClearException">MagickClearException</a> &#8226; <a href="magick-wand.html#MagickGetException">MagickGetException</a> &#8226; <a href="magick-wand.html#MagickGetExceptionType">MagickGetExceptionType</a> &#8226; <a href="magick-wand.html#MagickGetIteratorIndex">MagickGetIteratorIndex</a> &#8226; <a href="magick-wand.html#MagickQueryConfigureOption">MagickQueryConfigureOption</a> &#8226; <a href="magick-wand.html#MagickQueryConfigureOptions">MagickQueryConfigureOptions</a> &#8226; <a href="magick-wand.html#MagickQueryFontMetrics">MagickQueryFontMetrics</a> &#8226; <a href="magick-wand.html#MagickQueryMultilineFontMetrics">MagickQueryMultilineFontMetrics</a> &#8226; <a href="magick-wand.html#MagickQueryFonts">MagickQueryFonts</a> &#8226; <a href="magick-wand.html#MagickQueryFormats">MagickQueryFormats</a> &#8226; <a href="magick-wand.html#MagickRelinquishMemory">MagickRelinquishMemory</a> &#8226; <a href="magick-wand.html#MagickResetIterator">MagickResetIterator</a> &#8226; <a href="magick-wand.html#MagickSetFirstIterator">MagickSetFirstIterator</a> &#8226; <a href="magick-wand.html#MagickSetIteratorIndex">MagickSetIteratorIndex</a> &#8226; <a href="magick-wand.html#MagickSetLastIterator">MagickSetLastIterator</a> &#8226; <a href="magick-wand.html#MagickWandGenesis">MagickWandGenesis</a> &#8226; <a href="magick-wand.html#MagickWandTerminus">MagickWandTerminus</a> &#8226; <a href="magick-wand.html#NewMagickWand">NewMagickWand</a> &#8226; <a href="magick-wand.html#NewMagickWandFromImage">NewMagickWandFromImage</a> &#8226; <a href="magick-wand.html#IsMagickWandInstantiated">IsMagickWandInstantiated</a></p>
+
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="ClearMagickWand">ClearMagickWand</a></h2>
+
+<p>ClearMagickWand() clears resources associated with the wand, leaving the wand blank, and ready to be used for a new set of images.</p>
+
+<p>The format of the ClearMagickWand method is:</p>
+
+<pre class="text">
+void ClearMagickWand(MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="CloneMagickWand">CloneMagickWand</a></h2>
+
+<p>CloneMagickWand() makes an exact copy of the specified wand.</p>
+
+<p>The format of the CloneMagickWand method is:</p>
+
+<pre class="text">
+MagickWand *CloneMagickWand(const MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="DestroyMagickWand">DestroyMagickWand</a></h2>
+
+<p>DestroyMagickWand() deallocates memory associated with an MagickWand.</p>
+
+<p>The format of the DestroyMagickWand method is:</p>
+
+<pre class="text">
+MagickWand *DestroyMagickWand(MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="IsMagickWand">IsMagickWand</a></h2>
+
+<p>IsMagickWand() returns MagickTrue if the wand is verified as a magick wand.</p>
+
+<p>The format of the IsMagickWand method is:</p>
+
+<pre class="text">
+MagickBooleanType IsMagickWand(const MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickClearException">MagickClearException</a></h2>
+
+<p>MagickClearException() clears any exceptions associated with the wand.</p>
+
+<p>The format of the MagickClearException method is:</p>
+
+<pre class="text">
+MagickBooleanType MagickClearException(MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickGetException">MagickGetException</a></h2>
+
+<p>MagickGetException() returns the severity, reason, and description of any error that occurs when using other methods in this API.</p>
+
+<p>The format of the MagickGetException method is:</p>
+
+<pre class="text">
+char *MagickGetException(const MagickWand *wand,ExceptionType *severity)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd> </dd>
+<dt>severity</dt>
+<dd>the severity of the error is returned here. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickGetExceptionType">MagickGetExceptionType</a></h2>
+
+<p>MagickGetExceptionType() returns the exception type associated with the wand.  If no exception has occurred, UndefinedExceptionType is returned.</p>
+
+<p>The format of the MagickGetExceptionType method is:</p>
+
+<pre class="text">
+ExceptionType MagickGetExceptionType(const MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickGetIteratorIndex">MagickGetIteratorIndex</a></h2>
+
+<p>MagickGetIteratorIndex() returns the position of the iterator in the image list.</p>
+
+<p>The format of the MagickGetIteratorIndex method is:</p>
+
+<pre class="text">
+ssize_t MagickGetIteratorIndex(MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickQueryConfigureOption">MagickQueryConfigureOption</a></h2>
+
+<p>MagickQueryConfigureOption() returns the value associated with the specified configure option.</p>
+
+<p>The format of the MagickQueryConfigureOption function is:</p>
+
+<pre class="text">
+char *MagickQueryConfigureOption(const char *option)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>option</dt>
+<dd>the option name. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickQueryConfigureOptions">MagickQueryConfigureOptions</a></h2>
+
+<p>MagickQueryConfigureOptions() returns any configure options that match the specified pattern (e.g.  "*" for all).  Options include NAME, VERSION, LIB_VERSION, etc.</p>
+
+<p>The format of the MagickQueryConfigureOptions function is:</p>
+
+<pre class="text">
+char **MagickQueryConfigureOptions(const char *pattern,
+  size_t *number_options)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>pattern</dt>
+<dd>Specifies a pointer to a text string containing a pattern. </dd>
+
+<dd> </dd>
+<dt>number_options</dt>
+<dd> Returns the number of configure options in the list. </dd>
+
+<dd> </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickQueryFontMetrics">MagickQueryFontMetrics</a></h2>
+
+<p>MagickQueryFontMetrics() returns a 13 element array representing the following font metrics:</p>
+
+<pre class="text">
+    Element Description
+    -------------------------------------------------
+    0 character width
+    1 character height
+    2 ascender
+    3 descender
+    4 text width
+    5 text height
+    6 maximum horizontal advance
+    7 bounding box: x1
+    8 bounding box: y1
+    9 bounding box: x2
+   10 bounding box: y2
+   11 origin: x
+   12 origin: y
+</pre>
+
+<p>The format of the MagickQueryFontMetrics method is:</p>
+
+<pre class="text">
+double *MagickQueryFontMetrics(MagickWand *wand,
+  const DrawingWand *drawing_wand,const char *text)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the Magick wand. </dd>
+
+<dd> </dd>
+<dt>drawing_wand</dt>
+<dd>the drawing wand. </dd>
+
+<dd> </dd>
+<dt>text</dt>
+<dd>the text. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickQueryMultilineFontMetrics">MagickQueryMultilineFontMetrics</a></h2>
+
+<p>MagickQueryMultilineFontMetrics() returns a 13 element array representing the following font metrics:</p>
+
+<pre class="text">
+    Element Description
+    -------------------------------------------------
+    0 character width
+    1 character height
+    2 ascender
+    3 descender
+    4 text width
+    5 text height
+    6 maximum horizontal advance
+    7 bounding box: x1
+    8 bounding box: y1
+    9 bounding box: x2
+   10 bounding box: y2
+   11 origin: x
+   12 origin: y
+</pre>
+
+<p>This method is like MagickQueryFontMetrics() but it returns the maximum text width and height for multiple lines of text.</p>
+
+<p>The format of the MagickQueryFontMetrics method is:</p>
+
+<pre class="text">
+double *MagickQueryMultilineFontMetrics(MagickWand *wand,
+  const DrawingWand *drawing_wand,const char *text)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the Magick wand. </dd>
+
+<dd> </dd>
+<dt>drawing_wand</dt>
+<dd>the drawing wand. </dd>
+
+<dd> </dd>
+<dt>text</dt>
+<dd>the text. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickQueryFonts">MagickQueryFonts</a></h2>
+
+<p>MagickQueryFonts() returns any font that match the specified pattern (e.g. "*" for all).</p>
+
+<p>The format of the MagickQueryFonts function is:</p>
+
+<pre class="text">
+char **MagickQueryFonts(const char *pattern,size_t *number_fonts)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>pattern</dt>
+<dd>Specifies a pointer to a text string containing a pattern. </dd>
+
+<dd> </dd>
+<dt>number_fonts</dt>
+<dd> Returns the number of fonts in the list. </dd>
+
+<dd> </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickQueryFormats">MagickQueryFormats</a></h2>
+
+<p>MagickQueryFormats() returns any image formats that match the specified pattern (e.g.  "*" for all).</p>
+
+<p>The format of the MagickQueryFormats function is:</p>
+
+<pre class="text">
+char **MagickQueryFormats(const char *pattern,size_t *number_formats)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>pattern</dt>
+<dd>Specifies a pointer to a text string containing a pattern. </dd>
+
+<dd> </dd>
+<dt>number_formats</dt>
+<dd> This integer returns the number of image formats in the list. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickRelinquishMemory">MagickRelinquishMemory</a></h2>
+
+<p>MagickRelinquishMemory() relinquishes memory resources returned by such methods as MagickIdentifyImage(), MagickGetException(), etc.</p>
+
+<p>The format of the MagickRelinquishMemory method is:</p>
+
+<pre class="text">
+void *MagickRelinquishMemory(void *resource)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>resource</dt>
+<dd>Relinquish the memory associated with this resource. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickResetIterator">MagickResetIterator</a></h2>
+
+<p>MagickResetIterator() resets the wand iterator.</p>
+
+<p>It is typically used either before iterating though images, or before calling specific functions such as  MagickAppendImages() to append all images together.</p>
+
+<p>Afterward you can use MagickNextImage() to iterate over all the images in a wand container, starting with the first image.</p>
+
+<p>Using this before MagickAddImages() or MagickReadImages() will cause new images to be inserted between the first and second image.</p>
+
+<p>The format of the MagickResetIterator method is:</p>
+
+<pre class="text">
+void MagickResetIterator(MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickSetFirstIterator">MagickSetFirstIterator</a></h2>
+
+<p>MagickSetFirstIterator() sets the wand iterator to the first image.</p>
+
+<p>After using any images added to the wand using MagickAddImage() or MagickReadImage() will be prepended before any image in the wand.</p>
+
+<p>Also the current image has been set to the first image (if any) in the Magick Wand.  Using MagickNextImage() will then set teh current image to the second image in the list (if present).</p>
+
+<p>This operation is similar to MagickResetIterator() but differs in how MagickAddImage(), MagickReadImage(), and MagickNextImage() behaves afterward.</p>
+
+<p>The format of the MagickSetFirstIterator method is:</p>
+
+<pre class="text">
+void MagickSetFirstIterator(MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickSetIteratorIndex">MagickSetIteratorIndex</a></h2>
+
+<p>MagickSetIteratorIndex() set the iterator to the given position in the image list specified with the index parameter.  A zero index will set the first image as current, and so on.  Negative indexes can be used to specify an image relative to the end of the images in the wand, with -1 being the last image in the wand.</p>
+
+<p>If the index is invalid (range too large for number of images in wand) the function will return MagickFalse, but no 'exception' will be raised, as it is not actually an error.  In that case the current image will not change.</p>
+
+<p>After using any images added to the wand using MagickAddImage() or MagickReadImage() will be added after the image indexed, regardless of if a zero (first image in list) or negative index (from end) is used.</p>
+
+<p>Jumping to index 0 is similar to MagickResetIterator() but differs in how MagickNextImage() behaves afterward.</p>
+
+<p>The format of the MagickSetIteratorIndex method is:</p>
+
+<pre class="text">
+MagickBooleanType MagickSetIteratorIndex(MagickWand *wand,
+  const ssize_t index)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd> </dd>
+<dt>index</dt>
+<dd>the scene number. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickSetLastIterator">MagickSetLastIterator</a></h2>
+
+<p>MagickSetLastIterator() sets the wand iterator to the last image.</p>
+
+<p>The last image is actually the current image, and the next use of MagickPreviousImage() will not change this allowing this function to be used to iterate over the images in the reverse direction. In this sense it is more like  MagickResetIterator() than MagickSetFirstIterator().</p>
+
+<p>Typically this function is used before MagickAddImage(), MagickReadImage() functions to ensure new images are appended to the very end of wand's image list.</p>
+
+<p>The format of the MagickSetLastIterator method is:</p>
+
+<pre class="text">
+void MagickSetLastIterator(MagickWand *wand)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>wand</dt>
+<dd>the magick wand. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickWandGenesis">MagickWandGenesis</a></h2>
+
+<p>MagickWandGenesis() initializes the MagickWand environment.</p>
+
+<p>The format of the MagickWandGenesis method is:</p>
+
+<pre class="text">
+void MagickWandGenesis(void)
+</pre>
+
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="MagickWandTerminus">MagickWandTerminus</a></h2>
+
+<p>MagickWandTerminus() terminates the MagickWand environment.</p>
+
+<p>The format of the MaickWandTerminus method is:</p>
+
+<pre class="text">
+void MagickWandTerminus(void)
+</pre>
+
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="NewMagickWand">NewMagickWand</a></h2>
+
+<p>NewMagickWand() returns a wand required for all other methods in the API. A fatal exception is thrown if there is not enough memory to allocate the wand.   Use DestroyMagickWand() to dispose of the wand when it is no longer needed.</p>
+
+<p>The format of the NewMagickWand method is:</p>
+
+<pre class="text">
+MagickWand *NewMagickWand(void)
+</pre>
+
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="NewMagickWandFromImage">NewMagickWandFromImage</a></h2>
+
+<p>NewMagickWandFromImage() returns a wand with an image.</p>
+
+<p>The format of the NewMagickWandFromImage method is:</p>
+
+<pre class="text">
+MagickWand *NewMagickWandFromImage(const Image *image)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image</dt>
+<dd>the image. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickWand/magick-wand_8c.html" id="IsMagickWandInstantiated">IsMagickWandInstantiated</a></h2>
+
+<p>IsMagickWandInstantiated() returns MagickTrue if the ImageMagick environment is currently instantiated--  that is, MagickWandGenesis() has been called but MagickWandTerminus() has not.</p>
+
+<p>The format of the IsMagickWandInstantiated method is:</p>
+
+<pre class="text">
+MagickBooleanType IsMagickWandInstantiated(void)
+</pre>
 
-<p class="lead magick-description">The <a href="../../api/MagickWand/index.html">MagickWand API</a> is the recommended interface between the C programming language and the ImageMagick image processing libraries.  Unlike the <a href="../../www/magick-core.html">MagickCore</a> C API, MagickWand uses only a few opaque types.  Accessors are available to set or get important wand properties.  A description of the MagickWand public methods are found here:</p>
-
-<ul>
-  <li><a href="magick-wand.html">Magick Wand Methods</a></li>
-  <li><a href="magick-property.html">Set or Get Magick Wand Properties</a></li>
-  <li><a href="magick-image.html">Magick Wand Image Methods</a></li>
-  <li><a href="pixel-iterator.html">Pixel Iterator Methods</a></li>
-  <li><a href="pixel-wand.html">Pixel Wand Methods</a></li>
-  <li><a href="drawing-wand.html">Image Vector Drawing</a></li>
-  <li><a href="mogrify.html">Command-line Interface</a></li>
-  <li><a href="../../api/wand-view.html">Wand View Methods</a></li>
-  <li><a href="magick-deprecate.html">Deprecated Methods</a></li>
-  <li><a href="../www/exception.html">Error and Warning Codes</a></li>
-</ul>
-
-<p>After you write your MagickWand program, compile it like this:</p>
-
-<pre class="highlight"><code>cc -o wand wand.c `pkg-config --cflags --libs MagickWand`
-</code></pre>
-
-<p>Set the <code>PKG_CONFIG_PATH</code> environment variable if ImageMagick is not in your default system path:</p>
-
-<pre class="highlight"><code>export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
-</code></pre>
-
-<p>Here is a example program that utilizes the MagickWand API to get you started, <a href="../source/wand.c">wand.c</a>. It reads an image, creates a thumbnail, and writes the result to disk.</p>
-
-<pre class="pre-scrollable"><code>#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;wand/MagickWand.h>
-
-int main(int argc,char **argv)
-{
-#define ThrowWandException(wand) \
-{ \
-  char \
-    *description; \
- \
-  ExceptionType \
-    severity; \
- \
-  description=MagickGetException(wand,&amp;severity); \
-  (void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description); \
-  description=(char *) MagickRelinquishMemory(description); \
-  exit(-1); \
-}
-
-  MagickBooleanType
-    status;
-
-  MagickWand
-    *magick_wand;
-
-  if (argc != 3)
-    {
-      (void) fprintf(stdout,"Usage: %s image thumbnail\n",argv[0]);
-      exit(0);
-    }
-  /*
-    Read an image.
-  */
-  MagickWandGenesis();
-  magick_wand=NewMagickWand();
-  status=MagickReadImage(magick_wand,argv[1]);
-  if (status == MagickFalse)
-    ThrowWandException(magick_wand);
-  /*
-    Turn the images into a thumbnail sequence.
-  */
-  MagickResetIterator(magick_wand);
-  while (MagickNextImage(magick_wand) != MagickFalse)
-    MagickResizeImage(magick_wand,106,80,LanczosFilter,1.0);
-  /*
-    Write the image then destroy it.
-  */
-  status=MagickWriteImages(magick_wand,argv[2],MagickTrue);
-  if (status == MagickFalse)
-    ThrowWandException(magick_wand);
-  magick_wand=DestroyMagickWand(magick_wand);
-  MagickWandTerminus();
-  return(0);
-}
-</code></pre>
-
-<p>Here is another program that shows one way to get and set image pixels with the MagickWand API, <a href="../source/contrast.c">contrast.c</a>. It reads an image, applies sigmoidal non-linearity contrast control, and writes the result to disk.</p>
-
-<pre class="pre-scrollable"><code>#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;math.h>
-#include &lt;wand/MagickWand.h>
-
-int main(int argc,char **argv)
-{
-#define QuantumScale  ((MagickRealType) 1.0/(MagickRealType) QuantumRange)
-#define SigmoidalContrast(x) \
-  (QuantumRange*(1.0/(1+exp(10.0*(0.5-QuantumScale*x)))-0.0066928509)*1.0092503)
-#define ThrowWandException(wand) \
-{ \
-  char \
-    *description; \
- \
-  ExceptionType \
-    severity; \
- \
-  description=MagickGetException(wand,&amp;severity); \
-  (void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description); \
-  description=(char *) MagickRelinquishMemory(description); \
-  exit(-1); \
-}
-
-  long
-    y;
-
-  MagickBooleanType
-    status;
-
-  MagickPixelPacket
-    pixel;
-
-  MagickWand
-    *contrast_wand,
-    *image_wand;
-
-  PixelIterator
-    *contrast_iterator,
-    *iterator;
-
-  PixelWand
-    **contrast_pixels,
-    **pixels;
-
-  register long
-    x;
-
-  unsigned long
-    width;
-
-  if (argc != 3)
-    {
-      (void) fprintf(stdout,"Usage: %s image sigmoidal-image\n",argv[0]);
-      exit(0);
-    }
-  /*
-    Read an image.
-  */
-  MagickWandGenesis();
-  image_wand=NewMagickWand();
-  status=MagickReadImage(image_wand,argv[1]);
-  if (status == MagickFalse)
-    ThrowWandException(image_wand);
-  contrast_wand=CloneMagickWand(image_wand);
-  /*
-    Sigmoidal non-linearity contrast control.
-  */
-  iterator=NewPixelIterator(image_wand);
-  contrast_iterator=NewPixelIterator(contrast_wand);
-  if ((iterator == (PixelIterator *) NULL) ||
-      (contrast_iterator == (PixelIterator *) NULL))
-    ThrowWandException(image_wand);
-  for (y=0; y &lt; (long) MagickGetImageHeight(image_wand); y++)
-  {
-    pixels=PixelGetNextIteratorRow(iterator,&amp;width);
-    contrast_pixels=PixelGetNextIteratorRow(contrast_iterator,&amp;width);
-    if ((pixels == (PixelWand **) NULL) ||
-        (contrast_pixels == (PixelWand **) NULL))
-      break;
-    for (x=0; x &lt; (long) width; x++)
-    {
-      PixelGetMagickColor(pixels[x],&amp;pixel);
-      pixel.red=SigmoidalContrast(pixel.red);
-      pixel.green=SigmoidalContrast(pixel.green);
-      pixel.blue=SigmoidalContrast(pixel.blue);
-      pixel.index=SigmoidalContrast(pixel.index);
-      PixelSetMagickColor(contrast_pixels[x],&amp;pixel);
-    }
-    (void) PixelSyncIterator(contrast_iterator);
-  }
-  if (y &lt; (long) MagickGetImageHeight(image_wand))
-    ThrowWandException(image_wand);
-  contrast_iterator=DestroyPixelIterator(contrast_iterator);
-  iterator=DestroyPixelIterator(iterator);
-  image_wand=DestroyMagickWand(image_wand);
-  /*
-    Write the image then destroy it.
-  */
-  status=MagickWriteImages(contrast_wand,argv[2],MagickTrue);
-  if (status == MagickFalse)
-    ThrowWandException(image_wand);
-  contrast_wand=DestroyMagickWand(contrast_wand);
-  MagickWandTerminus();
-  return(0);
-}
-</code></pre>
-<p><a class="anchor" id="wand-view"></a>Now lets perform the same contrast enhancement while taking advantage of our dual or quad-core processing system by running the algorithm in parallel utilizing wand views.  The <a href="../source/wand/sigmoidal-contrast.c">sigmoidal-contrast.c</a> module reads an image, applies sigmoidal non-linearity contrast control, and writes the result to disk just like the previous contrast enhancement program, but now it does its work in parallel (assumes ImageMagick is built with OpenMP support).</p>
-
-<pre class="pre-scrollable"><code>#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;math.h>
-#include &lt;wand/MagickWand.h>
-
-static MagickBooleanType SigmoidalContrast(WandView *pixel_view,
-  const ssize_t y,const int id,void *context)
-{
-#define QuantumScale  ((MagickRealType) 1.0/(MagickRealType) QuantumRange)
-#define SigmoidalContrast(x) \
-  (QuantumRange*(1.0/(1+exp(10.0*(0.5-QuantumScale*x)))-0.0066928509)*1.0092503)
-
-  RectangleInfo
-    extent;
-
-  MagickPixelPacket
-    pixel;
-
-  PixelWand
-    **pixels;
-
-  register long
-    x;
-
-  extent=GetWandViewExtent(contrast_view);
-  pixels=GetWandViewPixels(contrast_view);
-  for (x=0; x &lt; (long) (extent.width-extent.height); x++)
-  {
-    PixelGetMagickColor(pixels[x],&amp;pixel);
-    pixel.red=SigmoidalContrast(pixel.red);
-    pixel.green=SigmoidalContrast(pixel.green);
-    pixel.blue=SigmoidalContrast(pixel.blue);
-    pixel.index=SigmoidalContrast(pixel.index);
-    PixelSetMagickColor(contrast_pixels[x],&amp;pixel);
-  }
-  return(MagickTrue);
-}
-
-int main(int argc,char **argv)
-{
-#define ThrowViewException(view) \
-{ \
-  description=GetWandViewException(view,&amp;severity); \
-  (void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description); \
-  description=(char *) MagickRelinquishMemory(description); \
-  exit(-1); \
-}
-#define ThrowWandException(wand) \
-{ \
-  description=MagickGetException(wand,&amp;severity); \
-  (void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description); \
-  description=(char *) MagickRelinquishMemory(description); \
-  exit(-1); \
-}
-
-  char
-    *description;
-
-  ExceptionType
-    severity;
-
-  MagickBooleanType
-    status;
-
-  MagickPixelPacket
-    pixel;
-
-  MagickWand
-    *contrast_wand;
-
-  WandView
-    *contrast_view;
-
-  if (argc != 3)
-    {
-      (void) fprintf(stdout,"Usage: %s image sigmoidal-image\n",argv[0]);
-      exit(0);
-    }
-  /*
-    Read an image.
-  */
-  MagickWandGenesis();
-  contrast_wand=NewMagickWand();
-  status=MagickReadImage(contrast_wand,argv[1]);
-  if (status == MagickFalse)
-    ThrowWandException(contrast_wand);
-  /*
-    Sigmoidal non-linearity contrast control.
-  */
-  contrast_view=NewWandView(contrast_wand);
-  if (contrast_view == (WandView *) NULL)
-    ThrowWandException(contrast_wand);
-  status=UpdateWandViewIterator(contrast_view,SigmoidalContrast,(void *) NULL);
-  if (status == MagickFalse)
-    ThrowWandException(contrast_wand);
-  contrast_view=DestroyWandView(contrast_view);
-  /*
-    Write the image then destroy it.
-  */
-  status=MagickWriteImages(contrast_wand,argv[2],MagickTrue);
-  if (status == MagickFalse)
-    ThrowWandException(contrast_wand);
-  contrast_wand=DestroyMagickWand(contrast_wand);
-  MagickWandTerminus();
-  return(0);
-}
-</code></pre>
-<p><a href="../MagickWand/index.html">MagickWand Examples in C</a> illustrates how to use the ImageMagick MagickWand API. Each example is presented as a C function, complete with headers, so that it can be copied to a file and then included in your own C project.</p>
 </div>
     </div>
   </main><!-- /.container -->
@@ -408,4 +690,4 @@ int main(int argc,char **argv)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:14 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 09:25 -->
\ No newline at end of file
index 6df970fe9092ed4a9e8c5aea0204d656504fd00e..c6a08a57fe48e23e0b054bbc0c979ba0034db1cd 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Command-line Tools: Magick @ ImageMagick</title>
+  <title>MagickCore, C API: Read or List Image formats @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="command-line, tools:, magick, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, read, or, list, image, formats, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/magick.html" rel="canonical" />
+  <link href="magick.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="lead magick-description">Use the <code>magick</code> program to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.   See <a href="../../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>convert</code> command or see below for example usages of the command.</p>
+<p class="text-center"><a href="magick.html#AcquireMagickInfo">AcquireMagickInfo</a> &#8226; <a href="magick.html#GetMagickPrecision">GetMagickPrecision</a> &#8226; <a href="magick.html#IsMagickCoreInstantiated">IsMagickCoreInstantiated</a> &#8226; <a href="magick.html#MagickCoreGenesis">MagickCoreGenesis</a> &#8226; <a href="magick.html#MagickCoreTerminus">MagickCoreTerminus</a> &#8226; <a href="magick.html#SetMagickPrecision">SetMagickPrecision</a></p>
 
-<p>We list a few examples of the <code>magick</code> command here to illustrate its usefulness and ease of use.  To get started, lets convert an image in the JPEG format to PNG:</p>
+<h2><a href="../../api/MagickCore/magick_8c.html" id="AcquireMagickInfo">AcquireMagickInfo</a></h2>
 
-<pre class="highlight"><code>magick rose.jpg rose.png
-</code></pre>
+<p>AcquireMagickInfo() allocates a MagickInfo structure and initializes the members to default values.</p>
 
-<p>Next, we reduce the image size before it is written to the PNG format:</p>
+<p>The format of the AcquireMagickInfo method is:</p>
 
-<pre class="highlight"><code>magick rose.jpg -resize 50% rose.png
-</code></pre>
+<pre class="text">
+MagickInfo *AcquireMagickInfo(const char *module, const char *name,)
+</pre>
 
-<ul>
-  <a href="../../images/rose.jpg">
-  <img src="../../images/rose.jpg" width="70" height="46" alt="rose" />
-  </a>
-  <img style="margin-top:13px; margin-bottom:13px;" src="../../images/right.gif" width="20" height="20" alt="==>" />
-  <a href="../../images/rose.png">
-  <img style="margin-top:11px; margin-bottom:12px;" src="../../images/rose.png" width="35" height="23" alt="rose" />
-  </a>
-</ul>
+<p>A description of each parameter follows:</p>
 
-<p>You can combine multiple image-processing operations to produce complex results:</p>
+<dd>
+</dd>
 
-<pre class="highlight"><code>magick -size 320x85 canvas:none -font Bookman-DemiItalic -pointsize 72 \
-  -draw "text 25,60 \'Magick\'" -channel RGBA -blur 0x6 -fill darkred -stroke magenta \
-  -draw "text 20,55 \'Magick\'" fuzzy-magick.png
-</code></pre>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>module</dt>
+<dd>a character string that represents the module associated with the MagickInfo structure. </dd>
 
-<ul>
-  <a href="../../images/fuzzy-magick.png"><img src="../../images/fuzzy-magick.png" width="320" height="85" alt="fuzzy-magick" /></a>
-</ul>
+<dd> </dd>
+<dt>name</dt>
+<dd>a character string that represents the image format associated with the MagickInfo structure. </dd>
 
-<p>or here we resize an image with improved quality:</p>
+<dd> </dd>
+<dt>description</dt>
+<dd>a character string that represents the image format associated with the MagickInfo structure. </dd>
 
-<pre class="highlight"><code>magick input.png -colorspace RGB +sigmoidal-contrast 11.6933 \
-  -define filter:filter=Sinc -define filter:window=Jinc -define filter:lobes=3 \
-  -resize 400% -sigmoidal-contrast 11.6933 -colorspace sRGB output.png');
-</code></pre>
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/magick_8c.html" id="GetMagickPrecision">GetMagickPrecision</a></h2>
 
-<p>Utilize other command-line <a href="../../www/command-line-tools.html">tools</a> from the <code>magick</code> tool.  To invoke this functionality, simply create a symbolic link to the <code>magick</code> tool or specify the tool you want to use as the first argument.  These two methods are equivalent:</p>
+<p>GetMagickPrecision() returns the maximum number of significant digits to be printed.</p>
 
-<pre class="highlight"><code>ln -s magick convert
-convert rose.jpg rose.png
-magick convert rose.jpg rose.png
-</code></pre>
+<p>The format of the GetMagickPrecision method is:</p>
 
-<p>You can find additional examples of using <code>magick</code> in <a href="../../Usage/">Examples of ImageMagick Usage</a>.</p>
+<pre class="text">
+int GetMagickPrecision(void)
+</pre>
 
-<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
+<h2><a href="../../api/MagickCore/magick_8c.html" id="IsMagickCoreInstantiated">IsMagickCoreInstantiated</a></h2>
 
-<p>The <code>magick</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
+<p>IsMagickCoreInstantiated() returns MagickTrue if the ImageMagick environment is currently instantiated:  MagickCoreGenesis() has been called but MagickDestroy() has not.</p>
 
-<div class="table-responsive">
-<table class="table table-sm table-striped">
-  <tr>
-    <td><a href="../../www/command-line-options.html#adaptive-blur">-adaptive-blur <var>geometry</var></a></td>
-    <td>adaptively blur pixels; decrease effect near edges</td>
-  </tr>
+<p>The format of the IsMagickCoreInstantiated method is:</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#adaptive-resize">-adaptive-resize <var>geometry</var></a></td>
-    <td>adaptively resize image with data dependent triangulation.</td>
-  </tr>
+<pre class="text">
+MagickBooleanType IsMagickCoreInstantiated(void)
+</pre>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#adaptive-sharpen">-adaptive-sharpen <var>geometry</var></a></td>
-    <td>adaptively sharpen pixels; increase effect near edges</td>
-  </tr>
+<h2><a href="../../api/MagickCore/magick_8c.html" id="MagickCoreGenesis">MagickCoreGenesis</a></h2>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#adjoin">-adjoin</a></td>
-    <td>join images into a single multi-image file</td>
-  </tr>
+<p>MagickCoreGenesis() initializes the MagickCore environment.</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#affine">-affine <var>matrix</var></a></td>
-    <td>affine transform matrix</td>
-  </tr>
+<p>The format of the MagickCoreGenesis function is:</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#alpha">-alpha</a></td>
-    <td>on, activate, off, deactivate, set, opaque, copy",
-transparent, extract, background, or shape the alpha channel</td>
-  </tr>
+<pre class="text">
+MagickCoreGenesis(const char *path,
+  const MagickBooleanType establish_signal_handlers)
+</pre>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#annotate">-annotate <var>geometry text</var></a></td>
-    <td>annotate the image with text</td>
-  </tr>
+<p>A description of each parameter follows:</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#antialias">-antialias</a></td>
-    <td>remove pixel-aliasing</td>
-  </tr>
+<dd>
+</dd>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#append">-append</a></td>
-    <td>append an image sequence</td>
-  </tr>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>path</dt>
+<dd>the execution path of the current ImageMagick client. </dd>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
-    <td>decipher image with this password</td>
-  </tr>
+<dd> </dd>
+<dt>establish_signal_handlers</dt>
+<dd>set to MagickTrue to use MagickCore's own signal handlers for common signals. </dd>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#auto-gamma">-auto-gamma</a></td>
-    <td>automagically adjust gamma level of image</td>
-  </tr>
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/magick_8c.html" id="MagickCoreTerminus">MagickCoreTerminus</a></h2>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#auto-level">-auto-level</a></td>
-    <td>automagically adjust color levels of image</td>
-  </tr>
+<p>MagickCoreTerminus() destroys the MagickCore environment.</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#auto-orient">-auto-orient</a></td>
-    <td>automagically orient image</td>
-  </tr>
+<p>The format of the MagickCoreTerminus function is:</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#background">-background <var>color</var></a></td>
-    <td>background color</td>
-  </tr>
+<pre class="text">
+MagickCoreTerminus(void)
+</pre>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#bench">-bench <var>iterations</var></a></td>
-    <td>measure performance</td>
-  </tr>
+<h2><a href="../../api/MagickCore/magick_8c.html" id="SetMagickPrecision">SetMagickPrecision</a></h2>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#bias">-bias <var>value</var></a></td>
-    <td>add bias when convolving an image</td>
-  </tr>
+<p>SetMagickPrecision() sets the maximum number of significant digits to be printed.</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#black-threshold">-black-threshold <var>value</var></a></td>
-    <td>force all pixels below the threshold into black</td>
-  </tr>
+<p>An input argument of 0 returns the current precision setting.</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#blue-primary">-blue-primary <var>point</var></a></td>
-    <td>chromaticity blue primary point</td>
-  </tr>
+<p>A negative value forces the precision to reset to a default value according to the environment variable "MAGICK_PRECISION", the current 'policy' configuration setting, or the default value of '6', in that order.</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#blue-shift">-blue-shift <var>factor</var></a></td>
-    <td>simulate a scene at nighttime in the moonlight</td>
-  </tr>
+<p>The format of the SetMagickPrecision method is:</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#blur">-blur <var>geometry</var></a></td>
-    <td>reduce image noise and reduce detail levels</td>
-  </tr>
+<pre class="text">
+int SetMagickPrecision(const int precision)
+</pre>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#border">-border <var>geometry</var></a></td>
-    <td>surround image with a border of color</td>
-  </tr>
+<p>A description of each parameter follows:</p>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
-    <td>border color</td>
-  </tr>
+<dd>
+</dd>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#brightness-contrast">-brightness-contrast <var>geometry</var></a></td>
-    <td>improve brightness / contrast of the image</td>
-  </tr>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>precision</dt>
+<dd>set the maximum number of significant digits to be printed. </dd>
 
-  <tr>
-    <td><a href="../../www/command-line-options.html#canny">-canny <var>geometry</var></a></td>
-    <td>use a multi-stage algorithm to detect a wide range of edges in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#caption">-caption <var>string</var></a></td>
-    <td>assign a caption to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#cdl">-cdl <var>filename</var></a></td>
-    <td>color correct with a color decision list</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#channel">-channel <var>type</var></a></td>
-    <td>apply option to select image channels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#charcoal">-charcoal <var>radius</var></a></td>
-    <td>simulate a charcoal drawing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#chop">-chop <var>geometry</var></a></td>
-    <td>remove pixels from the image interior</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clamp">-clamp</a></td>
-    <td>set each pixel whose value is below zero to zero and any the pixel whose value is above the quantum range to the quantum range (e.g. 65535) otherwise the pixel value remains unchanged.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip">-clip</a></td>
-    <td>clip along the first path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip-mask">-clip-mask</a> <var>filename</var></td>
-    <td>associate clip mask with the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip-path">-clip-path <var>id</var></a></td>
-    <td>clip along a named path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clone">-clone <var>index</var></a></td>
-    <td>clone an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clut">-clut</a></td>
-    <td>apply a color lookup table to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#connected-components">-connected-components <var>connectivity</var></a></td>
-    <td>connected-components uniquely labeled, choose from 4 or 8 way connectivity</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#contrast-stretch">-contrast-stretch <var>geometry</var></a></td>
-    <td>improve the contrast in an image by `stretching' the range of intensity value</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#coalesce">-coalesce</a></td>
-    <td>merge a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colorize">-colorize <var>value</var></a></td>
-    <td>colorize the image with the fill color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#color-matrix">-color-matrix <var>matrix</var></a></td>
-    <td>apply color correction to the image.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colors">-colors <var>value</var></a></td>
-    <td>preferred number of colors in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
-    <td>set image colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#combine">-combine</a></td>
-    <td>combine a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#comment">-comment <var>string</var></a></td>
-    <td>annotate image with comment</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compare">-compare</a></td>
-    <td>compare image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#complex">-complex<var>operator</var></a></td>
-    <td>perform complex mathematics on an image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compose">-compose <var>operator</var></a></td>
-    <td>set image composite operator</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#composite">-composite</a></td>
-    <td>composite image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compress">-compress <var>type</var></a></td>
-    <td>image compression type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#contrast">-contrast</a></td>
-    <td>enhance or reduce the image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#convolve">-convolve <var>coefficients</var></a></td>
-    <td>apply a convolution kernel to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#copy">-copy <var>geometry</var> <var>offset</var></a></td>
-    <td>copy pixels from one area of an image to another</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#crop">-crop <var>geometry</var></a></td>
-    <td>crop the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#cycle">-cycle <var>amount</var></a></td>
-    <td>cycle the image colormap</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#decipher">-decipher <var>filename</var></a></td>
-    <td>convert cipher pixels to plain</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#debug">-debug <var>events</var></a></td>
-    <td>display copious debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#define">-define <var>format:option</var></a></td>
-    <td>define one or more image format options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#deconstruct">-deconstruct</a></td>
-    <td>break down an image sequence into constituent parts</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#delay">-delay <var>value</var></a></td>
-    <td>display the next image after pausing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#delete">-delete <var>index</var></a></td>
-    <td>delete the image from the image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#density">-density <var>geometry</var></a></td>
-    <td>horizontal and vertical density of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#depth">-depth <var>value</var></a></td>
-    <td>image depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#despeckle">-despeckle</a></td>
-    <td>reduce the speckles within an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#direction">-direction <var>type</var></a></td>
-    <td>render text right-to-left or left-to-right</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#display">-display <var>server</var></a></td>
-    <td>get image or font from this X server</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dispose">-dispose <var>method</var></a></td>
-    <td>layer disposal method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#distribute-cache">-distribute-cache <var>port</var></a></td>
-    <td>launch a distributed pixel cache server</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#distort">-distort <var>type coefficients</var></a></td>
-    <td>distort image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dither">-dither  <var>method</var></a></td>
-    <td>apply error diffusion to image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#draw">-draw <var>string</var></a></td>
-    <td>annotate the image with a graphic primitive</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#duplicate">-duplicate <var>count,indexes</var></a></td>
-    <td>duplicate an image one or more times</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#edge">-edge <var>radius</var></a></td>
-    <td>apply a filter to detect edges in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#emboss">-emboss <var>radius</var></a></td>
-    <td>emboss an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#encipher">-encipher <var>filename</var></a></td>
-    <td>convert plain pixels to cipher pixels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#encoding">-encoding <var>type</var></a></td>
-    <td>text encoding type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#endian">-endian <var>type</var></a></td>
-    <td>endianness (MSB or LSB) of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#enhance">-enhance</a></td>
-    <td>apply a digital filter to enhance a noisy image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#equalize">-equalize</a></td>
-    <td>perform histogram equalization to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#evaluate">-evaluate <var>operator value</var></a></td>
-    <td>evaluate an arithmetic, relational, or logical expression</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#evaluate-sequence">-evaluate-sequence <var>operator</var></a></td>
-    <td>evaluate an arithmetic, relational, or logical expression for an image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#extent">-extent <var>geometry</var></a></td>
-    <td>set the image size</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
-    <td>extract area from image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#family">-family <var>name</var></a></td>
-    <td>render text with this font family</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#features">-features <var>distance</var></a></td>
-    <td>analyze image features (e.g. contract, correlations, etc.).</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fft">-fft</a></td>
-    <td>implements the discrete Fourier transform (DFT)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fill">-fill <var>color</var></a></td>
-    <td>color to use when filling a graphic primitive</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#filter">-filter <var>type</var></a></td>
-    <td>use this filter when resizing an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flatten">-flatten</a></td>
-    <td>flatten a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flip">-flip</a></td>
-    <td>flip image in the vertical direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#floodfill">-floodfill <var>geometry color</var></a></td>
-    <td>floodfill the image with color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flop">-flop</a></td>
-    <td>flop image in the horizontal direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#font">-font <var>name</var></a></td>
-    <td>render text with this font</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#format_identify_">-format <var>string</var></a></td>
-    <td>output formatted image characteristics</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#frame">-frame <var>geometry</var></a></td>
-    <td>surround image with an ornamental border</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#function">-function <var>name</var></a></td>
-    <td>apply a function to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fuzz">-fuzz <var>distance</var></a></td>
-    <td>colors within this distance are considered equal</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fx">-fx <var>expression</var></a></td>
-    <td>apply mathematical expression to an image channel(s)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gamma">-gamma <var>value</var></a></td>
-    <td>level of gamma correction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gaussian-blur">-gaussian-blur <var>geometry</var></a></td>
-    <td>reduce image noise and reduce detail levels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
-    <td>preferred size or location of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gravity">-gravity <var>type</var></a></td>
-    <td>horizontal and vertical text placement</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#intensity">-grayscale <var>method</var></a></td>
-    <td>convert image to grayscale</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#green-primary">-green-primary <var>point</var></a></td>
-    <td>chromaticity green primary point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#help">-help</a></td>
-    <td>print program options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#hough-lines">-hough-lines <var>geometry</var></a></td>
-    <td>identify lines in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#identify">-identify</a></td>
-    <td>identify the format and characteristics of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#ift">-ift</a></td>
-    <td>implements the inverse discrete Fourier transform (DFT)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#implode">-implode <var>amount</var></a></td>
-    <td>implode image pixels about the center</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#insert">-insert <var>index</var></a></td>
-    <td>insert last image into the image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#intensity">-intensity <var>method</var></a></td>
-    <td>method to generate an intensity value from a pixel</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#intent">-intent <var>type</var></a></td>
-    <td>type of rendering intent when managing the image color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
-    <td>type of image interlacing scheme</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interline-spacing">-interline-spacing <var>value</var></a></td>
-    <td>the space between two text lines</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
-    <td>pixel color interpolation method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interword-spacing">-interword-spacing <var>value</var></a></td>
-    <td>the space between two words</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#kerning">-kerning <var>value</var></a></td>
-    <td>the space between two characters</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#kuwahara">-kuwahara <var>geometry</var></a></td>
-    <td>edge preserving noise reduction filter</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#label">-label <var>string</var></a></td>
-    <td>assign a label to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#lat">-lat <var>geometry</var></a></td>
-    <td>local adaptive thresholding</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#layers">-layers <var>method</var></a></td>
-    <td>optimize or compare image layers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#level">-level <var>value</var></a></td>
-    <td>adjust the level of image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
-    <td>pixel cache resource limit</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#linear-stretch">-linear-stretch <var>geometry</var></a></td>
-    <td>linear with saturation histogram stretch</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#liquid-rescale">-liquid-rescale <var>geometry</var></a></td>
-    <td>rescale image with seam-carving</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#list">-list <var>type</var></a></td>
-    <td>Color, Configure, Delegate, Format, Magic, Module, Resource, or Type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#log">-log <var>format</var></a></td>
-    <td>format of debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#loop">-loop <var>iterations</var></a></td>
-    <td>add Netscape loop extension to your GIF animation</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mask">-mask <var>filename</var></a></td>
-    <td>associate a mask with the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mattecolor">-mattecolor <var>color</var></a></td>
-    <td>frame color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#median">-median <var>radius</var></a></td>
-    <td>apply a median filter to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mean-shift">-mean-shift <var>geometry</var></a></td>
-    <td>delineate arbitrarily shaped clusters in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#metric">-metric <var>type</var></a></td>
-    <td>measure differences between images with this metric</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mode">-mode <var>radius</var></a></td>
-    <td>make each pixel the 'predominant color' of the neighborhood</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#modulate">-modulate <var>value</var></a></td>
-    <td>vary the brightness, saturation, and hue</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#moments">-moments</a></td>
-    <td>display image moments.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monitor">-monitor</a></td>
-    <td>monitor progress</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monochrome">-monochrome</a></td>
-    <td>transform image to black and white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#morph">-morph <var>value</var></a></td>
-    <td>morph an image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#morphology">-morphology <var>method</var></a> <var>kernel</var></td>
-    <td>apply a morphology method to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#motion-blur">-motion-blur <var>geometry</var></a></td>
-    <td>simulate motion blur</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#negate">-negate</a></td>
-    <td>replace each pixel with its complementary color </td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#noise">-noise <var>radius</var></a></td>
-    <td>add or reduce noise in an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#normalize">-normalize</a></td>
-    <td>transform image to span the full range of colors</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#opaque">-opaque <var>color</var></a></td>
-    <td>change this color to the fill color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#ordered-dither">-ordered-dither <var>NxN</var></a></td>
-    <td>ordered dither the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#orient">-orient <var>type</var></a></td>
-    <td>image orientation</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#page">-page <var>geometry</var></a></td>
-    <td>size and location of an image canvas (setting)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#paint">-paint <var>radius</var></a></td>
-    <td>simulate an oil painting</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#perceptible">-perceptible</a></td>
-    <td>set each pixel whose value is less than |<var>epsilon</var>| to <var>-epsilon</var> or <var>epsilon</var> (whichever is closer) otherwise the pixel value remains unchanged.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#ping">-ping</a></td>
-    <td>efficiently determine image attributes</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#pointsize">-pointsize <var>value</var></a></td>
-    <td>font point size</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#polaroid">-polaroid <var>angle</var></a></td>
-    <td>simulate a Polaroid picture</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#poly">-poly <var>terms</var></a></td>
-    <td>build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs).</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#posterize">-posterize <var>levels</var></a></td>
-    <td>reduce the image to a limited number of color levels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#precision">-precision <var>value</var></a></td>
-    <td>set the maximum number of significant digits to be printed</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#preview">-preview <var>type</var></a></td>
-    <td>image preview type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#print">-print <var>string</var></a></td>
-    <td>interpret string and print to console</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#process">-process <var>image-filter</var></a></td>
-    <td>process the image with a custom image filter</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#profile">-profile <var>filename</var></a></td>
-    <td>add, delete, or apply an image profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quality">-quality <var>value</var></a></td>
-    <td>JPEG/MIFF/PNG compression level</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
-    <td>reduce image colors in this colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quiet">-quiet</a></td>
-    <td>suppress all warning messages</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#radial-blur">-radial-blur <var>angle</var></a></td>
-    <td>radial blur the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#raise">-raise <var>value</var></a></td>
-    <td>lighten/darken image edges to create a 3-D effect</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#random-threshold">-random-threshold <var>low,high</var></a></td>
-    <td>random threshold the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#red-primary">-red-primary <var>point</var></a></td>
-    <td>chromaticity red primary point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
-    <td>pay attention to warning messages.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#region">-region <var>geometry</var></a></td>
-    <td>apply options to a portion of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#remap">-remap <var>filename</var></a></td>
-    <td>transform image colors to match this set of colors</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#render">-render</a></td>
-    <td>render vector graphics</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#repage">-repage <var>geometry</var></a></td>
-    <td>size and location of an image canvas</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resample">-resample <var>geometry</var></a></td>
-    <td>change the resolution of an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resize">-resize <var>geometry</var></a></td>
-    <td>resize the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
-    <td>settings remain in effect until parenthesis boundary.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#roll">-roll <var>geometry</var></a></td>
-    <td>roll an image vertically or horizontally</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
-    <td>apply Paeth rotation to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sample">-sample <var>geometry</var></a></td>
-    <td>scale image with pixel sampling</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
-    <td>horizontal and vertical sampling factor</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#scale">-scale <var>geometry</var></a></td>
-    <td>scale the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#scene">-scene <var>value</var></a></td>
-    <td>image scene number</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#seed">-seed <var>value</var></a></td>
-    <td>seed a new sequence of pseudo-random numbers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#segment">-segment <var>values</var></a></td>
-    <td>segment an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#threshold">-selective-blur <var>geometry</var></a></td>
-    <td>selectively blur pixels within a contrast threshold</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#separate">-separate</a></td>
-    <td>separate an image channel into a grayscale image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sepia-tone">-sepia-tone <var>threshold</var></a></td>
-    <td>simulate a sepia-toned photo</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
-    <td>set an image attribute</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shade">-shade <var>degrees</var></a></td>
-    <td>shade the image using a distant light source</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shadow">-shadow <var>geometry</var></a></td>
-    <td>simulate an image shadow</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sharpen">-sharpen <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shave">-shave <var>geometry</var></a></td>
-    <td>shave pixels from the image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shear">-shear <var>geometry</var></a></td>
-    <td>slide one edge of the image along the X or Y axis</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sigmoidal">-sigmoidal-contrast <var>geometry</var></a></td>
-    <td>increase the contrast without saturating highlights or shadows</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#smush">-smush <var>offset</var></a></td>
-    <td>smush an image sequence together</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#size">-size <var>geometry</var></a></td>
-    <td>width and height of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sketch">-sketch <var>geometry</var></a></td>
-    <td>simulate a pencil sketch</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#solarize">-solarize <var>threshold</var></a></td>
-    <td>negate all pixels above the threshold level</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#splice">-splice <var>geometry</var></a></td>
-    <td>splice the background color into the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#spread">-spread <var>radius</var></a></td>
-    <td>displace image pixels by a random amount</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#statistic">-statistic <var>type</var> <var>geometry</var></a></td>
-    <td>replace each pixel with corresponding statistic from the neighborhood</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#strip">-strip</a></td>
-    <td>strip image of all profiles and comments</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#stroke">-stroke <var>color</var></a></td>
-    <td>graphic primitive stroke color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#strokewidth">-strokewidth <var>value</var></a></td>
-    <td>graphic primitive stroke width</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#stretch">-stretch <var>type</var></a></td>
-    <td>render text with this font stretch</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#style">-style <var>type</var></a></td>
-    <td>render text with this font style</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#swap">-swap <var>indexes</var></a></td>
-    <td>swap two images in the image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#swirl">-swirl <var>degrees</var></a></td>
-    <td>swirl image pixels about the center</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#synchronize">-synchronize</a></td>
-    <td>synchronize image to storage device</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#taint">-taint</a></td>
-    <td>mark the image as modified</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#texture">-texture <var>filename</var></a></td>
-    <td>name of texture to tile onto the image background</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#threshold">-threshold <var>value</var></a></td>
-    <td>threshold the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#thumbnail">-thumbnail <var>geometry</var></a></td>
-    <td>create a thumbnail of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#tile">-tile <var>filename</var></a></td>
-    <td>tile image when filling a graphic primitive</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#tile-offset">-tile-offset <var>geometry</var></a></td>
-    <td>set the image tile offset</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#tint">-tint <var>value</var></a></td>
-    <td>tint the image with the fill color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transform">-transform</a></td>
-    <td>affine transform image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transparent">-transparent <var>color</var></a></td>
-    <td>make this color transparent within the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
-    <td>transparent color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transpose">-transpose</a></td>
-    <td>flip image in the vertical direction and rotate 90 degrees</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transverse">-transverse</a></td>
-    <td>flop image in the horizontal direction and rotate 270 degrees</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#treedepth">-treedepth <var>value</var></a></td>
-    <td>color tree depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#trim">-trim</a></td>
-    <td>trim image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#type">-type <var>type</var></a></td>
-    <td>image type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#undercolor">-undercolor <var>color</var></a></td>
-    <td>annotation bounding box color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#unique-colors">-unique-colors</a></td>
-    <td>discard all but one of any pixel color.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#units">-units <var>type</var></a></td>
-    <td>the units of image resolution</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#unsharp">-unsharp <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#verbose">-verbose</a></td>
-    <td>print detailed information about the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#version">-version</a></td>
-    <td>print version information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#view">-view</a></td>
-    <td>FlashPix viewing transforms</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#vignette">-vignette <var>geometry</var></a></td>
-    <td>soften the edges of the image in vignette style</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
-    <td>access method for pixels outside the boundaries of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#wave">-wave <var>geometry</var></a></td>
-    <td>alter an image along a sine wave</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#wavelet">-wavelet-denoise <var>threshold</var></a></td>
-    <td>removes noise from the image using a wavelet transform</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#weight">-weight <var>type</var></a></td>
-    <td>render text with this font weight</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#white-point">-white-point <var>point</var></a></td>
-    <td>chromaticity white point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#white-threshold">-white-threshold <var>value</var></a></td>
-    <td>force all pixels above the threshold into white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write">-write <var>filename</var></a></td>
-    <td>write images to this file</td>
-  </tr>
-</table>
-</div>
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -1346,4 +219,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:42 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 10:37 -->
\ No newline at end of file
index f7dccb292fd73379e285ca47729232e234708118..c8bff3f05b70d5df3af39c2ee3a067ccc3326bd8 100644 (file)
@@ -474,4 +474,4 @@ SetMagickMemoryMethods(AcquireMemoryHandler acquire_memory_handler,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:39 -->
\ No newline at end of file
+<!-- Magick Cache 16th February 2018 10:05 -->
\ No newline at end of file
index dac7a509d850f5f675694078289a15f5658fc733..32ac83cb8d4e3753aae342504df15be052d56b83 100644 (file)
@@ -257,3 +257,4 @@ MagickBooleanType ListMimeInfo(FILE *file,ExceptionInfo *exception)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 17th February 2018 16:01 -->
\ No newline at end of file
index f18737e5adab2ec47ae97721cef5ecfa6851f7de..0ce2d0dcc316dc52558eb6f77fc4c738759bb65e 100644 (file)
@@ -524,4 +524,4 @@ MagickBooleanType UnregisterModule(const ModuleInfo *module_info,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:58 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 08:40 -->
\ No newline at end of file
index 1a95ae7691a3c03a46f560222b0a6e694700d218..4c9e85b3ea95b11e457b9c723be8c931762f9f57 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Command-line Tools: Mogrify @ ImageMagick</title>
+  <title>MagickWand, C API: Command-line Interface @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="command-line, tools:, mogrify, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickwc, api:, command-line, interface, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/mogrify.html" rel="canonical" />
+  <link href="mogrify.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="mogrify.html#usage">Example Usage</a> • <a href="mogrify.html#options">Option Summary</a></p>
+<p class="text-center"><a href="mogrify.html#MagickCommandGenesis">MagickCommandGenesis</a></p>
 
-<p class="lead magick-description">Use the <code>mogrify</code> program to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.   This tool is similar to <a href="../../www/convert.html">convert</a> except that the original image file is <em>overwritten</em> (unless you change the file suffix with the <a href="../../www/command-line-options.html#format">-format</a> option) with any changes you request.  See <a href="../../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>mogrify</code> command or see below for sample usages of the command.</p>
+<h2><a href="../../api/MagickWand/mogrify_8c.html" id="MagickCommandGenesis">MagickCommandGenesis</a></h2>
 
-<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
+<p>MagickCommandGenesis() applies image processing options to an image as prescribed by command line options.</p>
 
-<p>We list a few examples of the <code>mogrify</code> command here to illustrate its usefulness and ease of use.  To get started, let's reduce the size of our
-rose:</p>
+<p>It wiil look for special options like "-debug", "-bench", and "-distribute-cache" that needs to be applied even before the main processing begins, and may completely overrule normal command processing. Such 'Genesis' Options can only be given on the CLI, (not in a script) and are typically ignored (as they have been handled) if seen later.</p>
 
-<pre class="highlight"><code>magick mogrify -resize 50% rose.jpg
-</code></pre>
+<p>The format of the MagickCommandGenesis method is:</p>
 
-<ul>
-  <a href="../../images/rose.jpg">
-  <img src="../../images/rose.jpg" width="70" height="46" alt="rose" />
-  </a>
-  <img style="margin-top:13px; margin-bottom:13px;" src="../../images/right.gif" width="20" height="20" alt="==>" />
-  <a href="../../images/rose.png">
-  <img style="margin-top:12px; margin-bottom: 11px;" src="../../images/rose.png" width="35" height="23" alt="rose" />
-  </a>
-</ul>
+<pre class="text">
+MagickBooleanType MagickCommandGenesis(ImageInfo *image_info,
+  MagickCommand command,int argc,char **argv,char **metadata,
+  ExceptionInfo *exception)
+</pre>
 
-<p>You can resize all your JPEG images in a folder to a maximum dimension of 256x256 with this command:</p>
+<p>A description of each parameter follows:</p>
 
-<pre class="highlight"><code>magick mogrify -resize 256x256 *.jpg
-</code></pre>
+<dd>
+</dd>
 
-<p>Finally, we convert all our PNG images in a folder to the JPEG format:</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image_info</dt>
+<dd>the image info. </dd>
 
-<pre class="highlight"><code>magick mogrify -format jpg *.png
-</code></pre>
+<dd> </dd>
+<dt>command</dt>
+<dd>Choose from ConvertImageCommand, IdentifyImageCommand, MogrifyImageCommand, CompositeImageCommand, CompareImagesCommand, ConjureImageCommand, StreamImageCommand, ImportImageCommand, DisplayImageCommand, or AnimateImageCommand. </dd>
 
-<p>Here image files 1.png, 2.png, etc., are left untouched and files 1.jpg, 2.jpg, etc., are created.  They are copies of their respective PNG images except are stored  in the JPEG image format.</p>
+<dd> </dd>
+<dt>argc</dt>
+<dd>Specifies a pointer to an integer describing the number of elements in the argument vector. </dd>
 
+<dd> </dd>
+<dt>argv</dt>
+<dd>Specifies a pointer to a text array containing the command line arguments. </dd>
 
-<p>You can find additional examples of using <code>mogrify</code> in <a href="http://www.ibm.com/developerworks/library/l-graf/?ca=dnt-428">Graphics from the Command Line</a>.  Further discussion is available in  <a href="http://www.ibm.com/developerworks/library/l-graf2/?ca=dgr-lnxw15GraphicsLine">More Graphics from the Command Line</a> and <a href="../../Usage/">Examples of ImageMagick Usage</a>.</p>
+<dd> </dd>
+<dt>metadata</dt>
+<dd>any metadata is returned here. </dd>
 
-<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
-
-<p>The <code>mogrify</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
-
-<table class="table table-sm table-striped">
-  <tbody>
-  <tr>
-    <th align="left">Option</th>
-    <th align="left">Description</th>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#adaptive-blur">-adaptive-blur <var>geometry</var></a></td>
-    <td>adaptively blur pixels; decrease effect near edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#adaptive-resize">-adaptive-resize <var>geometry</var></a></td>
-    <td>adaptively resize image with data dependent triangulation.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#adaptive-sharpen">-adaptive-sharpen <var>geometry</var></a></td>
-    <td>adaptively sharpen pixels; increase effect near edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#adjoin">-adjoin</a></td>
-    <td>join images into a single multi-image file</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#affine">-affine <var>matrix</var></a></td>
-    <td>affine transform matrix</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#alpha">-alpha</a></td>
-    <td>on, activate, off, deactivate, set, opaque, copy",
-transparent, extract, background, or shape the alpha channel</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#annotate">-annotate <var>geometry text</var></a></td>
-    <td>annotate the image with text</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#antialias">-antialias</a></td>
-    <td>remove pixel-aliasing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#append">-append</a></td>
-    <td>append an image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
-    <td>decipher image with this password</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#auto-gamma">-auto-gamma</a></td>
-    <td>automagically adjust gamma level of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#auto-level">-auto-level</a></td>
-    <td>automagically adjust color levels of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#auto-orient">-auto-orient</a></td>
-    <td>automagically orient image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#auto-threshold">-auto-threshold <var>method</var></a></td>
-    <td>automatically perform image thresholding</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#background">-background <var>color</var></a></td>
-    <td>background color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#bench">-bench <var>iterations</var></a></td>
-    <td>measure performance</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#bias">-bias <var>value</var></a></td>
-    <td>add bias when convolving an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#black-threshold">-black-threshold <var>value</var></a></td>
-    <td>force all pixels below the threshold into black</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#blue-primary">-blue-primary <var>point</var></a></td>
-    <td>chromaticity blue primary point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#blue-shift">-blue-shift  <var>factor</var></a></td>
-    <td>simulate a scene at nighttime in the moonlight</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#blur">-blur <var>geometry</var></a></td>
-    <td>reduce image noise and reduce detail levels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#border">-border <var>geometry</var></a></td>
-    <td>surround image with a border of color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
-    <td>border color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#brightness-contrast">-brightness-contrast <var>geometry</var></a></td>
-    <td>improve brightness / contrast of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#canny">-canny <var>geometry</var></a></td>
-    <td>use a multi-stage algorithm to detect a wide range of edges in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#caption">-caption <var>string</var></a></td>
-    <td>assign a caption to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#cdl">-cdl <var>filename</var></a></td>
-    <td>color correct with a color decision list</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#channel">-channel <var>type</var></a></td>
-    <td>apply option to select image channels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#charcoal">-charcoal <var>radius</var></a></td>
-    <td>simulate a charcoal drawing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#chop">-chop <var>geometry</var></a></td>
-    <td>remove pixels from the image interior</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip">-clip</a></td>
-    <td>clip along the first path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clamp">-clamp</a></td>
-    <td>set each pixel whose value is below zero to zero and any the pixel whose value is above the quantum range to the quantum range (e.g. 65535) otherwise the pixel value remains unchanged.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip-mask">-clip-mask</a> <var>filename</var></td>
-    <td>associate clip mask with the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clip-path">-clip-path <var>id</var></a></td>
-    <td>clip along a named path from the 8BIM profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#clut">-clut</a></td>
-    <td>apply a color lookup table to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#complex">-complex<var>operator</var></a></td>
-    <td>perform complex mathematics on an image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#connected-components">-connected-components <var>connectivity</var></a></td>
-    <td>connected-components uniquely labeled, choose from 4 or 8 way connectivity</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#contrast-stretch">-contrast-stretch <var>geometry</var></a></td>
-    <td>improve the contrast in an image by `stretching' the range of intensity value</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#coalesce">-coalesce</a></td>
-    <td>merge a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colorize">-colorize <var>value</var></a></td>
-    <td>colorize the image with the fill color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#color-matrix">-color-matrix <var>matrix</var></a></td>
-    <td>apply color correction to the image.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colors">-colors <var>value</var></a></td>
-    <td>preferred number of colors in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
-    <td>set image colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#combine">-combine</a></td>
-    <td>combine a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#comment">-comment <var>string</var></a></td>
-    <td>annotate image with comment</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compose">-compose <var>operator</var></a></td>
-    <td>set image composite operator</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#composite">-composite</a></td>
-    <td>composite image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#compress">-compress <var>type</var></a></td>
-    <td>image compression type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#contrast">-contrast</a></td>
-    <td>enhance or reduce the image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#convolve">-convolve <var>coefficients</var></a></td>
-    <td>apply a convolution kernel to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#copy">-copy <var>geometry</var> <var>offset</var></a></td>
-    <td>copy pixels from one area of an image to another</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#crop">-crop <var>geometry</var></a></td>
-    <td>crop the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#cycle">-cycle <var>amount</var></a></td>
-    <td>cycle the image colormap</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#decipher">-decipher <var>filename</var></a></td>
-    <td>convert cipher pixels to plain</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#debug">-debug <var>events</var></a></td>
-    <td>display copious debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#define">-define <var>format:option</var></a></td>
-    <td>define one or more image format options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#deconstruct">-deconstruct</a></td>
-    <td>break down an image sequence into constituent parts</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#delay">-delay <var>value</var></a></td>
-    <td>display the next image after pausing</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#delete">-delete <var>index</var></a></td>
-    <td>delete the image from the image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#density">-density <var>geometry</var></a></td>
-    <td>horizontal and vertical density of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#depth">-depth <var>value</var></a></td>
-    <td>image depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#despeckle">-despeckle</a></td>
-    <td>reduce the speckles within an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#direction">-direction <var>type</var></a></td>
-    <td>render text right-to-left or left-to-right</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#display">-display <var>server</var></a></td>
-    <td>get image or font from this X server</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dispose">-dispose <var>method</var></a></td>
-    <td>layer disposal method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#distort">-distort <var>type coefficients</var></a></td>
-    <td>distort image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#distribute-cache">-distribute-cache <var>port</var></a></td>
-    <td>launch a pixel cache server</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#dither">-dither  <var>method</var></a></td>
-    <td>apply error diffusion to image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#draw">-draw <var>string</var></a></td>
-    <td>annotate the image with a graphic primitive</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#duplicate">-duplicate <var>count,indexes</var></a></td>
-    <td>duplicate an image one or more times</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#edge">-edge <var>radius</var></a></td>
-    <td>apply a filter to detect edges in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#emboss">-emboss <var>radius</var></a></td>
-    <td>emboss an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#encipher">-encipher <var>filename</var></a></td>
-    <td>convert plain pixels to cipher pixels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#encoding">-encoding <var>type</var></a></td>
-    <td>text encoding type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#endian">-endian <var>type</var></a></td>
-    <td>endianness (MSB or LSB) of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#enhance">-enhance</a></td>
-    <td>apply a digital filter to enhance a noisy image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#equalize">-equalize</a></td>
-    <td>perform histogram equalization to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#evaluate">-evaluate <var>operator value</var></a></td>
-    <td>evaluate an arithmetic, relational, or logical expression</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#evaluate-sequence">-evaluate-sequence <var>operator</var></a></td>
-    <td>evaluate an arithmetic, relational, or logical expression for an image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#extent">-extent <var>geometry</var></a></td>
-    <td>set the image size</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
-    <td>extract area from image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#family">-family <var>name</var></a></td>
-    <td>render text with this font family</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#features">-features <var>distance</var></a></td>
-    <td>analyze image features (e.g. contract, correlations, etc.).</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fft">-fft</a></td>
-    <td>implements the discrete Fourier transform (DFT)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fill">-fill <var>color</var></a></td>
-    <td>color to use when filling a graphic primitive</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#filter">-filter <var>type</var></a></td>
-    <td>use this filter when resizing an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flatten">-flatten</a></td>
-    <td>flatten a sequence of images</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flip">-flip</a></td>
-    <td>flip image in the vertical direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#floodfill">-floodfill <var>geometry color</var></a></td>
-    <td>floodfill the image with color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#flop">-flop</a></td>
-    <td>flop image in the horizontal direction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#font">-font <var>name</var></a></td>
-    <td>render text with this font</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#format">-format <var>type</var></a></td>
-    <td>output formatted image characteristics</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#frame">-frame <var>geometry</var></a></td>
-    <td>surround image with an ornamental border</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#function">-function <var>name</var></a></td>
-    <td>apply a function to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fuzz">-fuzz <var>distance</var></a></td>
-    <td>colors within this distance are considered equal</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#fx">-fx <var>expression</var></a></td>
-    <td>apply mathematical expression to an image channel(s)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gamma">-gamma <var>value</var></a></td>
-    <td>level of gamma correction</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gaussian-blur">-gaussian-blur <var>geometry</var></a></td>
-    <td>reduce image noise and reduce detail levels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
-    <td>preferred size or location of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#gravity">-gravity <var>type</var></a></td>
-    <td>horizontal and vertical text placement</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#intensity">-grayscale <var>method</var></a></td>
-    <td>convert image to grayscale</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#green-primary">-green-primary <var>point</var></a></td>
-    <td>chromaticity green primary point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#help">-help</a></td>
-    <td>print program options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#hough-lines">-hough-lines <var>geometry</var></a></td>
-    <td>identify lines in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#identify">-identify</a></td>
-    <td>identify the format and characteristics of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#ift">-ifft</a></td>
-    <td>implements the inverse discrete Fourier transform (DFT)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#implode">-implode <var>amount</var></a></td>
-    <td>implode image pixels about the center</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#insert">-insert <var>index</var></a></td>
-    <td>insert last image into the image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#intensity">-intensity <var>method</var></a></td>
-    <td>method to generate an intensity value from a pixel</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#intent">-intent <var>type</var></a></td>
-    <td>type of rendering intent when managing the image color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
-    <td>type of image interlacing scheme</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interline-spacing">-interline-spacing <var>value</var></a></td>
-    <td>the space between two text lines</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
-    <td>pixel color interpolation method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#interword-spacing">-interword-spacing <var>value</var></a></td>
-    <td>the space between two words</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#kerning">-kerning <var>value</var></a></td>
-    <td>the space between two characters</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#kuwahara">-kuwahara <var>geometry</var></a></td>
-    <td>edge preserving noise reduction filter</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#label">-label <var>string</var></a></td>
-    <td>assign a label to an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#lat">-lat <var>geometry</var></a></td>
-    <td>local adaptive thresholding</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#layers">-layers <var>method</var></a></td>
-    <td>optimize or compare image layers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#level">-level <var>value</var></a></td>
-    <td>adjust the level of image contrast</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
-    <td>pixel cache resource limit</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#linear-stretch">-linear-stretch <var>geometry</var></a></td>
-    <td>linear with saturation histogram stretch</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#liquid-rescale">-liquid-rescale <var>geometry</var></a></td>
-    <td>rescale image with seam-carving</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#log">-log <var>format</var></a></td>
-    <td>format of debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#loop">-loop <var>iterations</var></a></td>
-    <td>add Netscape loop extension to your GIF animation</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mattecolor">-mattecolor <var>color</var></a></td>
-    <td>frame color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#median">-median <var>radius</var></a></td>
-    <td>apply a median filter to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mean-shift">-mean-shift <var>geometry</var></a></td>
-    <td>delineate arbitrarily shaped clusters in the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#metric">-metric <var>type</var></a></td>
-    <td>measure differences between images with this metric</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#mode">-mode <var>radius</var></a></td>
-    <td>make each pixel the 'predominant color' of the neighborhood</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#modulate">-modulate <var>value</var></a></td>
-    <td>vary the brightness, saturation, and hue</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monitor">-monitor</a></td>
-    <td>monitor progress</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#monochrome">-monochrome</a></td>
-    <td>transform image to black and white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#morph">-morph <var>value</var></a></td>
-    <td>morph an image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#morphology">-morphology <var>method</var></a> <var>kernel</var></td>
-    <td>apply a morphology method to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#motion-blur">-motion-blur <var>geometry</var></a></td>
-    <td>simulate motion blur</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#negate">-negate</a></td>
-    <td>replace each pixel with its complementary color </td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#noise">-noise <var>radius</var></a></td>
-    <td>add or reduce noise in an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#normalize">-normalize</a></td>
-    <td>transform image to span the full range of colors</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#opaque">-opaque <var>color</var></a></td>
-    <td>change this color to the fill color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#ordered-dither">-ordered-dither <var>NxN</var></a></td>
-    <td>ordered dither the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#orient">-orient <var>type</var></a></td>
-    <td>image orientation</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#page">-page <var>geometry</var></a></td>
-    <td>size and location of an image canvas (setting)</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#paint">-paint <var>radius</var></a></td>
-    <td>simulate an oil painting</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#perceptible">-perceptible</a></td>
-    <td>set each pixel whose value is less than |<var>epsilon</var>| to <var>-epsilon</var> or <var>epsilon</var> (whichever is closer) otherwise the pixel value remains unchanged.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#ping">-ping</a></td>
-    <td>efficiently determine image attributes</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#pointsize">-pointsize <var>value</var></a></td>
-    <td>font point size</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#polaroid">-polaroid <var>angle</var></a></td>
-    <td>simulate a Polaroid picture</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#poly">-poly <var>terms</var></a></td>
-    <td>build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs).</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#posterize">-posterize <var>levels</var></a></td>
-    <td>reduce the image to a limited number of color levels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#precision">-precision <var>value</var></a></td>
-    <td>set the maximum number of significant digits to be printed</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#preview">-preview <var>type</var></a></td>
-    <td>image preview type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#print">-print <var>string</var></a></td>
-    <td>interpret string and print to console</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#process">-process <var>image-filter</var></a></td>
-    <td>process the image with a custom image filter</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#profile">-profile <var>filename</var></a></td>
-    <td>add, delete, or apply an image profile</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quality">-quality <var>value</var></a></td>
-    <td>JPEG/MIFF/PNG compression level</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
-    <td>reduce image colors in this colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#quiet">-quiet</a></td>
-    <td>suppress all warning messages</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#radial-blur">-radial-blur <var>angle</var></a></td>
-    <td>radial blur the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#raise">-raise <var>value</var></a></td>
-    <td>lighten/darken image edges to create a 3-D effect</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#random-threshold">-random-threshold <var>low,high</var></a></td>
-    <td>random threshold the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#read-mask">-read-mask <var>filename</var></a></td>
-    <td>associate a read mask with the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#red-primary">-red-primary <var>point</var></a></td>
-    <td>chromaticity red primary point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
-    <td>pay attention to warning messages.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#region">-region <var>geometry</var></a></td>
-    <td>apply options to a portion of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#remap">-remap <var>filename</var></a></td>
-    <td>transform image colors to match this set of colors</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#render">-render</a></td>
-    <td>render vector graphics</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#repage">-repage <var>geometry</var></a></td>
-    <td>size and location of an image canvas</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resample">-resample <var>geometry</var></a></td>
-    <td>change the resolution of an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#resize">-resize <var>geometry</var></a></td>
-    <td>resize the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
-    <td>settings remain in effect until parenthesis boundary.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#roll">-roll <var>geometry</var></a></td>
-    <td>roll an image vertically or horizontally</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
-    <td>apply Paeth rotation to the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sample">-sample <var>geometry</var></a></td>
-    <td>scale image with pixel sampling</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
-    <td>horizontal and vertical sampling factor</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#scale">-scale <var>geometry</var></a></td>
-    <td>scale the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#scene">-scene <var>value</var></a></td>
-    <td>image scene number</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#seed">-seed <var>value</var></a></td>
-    <td>seed a new sequence of pseudo-random numbers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#segment">-segment <var>values</var></a></td>
-    <td>segment an image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#threshold">-selective-blur <var>geometry</var></a></td>
-    <td>selectively blur pixels within a contrast threshold</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#separate">-separate</a></td>
-    <td>separate an image channel into a grayscale image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sepia-tone">-sepia-tone <var>threshold</var></a></td>
-    <td>simulate a sepia-toned photo</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
-    <td>set an image attribute</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shade">-shade <var>degrees</var></a></td>
-    <td>shade the image using a distant light source</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shadow">-shadow <var>geometry</var></a></td>
-    <td>simulate an image shadow</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sharpen">-sharpen <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shave">-shave <var>geometry</var></a></td>
-    <td>shave pixels from the image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#shear">-shear <var>geometry</var></a></td>
-    <td>slide one edge of the image along the X or Y axis</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sigmoidal">-sigmoidal-contrast <var>geometry</var></a></td>
-    <td>increase the contrast without saturating highlights or shadows</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#size">-size <var>geometry</var></a></td>
-    <td>width and height of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#sketch">-sketch <var>geometry</var></a></td>
-    <td>simulate a pencil sketch</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#smush">-smush <var>offset</var></a></td>
-    <td>smush an image sequence together</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#solarize">-solarize <var>threshold</var></a></td>
-    <td>negate all pixels above the threshold level</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#splice">-splice <var>geometry</var></a></td>
-    <td>splice the background color into the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#spread">-spread <var>radius</var></a></td>
-    <td>displace image pixels by a random amount</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#statistic">-statistic <var>type</var> <var>geometry</var></a></td>
-    <td>replace each pixel with corresponding statistic from the neighborhood</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#strip">-strip</a></td>
-    <td>strip image of all profiles and comments</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#stroke">-stroke <var>color</var></a></td>
-    <td>graphic primitive stroke color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#strokewidth">-strokewidth <var>value</var></a></td>
-    <td>graphic primitive stroke width</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#stretch">-stretch <var>type</var></a></td>
-    <td>render text with this font stretch</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#style">-style <var>type</var></a></td>
-    <td>render text with this font style</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#swap">-swap <var>indexes</var></a></td>
-    <td>swap two images in the image sequence</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#swirl">-swirl <var>degrees</var></a></td>
-    <td>swirl image pixels about the center</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#synchronize">-synchronize</a></td>
-    <td>synchronize image to storage device</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#texture">-texture <var>filename</var></a></td>
-    <td>name of texture to tile onto the image background</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#threshold">-threshold <var>value</var></a></td>
-    <td>threshold the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#thumbnail">-thumbnail <var>geometry</var></a></td>
-    <td>create a thumbnail of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#tile">-tile <var>filename</var></a></td>
-    <td>tile image when filling a graphic primitive</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#tile-offset">-tile-offset <var>geometry</var></a></td>
-    <td>set the image tile offset</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#tint">-tint <var>value</var></a></td>
-    <td>tint the image with the fill color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transform">-transform</a></td>
-    <td>affine transform image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transparent">-transparent <var>color</var></a></td>
-    <td>make this color transparent within the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
-    <td>transparent color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transpose">-transpose</a></td>
-    <td>flip image in the vertical direction and rotate 90 degrees</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#transverse">-transverse</a></td>
-    <td>flop image in the horizontal direction and rotate 270 degrees</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#treedepth">-treedepth <var>value</var></a></td>
-    <td>color tree depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#trim">-trim</a></td>
-    <td>trim image edges</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#type">-type <var>type</var></a></td>
-    <td>image type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#undercolor">-undercolor <var>color</var></a></td>
-    <td>annotation bounding box color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#unique-colors">-unique-colors</a></td>
-    <td>discard all but one of any pixel color.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#units">-units <var>type</var></a></td>
-    <td>the units of image resolution</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#unsharp">-unsharp <var>geometry</var></a></td>
-    <td>sharpen the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#verbose">-verbose</a></td>
-    <td>print detailed information about the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#version">-version</a></td>
-    <td>print version information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#view">-view</a></td>
-    <td>FlashPix viewing transforms</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#vignette">-vignette <var>geometry</var></a></td>
-    <td>soften the edges of the image in vignette style</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
-    <td>access method for pixels outside the boundaries of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#wave">-wave <var>geometry</var></a></td>
-    <td>alter an image along a sine wave</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#wavelet">-wavelet-denoise <var>threshold</var></a></td>
-    <td>removes noise from the image using a wavelet transform</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#weight">-weight <var>type</var></a></td>
-    <td>render text with this font weight</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#white-point">-white-point <var>point</var></a></td>
-    <td>chromaticity white point</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#white-threshold">-white-threshold <var>value</var></a></td>
-    <td>force all pixels above the threshold into white</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write">-write <var>filename</var></a></td>
-    <td>write images to this file</td>
-  </tr>
-
-  <tr>
-    <td><a href="../../www/command-line-options.html#write-mask">-write-mask <var>filename</var></a></td>
-    <td>associate a write mask with the image</td>
-  </tr>
-
-  </tbody>
-</table>
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
 
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -1326,4 +152,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 13:01 -->
\ No newline at end of file
index 6c4117bdb5e5205b30d4f56954b8320eadb1d435..69d55d4f3747e93aad9816128028838052f42248 100644 (file)
@@ -184,3 +184,4 @@ MagickProgressMonitor SetImageInfoProgressMonitor(ImageInfo *image_info,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 17th February 2018 01:35 -->
\ No newline at end of file
index 48e116b2441832eb44247c6131899036ac757506..b5aee6916c42e4a94c4b9c147c87e833680c27ca 100644 (file)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:39 -->
\ No newline at end of file
+<!-- Magick Cache 16th February 2018 11:53 -->
\ No newline at end of file
index f7a0588c121acc992c5c5eff2e5f9a0e977e9d55..c6a8e8a312fc6940a10f118e2f7f1ed15f5c417f 100644 (file)
@@ -641,3 +641,4 @@ void ZeroKernelNans (KernelInfo *kernel)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 09:53 -->
\ No newline at end of file
index 0a2990e6eed86f6c997aba239d7ef62e384cdb69..9669f87d30c67ecd333fb55372ab0bd79ddb692c 100644 (file)
@@ -318,3 +318,4 @@ MagickBooleanType TransparentPaintImageChroma(Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 09:05 -->
\ No newline at end of file
index 7a52b29ee20de6a06b0bf26b402058adb56548b3..f32b17e27b6c20d525039693dfa4e31a60b9e165 100644 (file)
@@ -529,3 +529,4 @@ MagickBooleanType PixelSyncIterator(PixelIterator *iterator)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 14:08 -->
\ No newline at end of file
index 2b94a76531b024a6f0fe8687473859abea84d173..ffdf9b3286cbbdc841eab5ffc50ba31593b63bce 100644 (file)
@@ -1598,3 +1598,4 @@ void PixelSetYellowQuantum(PixelWand *wand,const Quantum yellow)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 14th February 2018 10:36 -->
\ No newline at end of file
index 6b8366c4589d9fcea687c5c6f327812342abccf4..935001a38e519e9a0ffee7cecf6c56d5ae98d0bf 100644 (file)
@@ -371,4 +371,4 @@ MagickBooleanType SyncImageProfiles(Image *image)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 12:10 -->
\ No newline at end of file
index 95886a39bc3041cf5f523cfffda431a2e9e7fc8a..dfc9108e81b69fa311beb7cae991eabd9f182a9b 100644 (file)
@@ -423,4 +423,4 @@ MagickBooleanType SetImageProperty(Image *image,const char *property,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 06:26 -->
\ No newline at end of file
index 0f0b481c903c23cdab39bc5538c2b5dcbe7fd94e..154acb17584954241b1b00be050e6c0c0b90beb0 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Color Reduction Utilizing Adaptive Spatial Subdivision @ ImageMagick</title>
+  <title>MagickCore, C API: Reduce the Number of Unique Colors in an Image @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="color, reduction, utilizing, adaptive, spatial, subdivision, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, reduce, the, number, of, unique, colors, in, an, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../www/quantize.html" rel="canonical" />
+  <link href="quantize.html" rel="canonical" />
   <link href="../../images/wand.png" rel="icon" />
   <link href="../../images/wand.ico" rel="shortcut icon" />
   <link href="../assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="quantize.html#describe">Algorithm Description</a> • <a href="quantize.html#measure">Measuring Color Reduction Error</a></p>
+<p class="text-center"><a href="quantize.html#QuantizeImage">QuantizeImage</a> &#8226; <a href="quantize.html#AcquireQuantizeInfo">AcquireQuantizeInfo</a> &#8226; <a href="quantize.html#CloneQuantizeInfo">CloneQuantizeInfo</a> &#8226; <a href="quantize.html#CompressImageColormap">CompressImageColormap</a> &#8226; <a href="quantize.html#DestroyQuantizeInfo">DestroyQuantizeInfo</a> &#8226; <a href="quantize.html#GetImageQuantizeError">GetImageQuantizeError</a> &#8226; <a href="quantize.html#GetQuantizeInfo">GetQuantizeInfo</a> &#8226; <a href="quantize.html#PosterizeImage">PosterizeImage</a> &#8226; <a href="quantize.html#QuantizeImage">QuantizeImage</a> &#8226; <a href="quantize.html#QuantizeImages">QuantizeImages</a> &#8226; <a href="quantize.html#RemapImage">RemapImage</a> &#8226; <a href="quantize.html#RemapImages">RemapImages</a> &#8226; <a href="quantize.html#SetGrayscaleImage">SetGrayscaleImage</a></p>
 
-<p class="lead magick-description">This document describes how ImageMagick performs color reduction on an image. To fully understand what follows, you should have a knowledge of basic imaging techniques and the tree data structure and terminology.</p>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="QuantizeImage">QuantizeImage</a></h2>
 
-<h2 class="magick-post-title"><a class="anchor" id="describe"></a>Algorithm Description</h2>
+<p>QuantizeImage() takes a standard RGB or monochrome images and quantizes them down to some fixed number of colors.</p>
 
-<p>For purposes of color allocation, an image is a set of <var>n</var> pixels, where each pixel is a point in RGB space. RGB space is a 3-dimensional vector space, and each pixel, <var>p(i)</var>, is defined by an ordered triple of red, green, and blue coordinates, (<var>r(i)</var>, <var>g(i)</var>, <var>b(i)</var>).</p>
+<p>For purposes of color allocation, an image is a set of n pixels, where each pixel is a point in RGB space.  RGB space is a 3-dimensional vector space, and each pixel, Pi,  is defined by an ordered triple of red, green, and blue coordinates, (Ri, Gi, Bi).</p>
 
-<p>Each primary color component (<var>red</var>, <var>green</var>, or <var>blue</var>) represents an intensity which varies linearly from 0 to a maximum value, <var>Cmax</var>, which corresponds to full saturation of that color. Color allocation is defined over a domain consisting of the cube in RGB space with opposite vertices at (0, 0, 0) and (<var>Cmax</var>, <var>Cmax</var>, <var>Cmax</var>).  ImageMagick requires <var>Cmax</var>= <var>255</var>.</p>
+<p>Each primary color component (red, green, or blue) represents an intensity which varies linearly from 0 to a maximum value, Cmax, which corresponds to full saturation of that color.  Color allocation is defined over a domain consisting of the cube in RGB space with opposite vertices at (0,0,0) and (Cmax, Cmax, Cmax).  QUANTIZE requires Cmax = 255.</p>
 
-<p>The algorithm maps this domain onto a tree in which each node represents a cube within that domain. In the following discussion, these cubes are defined by the coordinate of two opposite vertices: The vertex nearest the origin in RGB space and the vertex farthest from the origin.</p>
+<p>The algorithm maps this domain onto a tree in which each node represents a cube within that domain.  In the following discussion these cubes are defined by the coordinate of two opposite vertices (vertex nearest the origin in RGB space and the vertex farthest from the origin).</p>
 
-<p>The tree's root node represents the entire domain, (0,0,0) through (<var>Cmax</var>, <var>Cmax</var>, <var>Cmax</var>). Each lower level in the tree is generated by subdividing one node's cube into eight smaller cubes of equal size. This corresponds to bisecting the parent cube with planes passing through the midpoints of each edge.</p>
+<p>The tree's root node represents the entire domain, (0,0,0) through (Cmax,Cmax,Cmax).  Each lower level in the tree is generated by subdividing one node's cube into eight smaller cubes of equal size. This corresponds to bisecting the parent cube with planes passing through the midpoints of each edge.</p>
 
-<p>The basic algorithm operates in three phases:</p>
+<p>The basic algorithm operates in three phases: Classification, Reduction, and Assignment.  Classification builds a color description tree for the image.  Reduction collapses the tree until the number it represents, at most, the number of colors desired in the output image. Assignment defines the output image's color map and sets each pixel's color by restorage_class in the reduced tree.  Our goal is to minimize the numerical discrepancies between the original colors and quantized colors (quantization error).</p>
 
-<ol>
-  <li>Classification</li>
-  <li>Reduction</li>
-  <li>Assignment</li>
-</ol>
+<p>Classification begins by initializing a color description tree of sufficient depth to represent each possible input color in a leaf. However, it is impractical to generate a fully-formed color description tree in the storage_class phase for realistic values of Cmax.  If colors components in the input image are quantized to k-bit precision, so that Cmax= 2k-1, the tree would need k levels below the root node to allow representing each possible input color in a leaf.  This becomes prohibitive because the tree's total number of nodes is 1 + sum(i=1, k, 8k).</p>
 
-<p><b>Classification</b></p>
+<p>A complete tree would require 19,173,961 nodes for k = 8, Cmax = 255.</p>
+<dt>avoid building a fully populated tree, QUANTIZE</dt>
+<p>(1) Initializes data structures for nodes only as they are needed;  (2) Chooses a maximum depth for the tree as a function of the desired number of colors in the output image (currently log2(colormap size)).</p>
 
-<p>Classification builds a color description tree for the image. Reduction collapses the tree until the number it represents, at most, is the number of colors desired in the output image. Assignment defines the output image's color map and sets each pixel's color by reclassification in the reduced tree.  <var>Our goal is to minimize the numerical discrepancies between the original colors and quantized colors</var>. To learn more about quantization error, see <a href="quantize.html#measure">Measuring Color Reduction Error</a>.</p>
+<p>For each pixel in the input image, storage_class scans downward from the root of the color description tree.  At each level of the tree it identifies the single node which represents a cube in RGB space containing the pixel's color.  It updates the following data for each such node:</p>
 
-<p>Classification begins by initializing a color description tree of sufficient depth to represent each possible input color in a leaf. However, it is impractical to generate a fully-formed color description tree in the classification phase for realistic values of <var>Cmax</var>. If color components in the input image are quantized to <var>k</var>-bit precision, so that <var>Cmax</var> = <var>2^k-1</var>, the tree would need <var>k</var> levels below the root node to allow representing each possible input color in a leaf.  This becomes prohibitive because the tree's total number of nodes:</p>
+<pre class="text">
+    n1: Number of pixels whose color is contained in the RGB cube which
+    this node represents;
+</pre>
 
-<pre class="highlight"><code>total nodes = 1+Sum(8^i), i=1,k
+<p>n2: Number of pixels whose color is not represented in a node at lower depth in the tree;  initially,  n2 = 0 for all nodes except leaves of the tree.</p>
 
-For k=8,
-nodes = 1 + (8^1+8^2+....+8^8)
-      = 1 + 8(8^8 - 1)/(8 - 1)
-      = 19,173,961
-</code></pre>
+<p>Sr, Sg, Sb: Sums of the red, green, and blue component values for all pixels not classified at a lower depth. The combination of these sums and n2 will ultimately characterize the mean color of a set of pixels represented by this node.</p>
 
-<p>Therefore, to avoid building a fully populated tree, ImageMagick:</p>
+<p>E: the distance squared in RGB space between each pixel contained within a node and the nodes' center.  This represents the quantization error for a node.</p>
 
-<ol>
-  <li>initializes data structures for nodes only as they are needed;</li>
-  <li>chooses a maximum depth for the tree as a function of the desired number of colors in the output image (currently the <var>base-two</var> logarithm of <var>Cmax</var>).</li>
-</ol>
+<p>Reduction repeatedly prunes the tree until the number of nodes with n2 &gt; 0 is less than or equal to the maximum number of colors allowed in the output image.  On any given iteration over the tree, it selects those nodes whose E count is minimal for pruning and merges their color statistics upward. It uses a pruning threshold, Ep, to govern node selection as follows:</p>
 
-<pre class="highlight"><code>For Cmax=255,
-maximum tree depth = log<sub>2</sub>(256)
-                   = 8
-</code></pre>
+<dd>
+</dd>
 
-<p>A tree of this 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. Therefore, the caller can request a specific tree depth.</p>
+<dd> Ep = 0 while number of nodes with (n2 &gt; 0) &gt; required maximum number of colors prune all nodes such that E &lt;= Ep Set Ep to minimum E in remaining nodes </dd>
 
-<p>For each pixel in the input image, classification scans downward from the root of the color description tree. At each level of the tree, it identifies the single node which represents a cube in RGB space containing the pixels' color. It updates the following data for each such node:</p>
+<dd> This has the effect of minimizing any quantization error when merging two nodes together. </dd>
 
-<dl class="row">
-<dt class="col-md-4">n1</dt>
-       <dd class="col-md-8">number of pixels whose color is contained in the RGB cube which this node represents;</dd>
-<dt class="col-md-4">n2</dt>
-  <dd class="col-md-8">number of pixels whose color is not represented in a node at lower depth in the tree; initially, <var>n2=0</var> for all nodes except leaves of the tree.</dd>
-<dt class="col-md-4">Sr,Sg,Sb</dt>
-  <dd class="col-md-8">sums of the <var>red</var>, <var>green</var>, and <var>blue</var> component values for all pixels not classified at a lower depth. The combination of these sums and <var>n2</var> will ultimately characterize the mean color of a set of pixels represented by this node.</dd>
-<dt class="col-md-4">E</dt>
-  <dd class="col-md-8">the distance squared in RGB space between each pixel contained within a node and the nodes' center. This represents the quantization error for a node.</dd>
+<dd> When a node to be pruned has offspring, the pruning procedure invokes itself recursively in order to prune the tree from the leaves upward. n2,  Sr, Sg,  and  Sb in a node being pruned are always added to the corresponding data in that node's parent.  This retains the pruned node's color characteristics for later averaging. </dd>
+
+<dd> For each node, n2 pixels exist for which that node represents the smallest volume in RGB space containing those pixel's colors.  When n2 &gt; 0 the node will uniquely define a color in the output image. At the beginning of reduction,  n2 = 0  for all nodes except a the leaves of the tree which represent colors present in the input image. </dd>
+
+<dd> The other pixel count, n1, indicates the total number of colors within the cubic volume which the node represents.  This includes n1 - n2 pixels whose colors should be defined by nodes at a lower level in the tree. </dd>
+
+<dd> Assignment generates the output image from the pruned tree.  The output </dd>
+<dl class="dl-horizontal">
+<dt>parts</dt>
+<dd>(1)  A color map, which is an array of color descriptions (RGB triples) for each color present in the output image;  (2)  A pixel array, which represents each pixel as an index into the color map array. </dd>
+
+<dd> First, the assignment phase makes one pass over the pruned color description tree to establish the image's color map.  For each node with n2  &gt; 0, it divides Sr, Sg, and Sb by n2 .  This produces the mean color of all pixels that classify no lower than this node.  Each of these colors becomes an entry in the color map. </dd>
+
+<dd> Finally,  the assignment phase reclassifies each pixel in the pruned tree to identify the deepest node containing the pixel's color.  The pixel's value in the pixel array becomes the index of this node's mean color in the color map. </dd>
+
+<dd> This method is based on a similar algorithm written by Paul Raveling. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="AcquireQuantizeInfo">AcquireQuantizeInfo</a></h2>
+
+<p>AcquireQuantizeInfo() allocates the QuantizeInfo structure.</p>
+
+<p>The format of the AcquireQuantizeInfo method is:</p>
+
+<pre class="text">
+QuantizeInfo *AcquireQuantizeInfo(const ImageInfo *image_info)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image_info</dt>
+<dd>the image info. </dd>
+
+<dd>  </dd>
 </dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="CloneQuantizeInfo">CloneQuantizeInfo</a></h2>
 
-<p><b>Reduction</b></p>
+<p>CloneQuantizeInfo() makes a duplicate of the given quantize info structure, or if quantize info is NULL, a new one.</p>
 
-<p>Reduction repeatedly prunes the tree until the number of nodes with <var>n2</var> &gt; <var>0</var> is less than or equal to the maximum number of colors allowed in the output image. On any given iteration over the tree, it selects those nodes whose <var>E</var> value is minimal for pruning and merges their color statistics upward. It uses a pruning threshold, <var>Ep</var>, to govern node selection as follows:</p>
+<p>The format of the CloneQuantizeInfo method is:</p>
 
-<pre class="highlight"><code>Ep = 0
-while number of nodes with (n2 &gt; 0) &gt; required maximum number of colors
-   prune all nodes such that E &lt;= Ep
-   Set Ep  to minimum E in remaining nodes
-</code></pre>
+<pre class="text">
+QuantizeInfo *CloneQuantizeInfo(const QuantizeInfo *quantize_info)
+</pre>
 
-<p>This has the effect of minimizing any quantization error when merging two nodes together.</p>
+<p>A description of each parameter follows:</p>
 
-<p>When a node to be pruned has offspring, the pruning procedure invokes itself recursively in order to prune the tree from the leaves upward. The values of <var>n2</var>, <var>Sr</var>, <var>Sg</var>, and <var>Sb</var> in a node being pruned are always added to the corresponding data in that node's parent. This retains the pruned node's color characteristics for later averaging.</p>
+<dd>
+</dd>
 
-<p>For each node, <var>n2</var> pixels exist for which that node represents the smallest volume in RGB space containing those pixel's colors. When <var>n2</var> &gt; <var>0</var> the node will uniquely define a color in the output image. At the beginning of reduction, <var>n2</var> = <var>0</var> for all nodes except the leaves of the tree which represent colors present in the input image.</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>clone_info</dt>
+<dd>Method CloneQuantizeInfo returns a duplicate of the given quantize info, or if image info is NULL a new one. </dd>
 
-<p>The other pixel count, <var>n1</var>, indicates the total number of colors within the cubic volume which the node represents. This includes <var>n1</var> - <var>n2</var> pixels whose colors should be defined by nodes at a lower level in the tree.</p>
+<dd> </dd>
+<dt>quantize_info</dt>
+<dd>a structure of type info. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="CompressImageColormap">CompressImageColormap</a></h2>
 
-<p><b>Assignment</b></p>
+<p>CompressImageColormap() compresses an image colormap by removing any duplicate or unused color entries.</p>
 
-<p>Assignment generates the output image from the pruned tree. The output image consists of two parts:</p>
-<ol>
-  <li>A color map, which is an array of color descriptions (RGB triples) for each color present in the output image.</li>
+<p>The format of the CompressImageColormap method is:</p>
 
-  <li>A pixel array, which represents each pixel as an index into the color map array.</li>
-</ol>
+<pre class="text">
+MagickBooleanType CompressImageColormap(Image *image,
+  ExceptionInfo *exception)
+</pre>
 
-<p>First, the assignment phase makes one pass over the pruned color description tree to establish the image's color map. For each node with <var>n2</var> &gt; <var>0</var>, it divides <var>Sr</var>, <var>Sg</var>, and <var>Sb</var> by <var>n2</var>. This produces the mean color of all pixels that classify no lower than this node. Each of these colors becomes an entry in the color map.</p>
+<p>A description of each parameter follows:</p>
 
-<p>Finally, the assignment phase reclassifies each pixel in the pruned tree to identify the deepest node containing the pixel's color. The pixel's value in the pixel array becomes the index of this node's mean color in the color map.</p>
+<dd>
+</dd>
 
-<p>Empirical evidence suggests that the distances in color spaces such as YUV, or YIQ correspond to perceptual color differences more closely than do distances in RGB space.  These color spaces may give better results when color reducing an image. Here the algorithm is as described except each pixel is a point in the alternate color space. For convenience, the color components are normalized to the range 0 to a maximum value, <var>Cmax</var>. The color reduction can then proceed as described.</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image</dt>
+<dd>the image. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="DestroyQuantizeInfo">DestroyQuantizeInfo</a></h2>
 
-<h2 class="magick-post-title"><a class="anchor" id="measure"></a>Measuring Color Reduction Error</h2>
+<p>DestroyQuantizeInfo() deallocates memory associated with an QuantizeInfo structure.</p>
 
-<p>Depending on the image, the color reduction error may be obvious or invisible. Images with high spatial frequencies (such as hair or grass) will show error much less than pictures with large smoothly shaded areas (such as faces). This because the high-frequency contour edges introduced by the color reduction process are masked by the high frequencies in the image.</p>
+<p>The format of the DestroyQuantizeInfo method is:</p>
+
+<pre class="text">
+QuantizeInfo *DestroyQuantizeInfo(QuantizeInfo *quantize_info)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>quantize_info</dt>
+<dd>Specifies a pointer to an QuantizeInfo structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="GetImageQuantizeError">GetImageQuantizeError</a></h2>
 
-<p>To measure the difference between the original and color reduced images (the total color reduction error), ImageMagick sums over all pixels in an image the distance squared in RGB space between each original pixel value and its color reduced value. ImageMagick prints several error measurements including the mean error per pixel, the normalized mean error, and the normalized maximum error.</p>
+<p>GetImageQuantizeError() measures the difference between the original and quantized images.  This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.  These values are computed:</p>
 
-<p>The normalized error measurement can be used to compare images.  In general, the closer the mean error is to zero the more the quantized image resembles the source image. Ideally, the error should be perceptually-based, since the human eye is the final judge of quantization quality.</p>
+<pre class="text">
+    o mean_error_per_pixel:  This value is the mean error for any single
+pixel in the image.
+</pre>
 
-<p>These errors are measured and printed when the <a href="../../www/command-line-options.html#colors">-colors</a> and <a href="../../www/command-line-options.html#verbose">-verbose</a> options are specified on the <a href="../../www/convert.html">convert</a> command line:</p>
+<dt>normalized_mean_square_error</dt>
+<p>This value is the normalized mean quantization error for any single pixel in the image.  This distance measure is normalized to a range between 0 and 1.  It is independent of the range of red, green, and blue values in the image.</p>
 
-<div class="table-responsive">
-<table class="table table-sm table-striped">
-  <tr>
-    <td>mean error per pixel</td>
-    <td>is the mean error for any single pixel in the image.</td>
-  </tr>
-  <tr>
-    <td>normalized mean square error</td>
-    <td>is the normalized mean square quantization error for any single pixel in the image. This distance measure is normalized to a range between 0 and 1. It is independent of the range of red, green, and blue values in the image.</td>
-  </tr>
-  <tr>
-    <td>normalized maximum square error</td>
-    <td>is the largest normalized square quantization error for any single pixel in the image. This distance measure is normalized to a range between of red, green, and blue values in the image.</td>
-  </tr>
-</table></div>
+<dt>normalized_maximum_square_error</dt>
+<p>Thsi value is the normalized maximum quantization error for any single pixel in the image.  This distance measure is normalized to a range between 0 and 1.  It is independent of the range of red, green, and blue values in your image.</p>
+
+<p>The format of the GetImageQuantizeError method is:</p>
+
+<pre class="text">
+MagickBooleanType GetImageQuantizeError(Image *image,
+  ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows.</p>
+
+<dt>image</dt>
+<p>the image.</p>
+
+<dt>exception</dt>
+<p>return any errors or warnings in this structure.</p>
+
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="GetQuantizeInfo">GetQuantizeInfo</a></h2>
+
+<p>GetQuantizeInfo() initializes the QuantizeInfo structure.</p>
+
+<p>The format of the GetQuantizeInfo method is:</p>
+
+<pre class="text">
+GetQuantizeInfo(QuantizeInfo *quantize_info)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>quantize_info</dt>
+<dd>Specifies a pointer to a QuantizeInfo structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="PosterizeImage">PosterizeImage</a></h2>
+
+<p>PosterizeImage() reduces the image to a limited number of colors for a "poster" effect.</p>
+
+<p>The format of the PosterizeImage method is:</p>
+
+<pre class="text">
+MagickBooleanType PosterizeImage(Image *image,const size_t levels,
+  const DitherMethod dither_method,ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image</dt>
+<dd>Specifies a pointer to an Image structure. </dd>
+
+<dd> </dd>
+<dt>levels</dt>
+<dd>Number of color levels allowed in each channel.  Very low values (2, 3, or 4) have the most visible effect. </dd>
+
+<dd> </dd>
+<dt>dither_method</dt>
+<dd>choose from UndefinedDitherMethod, NoDitherMethod, RiemersmaDitherMethod, FloydSteinbergDitherMethod. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="QuantizeImage">QuantizeImage</a></h2>
 
+<p>QuantizeImage() analyzes the colors within a reference image and chooses a fixed number of colors to represent the image.  The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.</p>
+
+<p>The format of the QuantizeImage method is:</p>
+
+<pre class="text">
+MagickBooleanType QuantizeImage(const QuantizeInfo *quantize_info,
+  Image *image,ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>quantize_info</dt>
+<dd>Specifies a pointer to an QuantizeInfo structure. </dd>
+
+<dd> </dd>
+<dt>image</dt>
+<dd>the image. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="QuantizeImages">QuantizeImages</a></h2>
+
+<p>QuantizeImages() analyzes the colors within a set of reference images and chooses a fixed number of colors to represent the set.  The goal of the algorithm is to minimize the color difference between the input and output images while minimizing the processing time.</p>
+
+<p>The format of the QuantizeImages method is:</p>
+
+<pre class="text">
+MagickBooleanType QuantizeImages(const QuantizeInfo *quantize_info,
+  Image *images,ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>quantize_info</dt>
+<dd>Specifies a pointer to an QuantizeInfo structure. </dd>
+
+<dd> </dd>
+<dt>images</dt>
+<dd>Specifies a pointer to a list of Image structures. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="RemapImage">RemapImage</a></h2>
+
+<p>RemapImage() replaces the colors of an image with the closest of the colors from the reference image.</p>
+
+<p>The format of the RemapImage method is:</p>
+
+<pre class="text">
+MagickBooleanType RemapImage(const QuantizeInfo *quantize_info,
+  Image *image,const Image *remap_image,ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>quantize_info</dt>
+<dd>Specifies a pointer to an QuantizeInfo structure. </dd>
+
+<dd> </dd>
+<dt>image</dt>
+<dd>the image. </dd>
+
+<dd> </dd>
+<dt>remap_image</dt>
+<dd>the reference image. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="RemapImages">RemapImages</a></h2>
+
+<p>RemapImages() replaces the colors of a sequence of images with the closest color from a reference image.</p>
+
+<p>The format of the RemapImage method is:</p>
+
+<pre class="text">
+MagickBooleanType RemapImages(const QuantizeInfo *quantize_info,
+  Image *images,Image *remap_image,ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>quantize_info</dt>
+<dd>Specifies a pointer to an QuantizeInfo structure. </dd>
+
+<dd> </dd>
+<dt>images</dt>
+<dd>the image sequence. </dd>
+
+<dd> </dd>
+<dt>remap_image</dt>
+<dd>the reference image. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
+<h2><a href="../../api/MagickCore/quantize_8c.html" id="SetGrayscaleImage">SetGrayscaleImage</a></h2>
+
+<p>SetGrayscaleImage() converts an image to a PseudoClass grayscale image.</p>
+
+<p>The format of the SetGrayscaleImage method is:</p>
+
+<pre class="text">
+MagickBooleanType SetGrayscaleImage(Image *image,
+  ExceptionInfo *exception)
+</pre>
+
+<p>A description of each parameter follows:</p>
+
+<dd>
+</dd>
+
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image</dt>
+<dd>The image. </dd>
+
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
+
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -226,4 +510,4 @@ while number of nodes with (n2 &gt; 0) &gt; required maximum number of colors
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 16:34 -->
\ No newline at end of file
+<!-- Magick Cache 14th February 2018 10:38 -->
\ No newline at end of file
index 23157fbdb09ff625602a83fc91a268aef9b44826..4348278beb3f11189a3b5bf229a0b22e058ab255 100644 (file)
@@ -277,3 +277,4 @@ MagickBooleanType SetImageRegistry(const RegistryType type,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 21:46 -->
\ No newline at end of file
index f8a8969a0d3b20a0ca747c14163151adf3420871..0b6aa06eb5b8ea39e5849dff39b359897d9b4168 100644 (file)
@@ -467,3 +467,4 @@ Image *ThumbnailImage(const Image *image,const size_t columns,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 13:16 -->
\ No newline at end of file
index c84cbb99dcfdf1077d031901f28d2156ad93c057..8d1fd8fae9ce94d0cb33a8694538476b23147c39 100644 (file)
@@ -294,4 +294,4 @@ MagickBooleanType SetMagickResourceLimit(const ResourceType type,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 12:10 -->
\ No newline at end of file
index dc209566f154158c49bf9904c0891b92614c991c..7a9aa8dac58861c131ae418c9c8d6db9f665d035 100644 (file)
@@ -139,3 +139,4 @@ MagickBooleanType SegmentImage(Image *image,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 23:13 -->
\ No newline at end of file
index eef087f897a292b9d0a5daeaf53f5ea6fd3afe3e..28e779849e3ba539f67adfc5e7a8a4c31aef4318 100644 (file)
@@ -210,3 +210,4 @@ Image *ShearRotateImage(const Image *image,const double degrees,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 15th February 2018 10:02 -->
\ No newline at end of file
index 3341e509a520075bc31ade17412e1b868bc08b9b..d7a40cc1fca627174c33e679a6fccf96f67f4105 100644 (file)
@@ -132,4 +132,4 @@ MagickBooleanType SignatureImage(Image *image,ExceptionInfo *exception)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 16:38 -->
\ No newline at end of file
+<!-- Magick Cache 16th February 2018 03:54 -->
\ No newline at end of file
index 3e3c66252e744c85b5327a6865e3ff2b56911a4c..23134220dde084748d4674ab6706d1aef11b4f0d 100644 (file)
@@ -514,3 +514,4 @@ Image *StatisticImage(const Image *image,const StatisticType type,
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 08:55 -->
\ No newline at end of file
index b1c4591c3b0a45455579120d3c571b4c9b0ae9f9..52ad17c4bf8c86d387737e5ae0ae01989b32ab81 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>Command-line Tools: Stream @ ImageMagick</title>
+  <title>MagickCore, C API: The Pixel FIFO @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="command-line, tools:, stream, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="magickcore, c, api:, the, pixel, fifo, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="../../www/stream.html" rel="canonical" />
+  <link href="../../api/stream.html" rel="canonical" />
   <link href="../images/wand.png" rel="icon" />
   <link href="../images/wand.ico" rel="shortcut icon" />
   <link href="assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="stream.html#usage">Example Usage</a> • <a href="stream.html#options">Option Summary</a></p>
+<p class="text-center"><a href="stream.html#StreamImageCommand">StreamImageCommand</a></p>
 
-<p class="lead magick-description"><code>Stream</code> is a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats.  It writes the pixel components as they are read from the input image a row at a time making <code>stream</code> desirable when working with large images or when you require raw pixel components.</p>
+<h2><a href="../../api/MagickWand/stream_8c.html" id="StreamImageCommand">StreamImageCommand</a></h2>
 
-<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
+<p>StreamImageCommand() is a lightweight method designed to extract pixels from large image files to a raw format using a minimum of system resources. The entire image or any regular portion of the image can be extracted.</p>
 
-<p>We list a few examples of the <code>stream</code> command here to illustrate its usefulness and ease of use. To get started, lets stream the red, green, blue components of a 640x480 JPEG image to disk as unsigned characters:</p>
+<p>The format of the StreamImageCommand method is:</p>
 
-<pre class="highlight"><code>magick stream -map rgb -storage-type char image.jpg pixels.dat
-magick display -depth 8 -size 640x480 rgb:pixels.dat
-</code></pre>
+<pre class="text">
+MagickBooleanType StreamImageCommand(ImageInfo *image_info,int argc,
+  char **argv,char **metadata,ExceptionInfo *exception)
+</pre>
 
-<p>Here we extract a 100x100 region from a TIFF image in the grayscale format as doubles:</p>
+<p>A description of each parameter follows:</p>
 
-<pre class="highlight"><code>magick stream -map i -storage-type double -extract 100x100+30+40 image.tif gray.raw
-</code></pre>
+<dd>
+</dd>
 
-<p>You can also associate the region to extract with the image filename:</p>
+<dd> </dd>
+<dl class="dl-horizontal">
+<dt>image_info</dt>
+<dd>the image info. </dd>
 
-<pre class="highlight"><code>magick stream -map i -storage-type double 'image.tif[100x100+30+40]' gray.raw
-</code></pre>
+<dd> </dd>
+<dt>argc</dt>
+<dd>the number of elements in the argument vector. </dd>
 
+<dd> </dd>
+<dt>argv</dt>
+<dd>A text array containing the command line arguments. </dd>
 
-<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
+<dd> </dd>
+<dt>metadata</dt>
+<dd>any metadata is returned here. </dd>
 
-<p>The <code>stream</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
-
-<table class="table table-sm table-striped">
-  <tbody>
-  <tr>
-    <th align="left">Option</th>
-    <th align="left">Description</th>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
-    <td>decrypt image with this password</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#channel">-channel <var>type</var></a></td>
-    <td>apply option to select image channels</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
-    <td>set image colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#debug">-debug <var>events</var></a></td>
-    <td>display copious debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#define">-define <var>format:option</var></a></td>
-    <td>define one or more image format options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#density">-density <var>geometry</var></a></td>
-    <td>horizontal and vertical density of the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#depth">-depth <var>value</var></a></td>
-    <td>image depth</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
-    <td>extract area from image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#help">-help</a></td>
-    <td>print program options</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
-    <td>type of image interlacing scheme</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
-    <td>pixel color interpolation method</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
-    <td>pixel cache resource limit</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#list">-list <var>type</var></a></td>
-    <td>Color, Configure, Delegate, Format, Magic, Module, Resource, or Type</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#log">-log <var>format</var></a></td>
-    <td>format of debugging information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#stream-map">-map <var>components</var></a></td>
-    <td>store pixels in this format.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#monitor">-monitor</a></td>
-    <td>monitor progress</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
-    <td>reduce image colors in this colorspace</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#quiet">-quiet</a></td>
-    <td>suppress all warning messages</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
-    <td>pay attention to warning messages.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
-    <td>settings remain in effect until parenthesis boundary.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
-    <td>horizontal and vertical sampling factor</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#seed">-seed <var>value</var></a></td>
-    <td>seed a new sequence of pseudo-random numbers</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
-    <td>set an image attribute</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#size">-size <var>geometry</var></a></td>
-    <td>width and height of image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#storage-type">-storage-type <var>type</var></a></td>
-    <td>store pixels with this storage type.</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#synchronize">-synchronize</a></td>
-    <td>synchronize image to storage device</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#taint">-taint</a></td>
-    <td>mark the image as modified</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
-    <td>transparent color</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#verbose">-verbose</a></td>
-    <td>print detailed information about the image</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#version">-version</a></td>
-    <td>print version information</td>
-  </tr>
-
-  <tr>
-    <td><a href="../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
-    <td>access method for pixels outside the boundaries of the image</td>
-  </tr>
-
-  </tbody>
-</table>
+<dd> </dd>
+<dt>exception</dt>
+<dd>return any errors or warnings in this structure. </dd>
 
+<dd>  </dd>
+</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -296,4 +145,4 @@ magick display -depth 8 -size 640x480 rgb:pixels.dat
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:13 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 08:37 -->
\ No newline at end of file
index 6573aa828d2f3d1f38d631539f48e98e942221e0..0a7e7d3d9e4d9192a152838aa98e3bf634447a4e 100644 (file)
@@ -561,3 +561,4 @@ Image *TrimImage(const Image *image,ExceptionInfo *exception)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 16th February 2018 11:25 -->
\ No newline at end of file
index b00144eecbc8effce34ba8ffe1410de8bc60f20e..cc08d165e09cd49e31a9b4576a9b5ceb566f97d8 100644 (file)
@@ -294,4 +294,4 @@ void ListMagickVersion(FILE *file)
   <script>window.jQuery || document.write('<script src="../assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:38 -->
\ No newline at end of file
+<!-- Magick Cache 17th February 2018 18:06 -->
\ No newline at end of file
index 989d9d73c8f4980aa46ddb40314f67f43177cee4..393e82e49799a2c766c19bd5f2faa297660c9cc7 100644 (file)
@@ -585,4 +585,4 @@ MagickBooleanType UpdateWandViewIterator(WandView *source,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:46 -->
\ No newline at end of file
+<!-- Magick Cache 15th February 2018 12:11 -->
\ No newline at end of file
index be5eb2b7767b020bfb1c2613472dc286dd7d1722..1a004f32673b1eef6da5cdf0490acad15c972b99 100644 (file)
@@ -159,7 +159,7 @@ if (image == (Image *) NULL)
 
 <p>When the pixel cache is initialized, pixels are scaled from whatever bit depth they originated from to that required by the pixel cache.  For example, a 1-channel 1-bit monochrome PBM image is scaled to 8-bit gray image, if you are using the Q8 version of ImageMagick, and 16-bit RGBA for the Q16 version.  You can determine which version you have with the <a href="command-line-options.html#version">&#x2011;version</a> option: </p>
 
-<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>identify -version</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>Version: ImageMagick 7.0.7-18 2017-12-25 Q16 https://www.imagemagick.org</span></pre>
+<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>identify -version</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>Version: ImageMagick 7.0.7-22 2017-12-25 Q16 https://www.imagemagick.org</span></pre>
 <p>As you can see, the convenience of the pixel cache sometimes comes with a trade-off in storage (e.g. storing a 1-bit monochrome image as 16-bit is wasteful) and speed (i.e. storing the entire image in memory is generally slower than accessing one scanline of pixels at a time).  In most cases, the benefits of the pixel cache typically outweigh any disadvantages.</p>
 
 <h3><a class="anchor" id="authentic-pixels"></a>Access the Pixel Cache</h3>
@@ -1479,4 +1479,4 @@ ModuleExport size_t analyzeImage(Image **images,const int argc,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:40 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:46 -->
\ No newline at end of file
index beb600275e310d52effba58ae252ae0b3ac39b80..de71704cd8a82210953455a5d3eb49b0b6912809 100644 (file)
@@ -447,7 +447,7 @@ objShell.Exec("convert ""e:/myimages/image.png"" ""e:/myimages/image.jpg""")
 </p>
     <p><a href="binary-releases.html#">Back to top</a> •
     <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
-    <a href="www/www/www/www/www/www/www/www/www/../www/../www/../www/../www/../www/../www/../www/../www/https://www.imagemagick.org/script/contact.php">Contact Us</a></p>
+    <a href="www/www/www/www/www/www/www/www/www/../www/../www/../www/../www/../www/../www/../www/../www/../www/https://www.imagemagick.org/script/contact.php">Contact Us</a></p>
         <p><small>©  1999-2016 ImageMagick Studio LLC</small></p>
   </footer>
 </div><!-- /.container -->
index 8cbd47a3388fa6512515b107b3c80f7277dfbe01..10fedde900ee54fc8a1b550a75a0c569a0a59e5e 100644 (file)
   </header>
   <main role="main" class="container">
     <div class="magick-template">
-<div class="magick-header"><dl><dt>2017-12-26  7.0.7-18 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+<div class="magick-header"><dl><dt>2018-01-22  7.0.7-22 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+  <li> Release ImageMagick version 7.0.0-22, GIT revision 22391:e8be814f1:20180122.</li>
+<dt>2018-01-06  7.0.7-22 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+  <li> Support aspect ratio geometry, e.g. -crop 3:2.</li>
+  <li> Add support for reading the HEIC image format (reference    https://github.com/ImageMagick/ImageMagick/issues/507).</li>
+  <li> Fixed numerous memory leaks, credit to OSS Fuzz.</li>
+<dt>2018-01-06  7.0.7-21 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+  <li> Release ImageMagick version 7.0.0-21, GIT revision 22168:a91afc45b:20180106.</li>
+<dt>2018-01-06  7.0.7-21 Dirk Lemstra &lt;dirk@lem.....org&gt;</dt>
+  <li> Fix some enum values in the OpenCL code.</li>
+<dt>2018-01-06  7.0.7-20 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+  <li> Release ImageMagick version 7.0.7-20, GIT revision 22161:33a04d3e5:20180105.</li>
+<dt>2018-01-05  7.0.7-20 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+  <li> Fixed numerous memory leaks (reference    https://github.com/ImageMagick/ImageMagick/issues).</li>
+<dt>2018-01-01  7.0.7-19 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+  <li> Release ImageMagick version 7.0.7-19, GIT revision 22133:977fe08bf:20180101.</li>
+<dt>2017-12-29  7.0.7-19 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
+  <li> Check for webpmux library version 0.4.4 (reference    https://github.com/ImageMagick/ImageMagick/issues/896).</li>
+<dt>2017-12-26  7.0.7-18 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
   <li> Release ImageMagick version 7.0.7-18, GIT revision 22096:ad4bdeb40:20171228.</li>
 <dt>2017-12-28  7.0.7-18 Cristy  &lt;quetzlzacatenango@image...&gt;</dt>
   <li> Fix error reading from pipe under Windows (reference    https://www.imagemagick.org/discourse-server//viewtopic.html?f=3&amp;t=33288).</li>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:50 -->
\ No newline at end of file
index 8929a1e5373785e228d80145d0681bf431df0ab7..afe42a747df8910c08140c968465067f71a6c912 100644 (file)
@@ -164,4 +164,4 @@ Examples <a href="../Usage/transform/#encipher"
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 14:46 -->
\ No newline at end of file
index 6c197f134ba98388457c1fb6fd22b37ec4b18233..e54489d5a161dfbaffcd584ef60b9593c9584a0f 100644 (file)
@@ -162,4 +162,4 @@ magick myimage_channels_*.png -set colorspace HSL -combine -colorspace RGB -set
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:12 -->
\ No newline at end of file
index c9cef49f03a8f6db23506388a5d8d4ae6886c23f..0f064549e44e88ddc6467f11a9488bfc3f20a395 100644 (file)
@@ -4968,4 +4968,4 @@ device-cmyk(0.11, 0.48, 0.83, 0.00)</code></pre>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:38 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:03 -->
\ No newline at end of file
index 95bcd9a374d198b99331890a9132f52cd6534ec7..12511bf1dc4a542524fad4c805753184a9b030c7 100644 (file)
@@ -1822,6 +1822,12 @@ available:</p>
    is not available, such as when using the <a href="mogrify.html">mogrify</a>   utility.</td>
   </tr>
 
+  <tr>
+    <td>bmp:subtype=<var>RGB555|RGB565|ARGB4444|ARGB1555</var></td>
+    <td>BMP channel depth subtypes. Only support in BMP (BMP4). BMP3 and BMP2 do not 
+    contain header fields to support these options.</td>
+  </tr>
+
   <tr>
     <td>colorspace:auto-grayscale=<var>on|off</var></td>
     <td>prevent automatic conversion to grayscale inside coders that support
@@ -2325,6 +2331,12 @@ available:</p>
     inserts in the output PNG.</p></td>
   </tr>
 
+  <tr>
+    <td>png:ignore-crc[=<var>true</var>]</td>
+     <td>When you know your image has no CRC or ADLER32 errors, this can speed up 
+     decoding. It is also helpful in debugging bug reports from "fuzzers"</td>
+  </tr>
+
   <tr>
     <td>png:preserve-colormap[=<var>true</var>]</td>
      <td>Use the existing image->colormap. Normally the PNG encoder will
@@ -2502,7 +2514,7 @@ available:</p>
 
   <tr>
     <td>txt:compliance=<var>css</var></td>
-    <td> </td>
+    <td>The first argument of a hsl() color is integer, not percentage</td>
   </tr>
 
   <tr>
@@ -2632,7 +2644,7 @@ or CMYK, or to change the depth of any image after it has been read.</p>
   <h3><a class="anchor" id="direction"></a>-direction <var>type</var></h3>
 </div>
 
-<p class="magick-description">render text right-to-left or left-to-right.</p>
+<p class="magick-description">render text right-to-left or left-to-right.  Requires the <a href="https://github.com/HOST-Oman/libraqm">RAQM</a> delegate library and <a href="https://en.wikipedia.org/wiki/Complex_text_layout">complex text layout</a>.</p>
 
 <div style="margin: auto;">
   <h3><a class="anchor" id="displace"></a>-displace <var>horizontal-scale</var>{%}{!}<br />-displace <var>horizontal-scale</var>x<var>vertical-scale</var>{%}{!}</h3>
@@ -3354,10 +3366,7 @@ magick!</code> for an image titled <code>bird.miff</code>. </p>
 to annotate an image with text.</p>
 
 <p>The <code>rotate</code> primitive rotates subsequent shape primitives and
-text primitives about the origin of the main image. If the <a
-href="command-line-options.html#region">-region</a> option precedes the <a href="command-line-options.html#draw">-draw</a>
-option, the origin for transformations is the upper left corner of the
-region.</p>
+text primitives about the origin of the main image.</p>
 
 <p>The <code>translate</code> primitive translates subsequent shape and text
 primitives.</p>
@@ -8062,4 +8071,4 @@ but with strict boolean masking. </p>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:35 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:51 -->
\ No newline at end of file
index baae3b1d6c0832a4cc6a8affed2cb0e9a0091f24..9826e1693247ade319ab5c6f82decf6e92ecf8d4 100644 (file)
@@ -94,7 +94,7 @@
   \( -clone 0 -shade 110x50 -normalize -channel BG -fx 0 +channel -matte \) \
   -delete 0 +swap  -compose Multiply -composite  button.gif");</code></pre>
 
-<p class="bg-info">This example command is long enough that the command must be written across several lines, so we formatted it for clarity by inserting backslashes (<code>\</code>). The backslash is the Unix <var>line-continuation</var> character. In the Windows shell, use a carat character (<code>^</code>) for line-continuation. We use the Unix style on these web pages, as above. Sometimes, however, the lines are wrapped by your browser if the browser window is small enough, but the command-lines, shown in white, are still intended to be typed as one line. Line continuation characters need not be entered. The <var>parentheses</var> that are <var>escaped</var> above using the backslash are not escaped in Windows. There are some other differences between Windows and Unix (involving quotation marks, for instance), but we'll discuss some of those issues later, as they arise. </p>
+<p class="text-info">This example command is long enough that the command must be written across several lines, so we formatted it for clarity by inserting backslashes (<code>\</code>). The backslash is the Unix <var>line-continuation</var> character. In the Windows shell, use a carat character (<code>^</code>) for line-continuation. We use the Unix style on these web pages, as above. Sometimes, however, the lines are wrapped by your browser if the browser window is small enough, but the command-lines, shown in white, are still intended to be typed as one line. Line continuation characters need not be entered. The <var>parentheses</var> that are <var>escaped</var> above using the backslash are not escaped in Windows. There are some other differences between Windows and Unix (involving quotation marks, for instance), but we'll discuss some of those issues later, as they arise. </p>
 
 <p>Without knowing much about the ImageMagick command-line, you can probably surmise that the first command above converts an image in the JPEG format to one in the PNG format.  However, very few may realize the second, more complex command, gives a flat two-dimensional label a three-dimensional look with rich textures and simulated depth:</p>
 
@@ -229,7 +229,7 @@ so we explicitly set one:
 
 <pre class="highlight"><code>magick 'images.gif[0]' image.png</code></pre>
 
-<p class="bg-info">Unix shells generally interpret brackets so we enclosed the filename in quotes above.
+<p class="text-info">Unix shells generally interpret brackets so we enclosed the filename in quotes above.
 In a Windows command shell the brackets are not interpreted but using quotes doesn't hurt. However, in most cases the roles of single-quotes and double-quotes are reversed with respect to Unix and Windows, so Windows users should usually try double-quotes where we display single-quotes, and vice versa.
 </p>
 
@@ -462,6 +462,10 @@ setting for more specifics.</p>
   <tr>
     <td><var>area</var>@</td>
     <td>Resize image to have specified area in pixels. Aspect ratio is preserved.</td>
+  <tr>
+    <td><var>x</var>:<var>y</var>~</td>
+    <td>Here x and y denotes an aspect ratio (e.g. 3:2 = 1.5).</td>
+  </tr>
   </tr>
   <tr>
     <td>{<var>size</var>}{<var>offset</var>}</td>
@@ -515,7 +519,7 @@ magick logo: -resize '100x200&lt;' wiz4.png</code></pre>
 
 <pre class="highlight"><code>magick logo: -resize '10000@' wiz10000.png</code></pre>
 
-<p class="bg-info">In all the examples above and below, we have enclosed the <var>geometry</var> arguments  within quotation marks. Doing so is optional in many cases, but not always. We <var>must</var> enclose the geometry specifications in quotation marks when using <code>&lt;</code> or <code>&gt;</code> to prevent these characters from being interpreted by the shell as <var>file redirection</var>. On Windows systems, the carat <code>^</code>  needs to be within quotes, else it is ignored. To be safe, one should probably maintain a habit of enclosing all <var>geometry</var> arguments in quotes, as we have here.
+<p class="text-info">In all the examples above and below, we have enclosed the <var>geometry</var> arguments  within quotation marks. Doing so is optional in many cases, but not always. We <var>must</var> enclose the geometry specifications in quotation marks when using <code>&lt;</code> or <code>&gt;</code> to prevent these characters from being interpreted by the shell as <var>file redirection</var>. On Windows systems, the carat <code>^</code>  needs to be within quotes, else it is ignored. To be safe, one should probably maintain a habit of enclosing all <var>geometry</var> arguments in quotes, as we have here.
 </p>
 
 <h4>Offsets in geometry</h4>
@@ -543,7 +547,7 @@ magick logo: -gravity center -region '100x200-10+20' -negate wizNeg3.png</code><
 <pre class="highlight"><code>magick wand.gif \( wizard.gif -rotate 30 \) +append images.gif</code></pre>
 
 
-<p class="bg-info">Notice again that the  parentheses are <var>escaped</var> by preceding them with
+<p class="text-info">Notice again that the  parentheses are <var>escaped</var> by preceding them with
 backslashes.  This is required under Unix, where parentheses are special
 <var>shell</var> characters.  The backslash tells the shell not to interpret
 these characters, but to pass them directly to the command being executed. Do
@@ -635,4 +639,4 @@ image-2.jpg</pre>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:36 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:54 -->
\ No newline at end of file
index ff07d285e55f4405e7115802563115d108acaa79..0569ba3b5672de6c5ab61c662f1712eaf3b47315 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:54 -->
\ No newline at end of file
index 14b198c4f2891e3be980da2e8916c4f65d21a7d2..7e49aea50a23120bb0ed083368d9c82e6f2eae5c 100644 (file)
@@ -447,4 +447,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:10 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:37 -->
\ No newline at end of file
index 362f5f0923cd92ebc744f5a72525e90c9d7c1e5a..bc2fb1702a02fee0321e83293e457633c7f306e8 100644 (file)
@@ -648,4 +648,4 @@ href="../www/command-line-options.html#list">-list compose</a>.</p>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:03 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 14:40 -->
\ No newline at end of file
index 45c39b13a80c5d91f294306ac7d24921527e2790..4365b07339e7eaae2d4dd0267c096f0abeb4e1e3 100644 (file)
@@ -551,4 +551,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:54 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:49 -->
\ No newline at end of file
index eb52f0085630580b1265d00cfb09f423f959d900..2d54cdfeef2aa19277d753e25e0eb317b3acba9d 100644 (file)
@@ -1160,4 +1160,4 @@ fill="color name", channel="All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:21 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 15:11 -->
\ No newline at end of file
index e3f06deda43b2e995b199c5e4017421dfc771c47..6a06eeecfd0de6b7d86dfc439d842fb1ccd5db01 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:59 -->
\ No newline at end of file
index e57c34be745b6523cfe0101ffb8e3adcf2fdcacd..e71ff4c3f4be7fe7f06223cc9738c57b48614c31 100644 (file)
@@ -1350,4 +1350,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:52 -->
\ No newline at end of file
index ccb8de3179c0934b3e2309239ae21f2d299728cc..08207460653adde25f5b05cb56888ab7850c0dd6 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:56 -->
\ No newline at end of file
index 1dfe32286ad44449336f2c2fcfff17a3e3deebf3..34014b4919e85aa577b9a1c8b5336823dd3642cc 100644 (file)
@@ -591,4 +591,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:11 -->
\ No newline at end of file
index 501db375fff37a1c2280456e5e99eff69a889e0c..8675d497c0e6911b5edd54badbd8cfdf7b5d6e37 100644 (file)
@@ -120,4 +120,4 @@ convert -limit memory 1GiB -limit map 2GiB -limit disk 4GiB \
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:47 -->
\ No newline at end of file
index 1799aa144b4f651bc5a13d5fbdaf81729314d624..9a3b2cbcd8e2825bee33a84368860a969444beb6 100644 (file)
   </tr>
 
   <tr>
-      <td>ImageMagick-7.0.7-18.x86_64.rpm</td>
-      <td><a href= "https://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-7.0.7-18.x86_64.rpm">download</a></td>
-    <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/linux/CentOS/x86_64/ImageMagick-7.0.7-18.x86_64.rpm">download</a></td>
+      <td>ImageMagick-7.0.7-22.x86_64.rpm</td>
+      <td><a href= "https://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-7.0.7-22.x86_64.rpm">download</a></td>
+    <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/linux/CentOS/x86_64/ImageMagick-7.0.7-22.x86_64.rpm">download</a></td>
     <td>Redhat / CentOS 7.1 x86_64 RPM</td>
   </tr>
 
   <tr>
-      <td>ImageMagick-libs-7.0.7-18.x86_64.rpm</td>
-      <td><a href= "https://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-libs-7.0.7-18.x86_64.rpm">download</a></td>
-    <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/linux/CentOS/x86_64/ImageMagick-libs-7.0.7-18.x86_64.rpm">download</a></td>
+      <td>ImageMagick-libs-7.0.7-22.x86_64.rpm</td>
+      <td><a href= "https://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-libs-7.0.7-22.x86_64.rpm">download</a></td>
+    <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/linux/CentOS/x86_64/ImageMagick-libs-7.0.7-22.x86_64.rpm">download</a></td>
     <td>Redhat / CentOS 7.1 x86_64 RPM</td>
   </tr>
 
 
 <p>ImageMagick RPM's are self-installing.  Simply type the following command and you're ready to start using ImageMagick:</p>
 
-<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>rpm -Uvh ImageMagick-7.0.7-18.x86_64.rpm</span></pre><p>You'll need the libraries as well:</p>
-<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>rpm -Uvh ImageMagick-libs-7.0.7-18.x86_64.rpm</span></pre>
+<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>rpm -Uvh ImageMagick-7.0.7-22.x86_64.rpm</span></pre><p>You'll need the libraries as well:</p>
+<pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>rpm -Uvh ImageMagick-libs-7.0.7-22.x86_64.rpm</span></pre>
 <p>For other systems, create (or choose) a directory to install the package into and change to that directory, for example:</p>
 
 <pre class="highlight"><code>cd $HOME</code></pre>
@@ -260,7 +260,7 @@ display logo.gif</code></pre>
 
 <p>To run the script:</p>
 <pre class="highlight"><code>./imagemagick_compile.sh <var>VERSION</var></code></pre>
-<p>where <var>VERSION</var> is the version of ImageMagick you want to compile (i.e.: 7.0.7-18, svn, ...)</p>
+<p>where <var>VERSION</var> is the version of ImageMagick you want to compile (i.e.: 7.0.7-22, svn, ...)</p>
 
 <p>This script compiles ImageMagick as a static library to be included in iOS projects and adds support for</p>
 <ul>
@@ -309,9 +309,9 @@ display logo.gif</code></pre>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-x64-dll.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-x64-dll.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-x64-dll.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-x64-dll.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-x64-dll.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-x64-dll.exe">download</a></td>
     <td>Win64 dynamic at 16 bits-per-pixel component</td>
   </tr>
 </table></div>
@@ -329,93 +329,93 @@ display logo.gif</code></pre>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-x64-static.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-x64-static.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-x64-static.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-x64-static.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-x64-static.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-x64-static.exe">download</a></td>
    <td>Win64 static at 16 bits-per-pixel component</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q8-x64-dll.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q8-x64-dll.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q8-x64-dll.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q8-x64-dll.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q8-x64-dll.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q8-x64-dll.exe">download</a></td>
    <td>Win64 dynamic at 8 bits-per-pixel component</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q8-x64-static.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q8-x64-static.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q8-x64-static.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q8-x64-static.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q8-x64-static.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q8-x64-static.exe">download</a></td>
     <td>Win64 static at 8 bits-per-pixel component</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-HDRI-x64-dll.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x64-dll.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x64-dll.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-HDRI-x64-dll.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x64-dll.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x64-dll.exe">download</a></td>
     <td>Win64 dynamic at 16 bits-per-pixel component with <a href="high-dynamic-range.html">high dynamic-range imaging</a> enabled</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-HDRI-x64-static.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x64-static.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x64-static.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-HDRI-x64-static.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x64-static.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x64-static.exe">download</a></td>
     <td>Win64 static at 16 bits-per-pixel component with <a href="high-dynamic-range.html">high dynamic-range imaging</a> enabled</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-x86-dll.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-x86-dll.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-x86-dll.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-x86-dll.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-x86-dll.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-x86-dll.exe">download</a></td>
     <td>Win32 dynamic at 16 bits-per-pixel component</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-x86-static.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-x86-static.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-x86-static.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-x86-static.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-x86-static.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-x86-static.exe">download</a></td>
     <td>Win32 static at 16 bits-per-pixel component</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q8-x86-dll.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q8-x86-dll.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q8-x86-dll.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q8-x86-dll.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q8-x86-dll.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q8-x86-dll.exe">download</a></td>
     <td>Win32 dynamic at 8 bits-per-pixel component</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q8-x86-static.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q8-x86-static.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q8-x86-static.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q8-x86-static.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q8-x86-static.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q8-x86-static.exe">download</a></td>
     <td>Win32 static at 8 bits-per-pixel component</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-HDRI-x86-dll.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x86-dll.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x86-dll.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-HDRI-x86-dll.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x86-dll.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x86-dll.exe">download</a></td>
     <td>Win32 dynamic at 16 bits-per-pixel component with <a href="high-dynamic-range.html">high dynamic-range imaging</a> enabled</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-Q16-HDRI-x86-static.exe</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x86-static.exe">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-Q16-HDRI-x86-static.exe">download</a></td>
+        <td>ImageMagick-7.0.7-22-Q16-HDRI-x86-static.exe</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x86-static.exe">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-Q16-HDRI-x86-static.exe">download</a></td>
     <td>Win32 static at 16 bits-per-pixel component with <a href="high-dynamic-range.html">high dynamic-range imaging</a> enabled</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-portable-Q16-x86.zip</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-portable-Q16-x86.zip">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-portable-Q16-x86.zip">download</a></td>
+        <td>ImageMagick-7.0.7-22-portable-Q16-x86.zip</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-portable-Q16-x86.zip">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-portable-Q16-x86.zip">download</a></td>
     <td>Portable Win32 static at 16 bits-per-pixel component.  Just copy to your host and run (no installer, no Windows registry entries).</td>
   </tr>
 
   <tr>
-        <td>ImageMagick-7.0.7-18-portable-Q16-x64.zip</td>
-        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-18-portable-Q16-x64.zip">download</a></td>
-      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-18-portable-Q16-x64.zip">download</a></td>
+        <td>ImageMagick-7.0.7-22-portable-Q16-x64.zip</td>
+        <td><a href= "https://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-22-portable-Q16-x64.zip">download</a></td>
+      <td><a href="ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-7.0.7-22-portable-Q16-x64.zip">download</a></td>
     <td>Portable Win64 static at 16 bits-per-pixel component.  Just copy to your host and run (no installer, no Windows registry entries).</td>
   </tr>
 </table></div>
@@ -462,4 +462,4 @@ objShell.Exec("magick ""e:/myimages/image.png"" ""e:/myimages/image.jpg""")</cod
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:53 -->
\ No newline at end of file
index 0ff4a04a07342096aaa30ea11d8789140e902d04..4be26e9f4373a1ad896dd306ed6053f9b6c9c689 100644 (file)
@@ -907,4 +907,4 @@ Post ObjectData Descriptor Record
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:06 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:41 -->
\ No newline at end of file
index 7ef5b7b304c3800ff8ba317c30774905e78f7a69..ae72f1e0d1452ecc55658d8ee9e9c510e5de54c1 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:55 -->
\ No newline at end of file
index 62a5c8d7f91853295aeeb0f4082310c38c4f85b5..66d92a22361879216b769338da0283f3a05d725b 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
+<!-- Magick Cache 18th February 2018 18:23 -->
\ No newline at end of file
index 7998da0ae16c5bfc68d1877f66d4df1c75c95767..794e0cce0f2ae5b6eae6d2e007123a6efdcca173 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
index 8e70286af2a8f219c262c9b164ff212b5616b96a..d89270fd60afc7aa22c10fef24733f3be2a7ea1a 100644 (file)
@@ -468,6 +468,13 @@ the supported image formats.</p>
     <td> </td>
   </tr>
 
+  <tr>
+    <td><a href="https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format">HEIC</a></td>
+    <td>R</td>
+    <td>Apple High efficiency Image Format</td>
+    <td> </td>
+  </tr>
+
   <tr>
     <td>HPGL</td>
     <td>R</td>
@@ -2001,4 +2008,4 @@ the supported image formats.</p>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:59 -->
\ No newline at end of file
index 58243d885b4972f504cf73aa9ea2948b68d1fad4..3e0b1b187a96b4385bd1ed61421e20157bd6d808 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>MagickCore, C API: Add a Special Effect @ ImageMagick</title>
+  <title>The Fx Special Effects Image Operator @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="magickcore, c, api:, add, a, special, effect, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="the, fx, special, effects, image, operator, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="api/fx.html" rel="canonical" />
+  <link href="../www/fx.html" rel="canonical" />
   <link href="../images/wand.png" rel="icon" />
   <link href="../images/wand.ico" rel="shortcut icon" />
   <link href="assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="fx.html#AddNoiseImage">AddNoiseImage</a> &#8226; <a href="fx.html#BlueShiftImage">BlueShiftImage</a> &#8226; <a href="fx.html#CharcoalImage">CharcoalImage</a> &#8226; <a href="fx.html#ColorizeImage">ColorizeImage</a> &#8226; <a href="fx.html#ColorMatrixImage">ColorMatrixImage</a> &#8226; <a href="fx.html#FxImage">FxImage</a> &#8226; <a href="fx.html#ImplodeImage">ImplodeImage</a> &#8226; <a href="fx.html#The MorphImages">The MorphImages</a> &#8226; <a href="fx.html#PlasmaImage">PlasmaImage</a> &#8226; <a href="fx.html#PolaroidImage">PolaroidImage</a> &#8226; <a href="fx.html#MagickSepiaToneImage">MagickSepiaToneImage</a> &#8226; <a href="fx.html#ShadowImage">ShadowImage</a> &#8226; <a href="fx.html#SketchImage">SketchImage</a> &#8226; <a href="fx.html#SolarizeImage">SolarizeImage</a> &#8226; <a href="fx.html#SteganoImage">SteganoImage</a> &#8226; <a href="fx.html#StereoAnaglyphImage">StereoAnaglyphImage</a> &#8226; <a href="fx.html#SwirlImage">SwirlImage</a> &#8226; <a href="fx.html#TintImage">TintImage</a> &#8226; <a href="fx.html#VignetteImage">VignetteImage</a> &#8226; <a href="fx.html#WaveImage">WaveImage</a> &#8226; <a href="fx.html#WaveletDenoiseImage">WaveletDenoiseImage</a></p>
-
-<h2><a href="api/MagickCore/fx_8c.html" id="AddNoiseImage">AddNoiseImage</a></h2>
-
-<p>AddNoiseImage() adds random noise to the image.</p>
-
-<p>The format of the AddNoiseImage method is:</p>
-
-<pre class="text">
-Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
-  const double attenuate,ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>channel</dt>
-<dd>the channel type. </dd>
-
-<dd> </dd>
-<dt>noise_type</dt>
-<dd> The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson. </dd>
-
-<dd> </dd>
-<dt>attenuate</dt>
-<dd> attenuate the random distribution. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="BlueShiftImage">BlueShiftImage</a></h2>
-
-<p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p>
-
-<p>The format of the BlueShiftImage method is:</p>
-
-<pre class="text">
-Image *BlueShiftImage(const Image *image,const double factor,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>factor</dt>
-<dd>the shift factor. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="CharcoalImage">CharcoalImage</a></h2>
-
-<p>CharcoalImage() creates a new image that is a copy of an existing one with the edge highlighted.  It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p>
-
-<p>The format of the CharcoalImage method is:</p>
-
-<pre class="text">
-Image *CharcoalImage(const Image *image,const double radius,
-  const double sigma,ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>radius</dt>
-<dd>the radius of the pixel neighborhood. </dd>
-
-<dd> </dd>
-<dt>sigma</dt>
-<dd>the standard deviation of the Gaussian, in pixels. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="ColorizeImage">ColorizeImage</a></h2>
-
-<p>ColorizeImage() blends the fill color with each pixel in the image. A percentage blend is specified with opacity.  Control the application of different color components by specifying a different percentage for each component (e.g. 90/100/10 is 90 red, 100 green, and 10 blue).</p>
-
-<p>The format of the ColorizeImage method is:</p>
-
-<pre class="text">
-Image *ColorizeImage(const Image *image,const char *blend,
-  const PixelInfo *colorize,ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>blend</dt>
-<dd> A character string indicating the level of blending as a percentage. </dd>
-
-<dd> </dd>
-<dt>colorize</dt>
-<dd>A color value. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="ColorMatrixImage">ColorMatrixImage</a></h2>
-
-<p>ColorMatrixImage() applies color transformation to an image. This method permits saturation changes, hue rotation, luminance to alpha, and various other effects.  Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets).  The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255).</p>
-
-<p>The format of the ColorMatrixImage method is:</p>
-
-<pre class="text">
-Image *ColorMatrixImage(const Image *image,
-  const KernelInfo *color_matrix,ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>color_matrix</dt>
-<dd> the color matrix. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="FxImage">FxImage</a></h2>
-
-<p>FxImage() applies a mathematical expression to the specified image.</p>
-
-<p>The format of the FxImage method is:</p>
-
-<pre class="text">
-Image *FxImage(const Image *image,const char *expression,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>expression</dt>
-<dd>A mathematical expression. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="ImplodeImage">ImplodeImage</a></h2>
-
-<p>ImplodeImage() creates a new image that is a copy of an existing one with the image pixels "implode" by the specified percentage.  It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p>
-
-<p>The format of the ImplodeImage method is:</p>
-
-<pre class="text">
-Image *ImplodeImage(const Image *image,const double amount,
-  const PixelInterpolateMethod method,ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>implode_image</dt>
-<dd>Method ImplodeImage returns a pointer to the image after it is implode.  A null image is returned if there is a memory shortage. </dd>
-
-<dd> </dd>
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>amount</dt>
-<dd> Define the extent of the implosion. </dd>
-
-<dd> </dd>
-<dt>method</dt>
-<dd>the pixel interpolation method. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="The_MorphImages">The MorphImages</a></h2>
-
-<p>The MorphImages() method requires a minimum of two images.  The first image is transformed into the second by a number of intervening images as specified by frames.</p>
-
-<p>The format of the MorphImage method is:</p>
-
-<pre class="text">
-Image *MorphImages(const Image *image,const size_t number_frames,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>number_frames</dt>
-<dd> Define the number of in-between image to generate. The more in-between frames, the smoother the morph. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="PlasmaImage">PlasmaImage</a></h2>
-
-<p>PlasmaImage() initializes an image with plasma fractal values.  The image must be initialized with a base color and the random number generator seeded before this method is called.</p>
-
-<p>The format of the PlasmaImage method is:</p>
-
-<pre class="text">
-MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
-  size_t attenuate,size_t depth,ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>segment</dt>
-<dd>  Define the region to apply plasma fractals values. </dd>
-
-<dd> </dd>
-<dt>attenuate</dt>
-<dd>Define the plasma attenuation factor. </dd>
-
-<dd> </dd>
-<dt>depth</dt>
-<dd>Limit the plasma recursion depth. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="PolaroidImage">PolaroidImage</a></h2>
-
-<p>PolaroidImage() simulates a Polaroid picture.</p>
-
-<p>The format of the PolaroidImage method is:</p>
-
-<pre class="text">
-Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
-  const char *caption,const double angle,
-  const PixelInterpolateMethod method,ExceptionInfo exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>draw_info</dt>
-<dd>the draw info. </dd>
-
-<dd> </dd>
-<dt>caption</dt>
-<dd>the Polaroid caption. </dd>
-
-<dd> </dd>
-<dt>angle</dt>
-<dd>Apply the effect along this angle. </dd>
-
-<dd> </dd>
-<dt>method</dt>
-<dd>the pixel interpolation method. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
-
-<p>MagickSepiaToneImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning.  Threshold ranges from 0 to QuantumRange 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>
-
-<p>The format of the SepiaToneImage method is:</p>
-
-<pre class="text">
-Image *SepiaToneImage(const Image *image,const double threshold,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>threshold</dt>
-<dd>the tone threshold. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="ShadowImage">ShadowImage</a></h2>
-
-<p>ShadowImage() simulates a shadow from the specified image and returns it.</p>
-
-<p>The format of the ShadowImage method is:</p>
-
-<pre class="text">
-Image *ShadowImage(const Image *image,const double alpha,
-  const double sigma,const ssize_t x_offset,const ssize_t y_offset,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>alpha</dt>
-<dd>percentage transparency. </dd>
-
-<dd> </dd>
-<dt>sigma</dt>
-<dd>the standard deviation of the Gaussian, in pixels. </dd>
-
-<dd> </dd>
-<dt>x_offset</dt>
-<dd>the shadow x-offset. </dd>
-
-<dd> </dd>
-<dt>y_offset</dt>
-<dd>the shadow y-offset. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="SketchImage">SketchImage</a></h2>
-
-<p>SketchImage() simulates a pencil sketch.  We convolve the image 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 and SketchImage() selects a suitable radius for you.  Angle gives the angle of the sketch.</p>
-
-<p>The format of the SketchImage method is:</p>
-
-<pre class="text">
-    Image *SketchImage(const Image *image,const double radius,
-const double sigma,const double angle,ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>radius</dt>
-<dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
-
-<dd> </dd>
-<dt>sigma</dt>
-<dd>the standard deviation of the Gaussian, in pixels. </dd>
-
-<dd> </dd>
-<dt>angle</dt>
-<dd>apply the effect along this angle. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="SolarizeImage">SolarizeImage</a></h2>
-
-<p>SolarizeImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light.  Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.</p>
-
-<p>The format of the SolarizeImage method is:</p>
-
-<pre class="text">
-MagickBooleanType SolarizeImage(Image *image,const double threshold,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>threshold</dt>
-<dd> Define the extent of the solarization. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="SteganoImage">SteganoImage</a></h2>
-
-<p>SteganoImage() hides a digital watermark within the image.  Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.</p>
-
-<p>The format of the SteganoImage method is:</p>
-
-<pre class="text">
-Image *SteganoImage(const Image *image,Image *watermark,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>watermark</dt>
-<dd>the watermark image. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
-
-<p>StereoAnaglyphImage() combines two images and produces a single image that is the composite of a left and right image of a stereo pair.  Special red-green stereo glasses are required to view this effect.</p>
-
-<p>The format of the StereoAnaglyphImage method is:</p>
-
-<pre class="text">
-Image *StereoImage(const Image *left_image,const Image *right_image,
-  ExceptionInfo *exception)
-Image *StereoAnaglyphImage(const Image *left_image,
-  const Image *right_image,const ssize_t x_offset,const ssize_t y_offset,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>left_image</dt>
-<dd>the left image. </dd>
-
-<dd> </dd>
-<dt>right_image</dt>
-<dd>the right image. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd> </dd>
-<dt>x_offset</dt>
-<dd>amount, in pixels, by which the left image is offset to the right of the right image. </dd>
-
-<dd> </dd>
-<dt>y_offset</dt>
-<dd>amount, in pixels, by which the left image is offset to the bottom of the right image. </dd>
-
-<dd> </dd>
-
-<dd>  </dd>
+<p class="text-center"><a href="fx.html#fx">The Fx Special Effects Image Operator</a> • <a href="fx.html#anatomy">The Anatomy of an Fx Expression</a></p>
+
+<a class="anchor" id="fx"></a>
+
+<p class="lead magick-description">Use the Fx special effects image operator to apply a mathematical expression to an image or image channels.  Use Fx to:</p>
+
+<ul>
+  <li>create canvases, gradients, mathematical colormaps</li>
+  <li>move color values between images and channels</li>
+  <li>translate, flip, mirror, rotate, scale, shear and generally distort images</li>
+  <li>merge or composite multiple images together</li>
+  <li>convolve or merge neighboring pixels together</li>
+  <li>generate image metrics or 'fingerprints'</li>
+</ul>
+
+<p>The expression can be simple:</p>
+
+<pre class="highlight"><code>convert -size 64x64 canvas:black -channel blue -fx "1/2" fx_navy.png
+</code></pre>
+
+<p>Here, we convert a black to a navy blue image:</p>
+
+<ul>
+  <a href="../images/black.png"><img src="../images/black.png" width="64" height="64" alt="black" /></a>
+  <img style="margin-top:22px; margin-bottom:22px;" src="../images/right.gif" width="20" height="20" alt="==>" />
+  <a href="../images/navy.png"><img src="../images/navy.png" width="64" height="64" alt="navy" /></a>
+</ul>
+
+<p>Or the expression can be complex:</p>
+
+<pre class="highlight"><code>convert rose.jpg \  
+  -fx "(1.0/(1.0+exp(10.0*(0.5-u)))-0.006693)*1.0092503" \ 
+  rose-sigmoidal.png'
+</code></pre>
+
+<p>This expression results in a high contrast version of the image:</p>
+
+<ul>
+  <a href="../images/rose.jpg"><img src="../images/rose.jpg" width="70" height="46" alt="rose" /></a>
+  <img style="margin-top:13px; margin-bottom:13px;" src="../images/right.gif" width="20" height="20" alt="==>" />
+  <a href="../images/rose-sigmoidal.png"><img src="../images/rose-sigmoidal.png" width="70" height="46" alt="rose-sigmoidal" /></a>
+</ul>
+
+<p>The expression can include variable assignments.  Assignments, in most cases, reduce the complexity of an expression and permit some operations that might not be possible any other way.  For example, lets create a radial gradient:</p>
+
+<pre class="highlight"><code>convert -size 70x70 canvas: \
+  -fx "Xi=i-w/2; Yj=j-h/2; 1.2*(0.5-hypot(Xi,Yj)/70.0)+0.5" 
+  radial-gradient.png'
+</code></pre>
+
+<p>The command above returns this image:</p>
+
+<ul>
+  <a href="../images/radial-gradient.png"><img src="../images/radial-gradient.png" width="70" height="70" alt="radial-gradient" /></a>
+</ul>
+
+<p>This FX expression adds random noise to an image:</p>
+
+<pre class="highlight"><code>convert photo.jpg -fx \'iso=32; rone=rand(); rtwo=rand(); \
+  myn=sqrt(-2*ln(rone))*cos(2*Pi*rtwo); myntwo=sqrt(-2*ln(rtwo))* \
+  cos(2*Pi*rone); pnoise=sqrt(p)*myn*sqrt(iso)* \ 
+  channel(4.28,3.86,6.68,0)/255; max(0,p+pnoise)\' noisy.png
+</code></pre>
+
+<p>See <a href="../Usage/transform/index.html#fx">Using FX, The Special Effects Image Operator</a> for more examples.</p>
+
+<p>The next section discusses the Fx expression language.</p>
+
+<h2 class="magick-post-title"><a class="anchor" id="anatomy"></a>The Anatomy of an Fx Expression</h2>
+
+<h3>The Fx Expression Language</h3>
+
+<p>The formal Fx expression language is defined here:</p>
+
+<dl class="row">
+  <dt class="col-md-4"> numbers:</dt>
+       <dd class="col-md-8"> integer, floating point, scientific notation (+/- required, e.g. 3.81469e-06), International System number postfixes (.e.g KB, Mib, GB, etc.)</dd>
+  <dt class="col-md-4"> constants: </dt>
+    <dd class="col-md-8"> E (Euler's number), Epsilon, QuantumRange, QuantumScale, Opaque, Phi (golden ratio), Pi, Transparent</dd>
+  <dt class="col-md-4"> Fx operators (in order of precedence): </dt>
+     <dd class="col-md-8"> ^ (power), unary -, *, /, % (modulo), +, -,
+     &lt;&lt;, &gt;&gt;, &lt;, &lt;=, &gt;, &gt;=, ==, !=,
+     &amp; (bitwise AND),   | (bitwise OR),
+     &amp;&amp; (logical AND),  || (logical OR),
+     ~ (logical NOT),  ?: (ternary conditional)</dd>
+  <dt class="col-md-4"> math functions: </dt>
+     <dd class="col-md-8"> abs(), acos(), acosh(), airy(), alt(), asin(), asinh(), atan(), atanh(), atan2(), ceil(), clamp(), cos(), cosh(), debug(), drc(), erf(), exp(), floor(), gauss(), gcd(), hypot(), int(), isnan(), j0(), j1(), jinc(), ln(), log(), logtwo(), max(), min(), mod(), not(), pow(), rand(), round(), sign(), sin(), sinc(), sinh(), sqrt(), squish(), tan(), tanh(), trunc()</dd>
+  <dt class="col-md-4"> channel functions: </dt>
+    <dd class="col-md-8"> channel(r,g,b,a), channel(c,m,y,k,a)</dd>
+  <dt class="col-md-4"> color names:</dt>
+    <dd class="col-md-8"> red, cyan, black, etc.</dd>
+  <dt class="col-md-4"> color functions:</dt>
+    <dd class="col-md-8"> srgb(), srgba(), rgb(), rgba(), cmyk(), cmyka(), hsl(), hsla(), etc.</dd>
+  <dt class="col-md-4"> color hex values:</dt>
+    <dd class="col-md-8"> #ccc, #cbfed0, #b9e1cc00, etc.</dd>
+  <dt class="col-md-4"> symbols:</dt><dd class="col-md-8"><dl>
+     <li><code>u</code>=> first image in list</li>
+     <li><code>v</code>=> second image in list</li>
+     <li><code>s</code>=> current image in list (for %[fx:] otherwise = u)</li>
+     <li><code>t</code>=> index of current image (s) in list</li>
+     <li><code>n</code>=> number of images in list</li>
+
+     <li><code>i</code>=> column offset</li>
+     <li><code>j</code>=> row offset</li>
+     <li><code>p</code>=> pixel to use (absolute or relative to current pixel)</li>
+
+     <li><code>w</code>=> width of this image</li>
+     <li><code>h</code>=> height of this image</li>
+     <li><code>z</code>=> channel depth</li>
+
+     <li><code>r</code>=> red value (from RGBA), of a specific or current pixel</li>
+     <li><code>g</code>=> green</li>
+     <li><code>b</code>=> blue</li>
+     <li><code>a</code>=> alpha</li>
+     <li><code>o</code>=> opacity</li>
+
+     <li><code>c</code>=> cyan value of CMYK color of pixel</li>
+     <li><code>y</code>=> yellow</li>
+     <li><code>m</code>=> magenta</li>
+     <li><code>k</code>=> black</li>
+
+     <li><code>intensity</code>=> pixel intensity</li>
+
+     <li><code>hue</code>=> pixel hue</li>
+     <li><code>saturation</code>=> pixel saturation</li>
+     <li><code>lightness</code>=> pixel lightness</li>
+     <li><code>luma</code>=> pixel luma</li>
+
+     <li><code>page.width</code>=> page width</li>
+     <li><code>page.height</code>=> page height</li>
+     <li><code>page.x</code>=> page x offset</li>
+     <li><code>page.y</code>=> page y offset</li>
+
+     <li><code>resolution.x</code>=> x resolution</li>
+     <li><code>resolution.y</code>=> y resolution</li>
+
+     <li><code>depth</code>=> image depth</li>
+     <li><code>minima</code>=> image minima</li>
+     <li><code>maxima</code>=> image maxima</li>
+     <li><code>mean</code>=> image mean</li>
+     <li><code>standard_deviation</code>=> image standard deviation</li>
+     <li><code>kurtosis</code>=> image kurtosis</li>
+     <li><code>skewness</code>=> image skewness (add a channel specifier to compute a statistic for that channel, e.g. depth.r)</li></dl></dd>
+  <dt class="col-md-4"> iterators:</dt>
+    <dd class="col-md-8"> while()</dd>
 </dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="SwirlImage">SwirlImage</a></h2>
-
-<p>SwirlImage() swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.</p>
-
-<p>The format of the SwirlImage method is:</p>
-
-<pre class="text">
-Image *SwirlImage(const Image *image,double degrees,
-  const PixelInterpolateMethod method,ExceptionInfo *exception)
-</pre>
 
-<p>A description of each parameter follows:</p>
 
-<dd>
-</dd>
-
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
-
-<dd> </dd>
-<dt>degrees</dt>
-<dd>Define the tightness of the swirling effect. </dd>
-
-<dd> </dd>
-<dt>method</dt>
-<dd>the pixel interpolation method. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
+<h3>The Fx Expression</h3>
+
+<p>An Fx expression may include any combination of the following:</p>
+<dl class="row">
+<dt class="col-md-4"> <var>x</var> <code>^</code> <var>y</var></dt><dd class="col-md-8"> exponentiation (<var>x<sup>y</sup></var>)</dd>
+<dt class="col-md-4"> <code>(</code> ... <code>)</code></dt><dd class="col-md-8"> grouping</dd>
+<dt class="col-md-4"> <var>x</var> <code>*</code> <var>y</var></dt><dd class="col-md-8"> multiplication (the asterisk <code>*</code> is optional, for example, <code>2u</code> or <code>2(x+y)</code> are acceptable)</dd>
+<dt class="col-md-4"> <var>x</var> <code>/</code> <var>y</var></dt><dd class="col-md-8"> division</dd>
+<dt class="col-md-4"> <var>x</var> <code>%</code> <var>y</var></dt><dd class="col-md-8"> modulo</dd>
+<dt class="col-md-4"> <var>x</var> <code>+</code> <var>y</var></dt><dd class="col-md-8"> addition</dd>
+<dt class="col-md-4"> <var>x</var> <code>-</code> <var>y</var></dt><dd class="col-md-8"> subtraction</dd>
+<dt class="col-md-4"> <var>x</var> <code>&lt;&lt;</code> <var>y</var></dt><dd class="col-md-8"> left shift</dd>
+<dt class="col-md-4"> <var>x</var> <code>&gt;&gt;</code> <var>y</var></dt><dd class="col-md-8"> right shift</dd>
+<dt class="col-md-4"> <var>x</var> <code>&lt;</code> <var>y</var></dt><dd class="col-md-8"> boolean relation, return value 1.0 if <var>x</var> &lt; <var>y</var>,  otherwise 0.0</dd>
+<dt class="col-md-4"> <var>x</var> <code>&lt;=</code> <var>y</var></dt><dd class="col-md-8"> boolean relation, return value 1.0 if <var>x</var> &lt;= <var>y</var>,  otherwise 0.0</dd>
+<dt class="col-md-4"> <var>x</var> <code>&gt;</code> <var>y</var></dt><dd class="col-md-8"> boolean relation, return value 1.0 if <var>x</var> &gt; <var>y</var>,  otherwise 0.0</dd>
+<dt class="col-md-4"> <var>x</var> <code>&gt;=</code> <var>y</var></dt><dd class="col-md-8"> boolean relation, return value 1.0 if <var>x</var> &gt;= <var>y</var>,  otherwise 0.0</dd>
+<dt class="col-md-4"> <var>x</var> <code>==</code> <var>y</var></dt><dd class="col-md-8"> boolean relation, return value 1.0 if <var>x </var>==<var> y</var>, otherwise 0.0</dd>
+<dt class="col-md-4"> <var>x</var> <code>!=</code> <var>y</var></dt><dd class="col-md-8"> boolean relation, return value 1.0 if <var>x </var>!=<var> y</var>, otherwise 0.0</dd>
+<dt class="col-md-4"> <var>x</var> <code>&amp;</code> <var>y</var></dt><dd class="col-md-8"> binary AND</dd>
+<dt class="col-md-4"> <var>x</var> <code>|</code> <var>y</var></dt><dd class="col-md-8"> binary OR</dd>
+<dt class="col-md-4"> <var>x</var> <code>&amp;&amp;</code> <var>y</var></dt><dd class="col-md-8"> logical AND connective, return value 1.0 if <var>x</var> &gt; 0 and <var>y</var> &gt; 0,  otherwise 0.0</dd>
+<dt class="col-md-4"> <var>x</var> <code>||</code> <var>y</var></dt><dd class="col-md-8"> logical OR connective (inclusive), return value 1.0 if <var>x</var> &gt; 0 or <var>y</var> &gt; 0 (or both),  otherwise 0.0</dd>
+<dt class="col-md-4"> <code>~</code><var>x</var></dt><dd class="col-md-8"> logical NOT operator, return value 1.0 if <var>not</var> <var>x</var> &gt; 0,  otherwise 0.0</dd>
+<dt class="col-md-4"> <code>+</code><var>x</var></dt><dd class="col-md-8"> unary plus, return 1.0*value</dd>
+<dt class="col-md-4"> <code>-</code><var>x</var></dt><dd class="col-md-8"> unary minus, return -1.0*value</dd>
+<dt class="col-md-4"> <var>x</var> <code>?</code> <var>y</var> <code>:</code> <var>z</var> </dt><dd class="col-md-8">ternary conditional expression, return value <var>y</var> if <var>x</var> != 0, otherwise <var>z</var>; only one ternary conditional permitted per statement</dd>
+<dt class="col-md-4"> <var>x</var> <code>=</code> <var>y</var></dt><dd class="col-md-8">assignment; variables must be at least 2 characters, letter combinations only (e.g. Xi not X1)</dd>
+<dt class="col-md-4"> <var>x</var> <code>;</code> <var>y</var></dt><dd class="col-md-8">statement separator </dd>
+<dt class="col-md-4"> <code>phi</code></dt><dd class="col-md-8"> constant (1.618034...)</dd>
+<dt class="col-md-4"> <code>pi</code></dt><dd class="col-md-8"> constant (3.14159265359...)</dd>
+<dt class="col-md-4"> <code>e</code></dt><dd class="col-md-8"> constant (2.71828...)</dd>
+<dt class="col-md-4"> <code>QuantumRange</code></dt><dd class="col-md-8"> constant maximum pixel value (255 for Q8, 65535 for Q16)</dd>
+<dt class="col-md-4"> <code>QuantumScale</code></dt><dd class="col-md-8"> constant 1.0/<code>QuantumRange</code></dd>
+<dt class="col-md-4"> <code>intensity</code></dt><dd class="col-md-8"> pixel intensity whose value respects the <a href="command-line-options.html#intensity">-intensity</a> option.</dd>
+<dt class="col-md-4"> <code>hue</code></dt><dd class="col-md-8"> pixel hue</dd>
+<dt class="col-md-4"> <code>saturation</code></dt><dd class="col-md-8"> pixel saturation</dd>
+<dt class="col-md-4"> <code>lightness</code></dt><dd class="col-md-8"> pixel lightness; equivalent to 0.5*max(red,green,blue) + 0.5*min(red,green,blue)</dd>
+<dt class="col-md-4"> <code>luminance</code></dt><dd class="col-md-8"> pixel luminance; equivalent to <code>0.212656*red + 0.715158*green + 0.072186*blue</code></dd>
+<dt class="col-md-4"> <code>red, green, blue</code>, etc.</dt><dd class="col-md-8"> color names</dd>
+<dt class="col-md-4"> <code>#ccc, #cbfed0, #b9e1cc00</code>, etc.</dt><dd class="col-md-8"> color hex values</dd>
+<dt class="col-md-4"> <code>rgb(), rgba(), cmyk(), cmyka(), hsl(), hsla()</code></dt><dd class="col-md-8"> color functions</dd>
+<dt class="col-md-4"> <code>s, t, u, v, n, i, j, w, h, z, r, g, b, a, o, c, y, m, k</code></dt><dd class="col-md-8"> symbols</dd>
+<dt class="col-md-4"> <code>abs(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> absolute value function</dd>
+<dt class="col-md-4"> <code>acos(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> arc cosine function</dd>
+<dt class="col-md-4"> <code>acosh(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> inverse hyperbolic cosine function</dd>
+<dt class="col-md-4"> <code>airy(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> Airy function (max=1, min=0); airy(<var>x</var>)=[jinc(<var>x</var>)]<sup>2</sup>=[2*j1(<var>pi*x</var>)/(<var>pi*x</var>)]<sup>2</sup></dd>
+<dt class="col-md-4"> <code>alt(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> sign alternation function (return 1.0 if int(<var>x</var>) is even, -1.0 if int(<var>x</var>) is odd)</dd>
+<dt class="col-md-4"> <code>asin(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> arc sine function</dd>
+<dt class="col-md-4"> <code>asinh(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> inverse hyperbolic sine function</dd>
+<dt class="col-md-4"> <code>atan(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> arc tangent function</dd>
+<dt class="col-md-4"> <code>atanh(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> inverse hyperbolic tangent function</dd>
+<dt class="col-md-4"> <code>atan2(</code><var>x</var>,<var>y</var><code>)</code></dt><dd class="col-md-8"> arc tangent function of two variables</dd>
+<dt class="col-md-4"> <code>ceil(</code><var>x</var><code>)</code></dt><dd class="col-md-8">smallest integral value not less than argument</dd>
+<dt class="col-md-4"> <code>channel(</code><var>r</var>,<var>g</var>,<var>b</var>,<var>a</var><code>)</code></dt><dd class="col-md-8">select numeric argument based on current channel</dd>
+<dt class="col-md-4"> <code>channel(</code><var>c</var>,<var>m</var>,<var>y</var>,<var>k</var>,<var>a</var><code>)</code></dt><dd class="col-md-8">select numeric argument based on current channel</dd>
+<dt class="col-md-4"> <code>clamp(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> clamp value</dd>
+<dt class="col-md-4"> <code>cos(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> cosine function</dd>
+<dt class="col-md-4"> <code>cosh(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> hyperbolic cosine function</dd>
+<dt class="col-md-4"> <code>debug(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> print <var>x</var> (useful for debugging your expression)</dd>
+<dt class="col-md-4"> <code>drc(</code><var>x</var>,<var>y</var><code>)</code></dt><dd class="col-md-8"> dynamic range compression (knee curve); drc(<var>x</var>,<var>y</var>)=(<var>x</var>)/(<var>y</var>*(<var>x</var>-1)+1); -1&lt;<var>y</var>&lt;1 </dd>
+<dt class="col-md-4"> <code>erf(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> error function</dd>
+<dt class="col-md-4"> <code>exp(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> natural exponential function (<var>e<sup>x</sup></var>)</dd>
+<dt class="col-md-4"> <code>floor(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> largest integral value not greater than argument</dd>
+<dt class="col-md-4"> <code>gauss(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> gaussian function; gauss(<var>x</var>)=exp(<var>-x*x/2</var>)/sqrt(2*pi)</dd>
+<dt class="col-md-4"> <code>gcd(</code><var>x</var>,<var>y</var><code>)</code></dt><dd class="col-md-8"> greatest common denominator</dd>
+<dt class="col-md-4"> <code>hypot(</code><var>x</var>,<var>y</var><code>)</code></dt><dd class="col-md-8"> the square root of x<sup>2</sup>+y<sup>2</sup></dd>
+<dt class="col-md-4"> <code>int(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> greatest integer function (return greatest integer less than or equal to <var>x</var>)</dd>
+<dt class="col-md-4"> <code>isnan(</code><var>x</var><code>)</code></dt><dd class="col-md-8">return 1.0 if <var>x</var> is NAN, 0.0 otherwise</dd>
+<dt class="col-md-4"> <code>j0(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> Bessel functions of <var>x</var> of the first kind of order 0</dd>
+<dt class="col-md-4"> <code>j1(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> Bessel functions of <var>x</var> of the first kind of order 1</dd>
+<dt class="col-md-4"> <code>jinc(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> jinc function (max=1, min=-0.1323); jinc(<var>x</var>)=2*j1(pi*<var>x</var>)/(pi*<var>*x</var>)</dd>
+<dt class="col-md-4"> <code>ln(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> natural logarithm function</dd>
+<dt class="col-md-4"> <code>log(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> logarithm base 10</dd>
+<dt class="col-md-4"> <code>logtwo(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> logarithm base 2</dd>
+<dt class="col-md-4"> <code>ln(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> natural logarithm</dd>
+<dt class="col-md-4"> <code>max(</code><var>x</var>, <var>y</var><code>)</code></dt><dd class="col-md-8"> maximum of <var>x</var> and <var>y</var></dd>
+<dt class="col-md-4"> <code>min(</code><var>x</var>, <var>y</var><code>)</code></dt><dd class="col-md-8"> minimum of <var>x</var> and <var>y</var></dd>
+<dt class="col-md-4"> <code>mod(</code><var>x</var>, <var>y</var><code>)</code></dt><dd class="col-md-8"> floating-point remainder function</dd>
+<dt class="col-md-4"> <code>not(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> return 1.0 if <var>x</var> is zero, 0.0 otherwise</dd>
+<dt class="col-md-4"> <code>pow(</code><var>x</var>,<var>y</var><code>)</code></dt><dd class="col-md-8"> power function (<var>x<sup>y</sup></var>)</dd>
+<dt class="col-md-4"> <code>rand()</code></dt><dd class="col-md-8"> value uniformly distributed over the interval [0.0, 1.0) with a 2 to the 128th-1 period</dd>
+<dt class="col-md-4"> <code>round()</code></dt><dd class="col-md-8"> round to integral value, regardless of rounding direction</dd>
+<dt class="col-md-4"> <code>sign(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> return -1.0 if <var>x</var> is less than 0.0 otherwise 1.0</dd>
+<dt class="col-md-4"> <code>sin(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> sine function</dd>
+<dt class="col-md-4"> <code>sinc(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> sinc function (max=1, min=-0.21); sinc(<var>x</var>)=sin(<var>pi*x</var>)/(<var>pi*x</var>)</dd>
+<dt class="col-md-4"> <code>squish(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> squish function; squish(<var>x</var>)=1.0/(1.0+exp(<var>-x</var>))</dd>
+<dt class="col-md-4"> <code>sinh(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> hyperbolic sine function</dd>
+<dt class="col-md-4"> <code>sqrt(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> square root function</dd>
+<dt class="col-md-4"> <code>tan(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> tangent function</dd>
+<dt class="col-md-4"> <code>tanh(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> hyperbolic tangent function</dd>
+<dt class="col-md-4"> <code>trunc(</code><var>x</var><code>)</code></dt><dd class="col-md-8"> round to integer, towards zero</dd>
+<dt class="col-md-4"> <code>while(</code><var>condition</var>,<var>expression</var><code>)</code></dt><dd class="col-md-8"> iterate while the condition is not equal to 0</dd>
 </dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="TintImage">TintImage</a></h2>
+<br/>
+<p>The expression semantics include these rules:</p>
 
-<p>TintImage() applies a color vector to each pixel in the image.  The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighting function is f(x)=(1-(4.0*((x-0.5)*(x-0.5))))</p>
+<ul>
+<li>symbols are case insensitive</li>
+<li>only one ternary conditional (e.g. x ? y : z) per statement</li>
+<li>statements are assignments or the final expression to return</li>
+<li>an assignment starts a statement, it is not an operator</li>
+<li>assignments to built-ins do not throw an exception and have no effect;  e.g. <code>r=3.0; r</code> returns the pixel red color value, not 3.0</li>
+<li>Unary operators have a lower priority than binary operators, that is, the unary minus (negation) has lower precedence than exponentiation, so -3^2 is interpreted as -(3^2) = -9.  Use parentheses to clarify your intent (e.g. (-3)^2 = 9).</li>
+<li>Similarly, care must be exercised when using the slash ('/') symbol. The string of characters <var>1/2x</var> is interpreted as (1/2)x. The contrary interpretation should be written explicitly as 1/(2x). Again, the use of parentheses helps clarify the meaning and should be used whenever there is any chance of misinterpretation.</li>
+</ul>
+<br/>
 
-<p>The format of the TintImage method is:</p>
 
-<pre class="text">
-Image *TintImage(const Image *image,const char *blend,
-  const PixelInfo *tint,ExceptionInfo *exception)
-</pre>
+<h3>Source Images</h3>
 
-<p>A description of each parameter follows:</p>
+<p>The symbols <code>u</code> and <code>v</code> refer to the first and second images, respectively, in the current image sequence.  Refer to a particular image in a sequence by appending its index to any image reference (usually <code>u</code>), with a zero index for the beginning of the sequence. A negative index counts from the end.  For example, <code>u[0]</code> is the first image in the sequence, <code>u[2]</code> is the third, <code>u[-1]</code> is the last image, and <code>u[t]</code> is the current image. The current image can also be referenced by <code>s</code>. If the sequence number exceeds the length of the sequence, the count is wrapped. Thus in a 3-image sequence,  <code>u[-1]</code>, <code>u[2]</code>, and <code>u[5]</code> all refer to the same (third) image.</p>
 
-<dd>
-</dd>
+<p>As an example, we form an image by averaging the first image and third images (the second (index 1) image is ignored and just junked):</p>
 
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
+<pre class="highlight"><code>convert image1.jpg image2.jpg image3.jpg -fx "(u+u[2])/2.0" image.jpg
+</code></pre>
 
-<dd> </dd>
-<dt>blend</dt>
-<dd>A color value used for tinting. </dd>
+<p>By default, the image to which <code>p</code>, <code>r</code>, <code>g</code>, <code>b</code>, <code>a</code>, etc., are applied is the current image <code>s</code> in the image list. This is equivalent to <code>u</code> except when used in an escape sequence <code>%[fx:...]</code>. </p>
 
-<dd> </dd>
-<dt>tint</dt>
-<dd>A color value used for tinting. </dd>
+<p>It is important to note the special role played by the first image. This is the only image in the image sequence that is modified, other images are used only for their data. As an illustrative example, consider the following, and note that the setting <a href="command-line-options.html#channel">-channel red</a> instructs <a href="command-line-options.html#fx">-fx</a> to modify only the red channel; nothing in the green or blue channels will change. It is instructive to ponder why the result is not symmetric.</p>
 
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
+<pre class="highlight"><code>convert -channel red logo: -flop logo: -resize "20%" -fx "(u+v)/2" image.jpg
+</code></pre>
 
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="VignetteImage">VignetteImage</a></h2>
+<ul>
+  <a href="../images/logo-sm-flop.png"><img src="../images/logo-sm-flop.png" width="128" height="96" alt="logo-sm-flop.png" /></a>
+  <a href="../images/logo-sm.png"><img src="../images/logo-sm.png" width="128" height="96" alt="logo-sm.png" /></a>
+<img style="margin-top:38px; margin-bottom:38px;" src="../images/right.gif" width="20" height="20" alt="==>" />
+  <a href="../images/logo-sm-fx.png"><img src="../images/logo-sm-fx.png" width="128" height="96" alt="logo-sm-fx.png" /></a>
+</ul>
 
-<p>VignetteImage() softens the edges of the image in vignette style.</p>
+<br/>
+<h3>Accessing Pixels</h3>
 
-<p>The format of the VignetteImage method is:</p>
+<p>All color values are normalized to the range of 0.0 to 1.0.  The alpha channel ranges from 0.0 (fully transparent) to 1.0 (fully opaque).</p>
 
-<pre class="text">
-Image *VignetteImage(const Image *image,const double radius,
-  const double sigma,const ssize_t x,const ssize_t y,
-  ExceptionInfo *exception)
-</pre>
+<p>The pixels are processed one at a time, but a different pixel of an image can be specified using a pixel index represented by <code>p</code>. For example,</p>
 
-<p>A description of each parameter follows:</p>
+<pre class="highlight"><code>p[-1].g      green value of pixel to the immediate left of the current pixel
+p[-1,-1].r   red value of the pixel diagonally left and up from current pixel
+</code></pre>
 
-<dd>
-</dd>
+<p>To specify an absolute position, use braces, rather than brackets.</p>
 
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
+<pre class="highlight"><code>p{0,0}.r     red value of the pixel in the upper left corner of the image
+p{12,34}.b   blue pixel value at column number 12, row 34 of the image
+</code></pre>
 
-<dd> </dd>
-<dt>radius</dt>
-<dd>the radius of the pixel neighborhood. </dd>
+<p>Integer values of the position retrieve the color of the pixel referenced, while non-integer position values return a blended color according to the current <a href="command-line-options.html#interpolate">-interpolate</a> setting.</p>
 
-<dd> </dd>
-<dt>sigma</dt>
-<dd>the standard deviation of the Gaussian, in pixels. </dd>
+<p>A position outside the boundary of the image retrieves a value dictated by the <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> option setting.</p>
 
-<dd> </dd>
-<dt>x, y</dt>
-<dd> Define the x and y ellipse offset. </dd>
+<h3>Apply an Expression to Select Image Channels</h3>
 
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
+<p>Use the <a href="command-line-options.html#channel">-channel</a> setting to specify the output channel of the result. If no output channel is given, the result is set over all channels except the opacity channel. For example, to replace the red channel of <code>alpha.png</code> with the average of the green channels from the images <code>alpha.png</code> and <code>beta.png</code>, use:</p>
 
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="WaveImage">WaveImage</a></h2>
-
-<p>WaveImage() creates a "ripple" effect in the image by shifting the pixels vertically along a sine wave whose amplitude and wavelength is specified by the given parameters.</p>
-
-<p>The format of the WaveImage method is:</p>
-
-<pre class="text">
-Image *WaveImage(const Image *image,const double amplitude,
-  const double wave_length,const PixelInterpolateMethod method,
-  ExceptionInfo *exception)
-</pre>
-
-<p>A description of each parameter follows:</p>
-
-<dd>
-</dd>
+<pre class="highlight"><code>convert alpha.png beta.png -channel red -fx "(u.g+v.g)/2" gamma.png
+</code></pre>
 
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
 
-<dd> </dd>
-<dt>amplitude, wave_length</dt>
-<dd> Define the amplitude and wave length of the sine wave. </dd>
+<h3>Results</h3>
 
-<dd> </dd>
-<dt>interpolate</dt>
-<dd>the pixel interpolation method. </dd>
+<p>The <a href="command-line-options.html#fx">-fx</a> operator evaluates the given expression for each channel (set by <a href="command-line-options.html#channel">-channel</a>) of each pixel in the first image (<code>u</code>) in the sequence. The computed values are temporarily stored in a copy (clone) of that first image until all the pixels have been processed, after which this single new image replaces the list of images in the current image sequence.  As such, in the previous example the updated version of <code>alpha.png</code> replaces both of the original images, <code>alpha.png</code> and <code>beta.png</code>, before being saved as <code>gamma.png</code>.</p>
 
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
+<p>The current image <code>s</code> is set to the first image in the sequence (<code>u</code>), and <code>t</code> to its index, 0.  The symbols <code>i</code> and <code>j</code> reference the current pixel being processed.</p>
 
-<dd>  </dd>
-</dl>
-<h2><a href="api/MagickCore/fx_8c.html" id="WaveletDenoiseImage">WaveletDenoiseImage</a></h2>
-
-<p>WaveletDenoiseImage() removes noise from the image using a wavelet transform.  The wavelet transform is a fast hierarchical scheme for processing an image using a set of consecutive lowpass and high_pass filters, followed by a decimation.  This results in a decomposition into different scales which can be regarded as different “frequency bands”, determined by the mother wavelet.  Adapted from dcraw.c by David Coffin.</p>
-
-<p>The format of the WaveletDenoiseImage method is:</p>
 
-<pre class="text">
-Image *WaveletDenoiseImage(const Image *image,const double threshold,
-  const double softness,ExceptionInfo *exception)
-</pre>
+<p>For use with <a href="command-line-options.html#format_identify_">-format</a>, the value-escape <code>%[fx:]</code> is evaluated just once for each image in the current image sequence. As each image in the sequence is being evaluated, <code>s</code> and <code>t</code> successively refer to the current image and its index, while <code>i</code> and <code>j</code> are set to zero, and the current channel set to red (<a href="command-line-options.html#channel">-channel</a> is ignored). An example:</p>
 
-<p>A description of each parameter follows:</p>
+<pre class="highlight"><code>$ convert canvas:'rgb(25%,50%,75%)' rose: -colorspace rgb  \ 
+  -format 'Red channel of NW corner of image #%[fx:t] is %[fx:s]' info:
+Red channel of NW corner of image #0 is 0.453758 
+Red channel of NW corner of image #1 is 0.184588
+</code></pre>
 
-<dd>
-</dd>
+<p>Here we use the image indexes to <var>rotate</var> each image differently, and use <code>-set</code> with the image index to set a different <var>pause delay</var> on the first image in the animation:</p>
 
-<dd> </dd>
-<dl class="dl-horizontal">
-<dt>image</dt>
-<dd>the image. </dd>
+<pre class="highlight"><code>convert rose: -duplicate 29 -virtual-pixel Gray -distort SRT '%[fx:360.0*t/n]' \
+  -set delay '%[fx:t == 0 ? 240 : 10]' -loop 0 rose.gif"
+</code></pre>
 
-<dd> </dd>
-<dt>threshold</dt>
-<dd>set the threshold for smoothing. </dd>
+<p>The color-escape <code>%[pixel:]</code> or <code>%[hex:]</code> is evaluated once per image and per color channel in that image (<a href="command-line-options.html#channel">-channel</a> is ignored), The values generated are then converted into a color string (a named color or hex color value).  The symbols <code>i</code> and <code>j</code> are set to zero, and <code>s</code> and <code>t</code> refer to each successively current image and index.</p>
 
-<dd> </dd>
-<dt>softness</dt>
-<dd>attenuate the smoothing threshold. </dd>
-
-<dd> </dd>
-<dt>exception</dt>
-<dd>return any errors or warnings in this structure. </dd>
-
-<dd>  </dd>
-</dl>
 </div>
     </div>
   </main><!-- /.container -->
@@ -862,4 +436,4 @@ Image *WaveletDenoiseImage(const Image *image,const double threshold,
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:50 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:16 -->
\ No newline at end of file
index 1bdc3d8c908c08c3d98ecdb0812822facee97c41..e4928e9ea46e9756392820035925bf18c3bb4d8d 100644 (file)
@@ -267,4 +267,4 @@ magick -size 256x128 -define gradient:radii=128,64 radial-gradient:black-white r
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:13 -->
\ No newline at end of file
index dd0156d68d7918375820bb553e6089a10364aee4..7febfaf63959a814419ae5d5518bc7b2b9e3a14f 100644 (file)
@@ -132,4 +132,4 @@ Features: HDRI
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:06 -->
\ No newline at end of file
index 43d2cd84ea79df6a3fba06288665ea59381e6348..c818aef2636b4a16bd3fe3b378f1d714113f3e88 100644 (file)
@@ -124,4 +124,4 @@ I swear by my life and my love of it that I will never live for the sake of anot
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:22 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 15:36 -->
\ No newline at end of file
index ad9d82a7f350e4f54d7d7125fc625698b616a97b..8bff2e2b78ebd89d21199e0c1d026e3e31d9a4b0 100644 (file)
@@ -451,4 +451,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:40 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:17 -->
\ No newline at end of file
index 03ebbba23a257d023adf6d6252c2155f5846f6fb..7e2c5d70e348b8611392b68ae266bb7fcbe1dd13 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 16:36 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:43 -->
\ No newline at end of file
index 45b6e49d5888e50485d6fd2d5562c556a5cd5051..575121064dbfbf086773e83437a470ae78164d0e 100644 (file)
 <p class="text-center"><a href="index.html#features">Features and Capabilities</a> • <a href="index.html#news">News</a> • <a href="index.html#community">Community</a></p>
 
 <p class="lead magick-description"><a href="../images/wizard.png" title="And Now a Touch of Magick"><img class="img-fluid magick-icon" id="logo" alt="And Now a Touch of Magick" width="265" height="352" src="../images/wizard.jpg" /></a> 
-Use ImageMagick<sup><a href="http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;entry=78333969">&#174;</a></sup> to create, edit, compose, or convert bitmap images.  It can read and write images in a variety of <a href="../www/formats.html">formats</a> (over 200) including PNG, JPEG, JPEG-2000, GIF, TIFF, <a href="../www/motion-picture.html">DPX</a>, <a href="../www/high-dynamic-range.html">EXR</a>, WebP, Postscript, PDF, and SVG.  Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.</p>
+Use ImageMagick<sup><a href="http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;entry=78333969">&#174;</a></sup> to create, edit, compose, or convert bitmap images.  It can read and write images in a variety of <a href="../www/formats.html">formats</a> (over 200) including PNG, JPEG, GIF, HEIC, TIFF, <a href="../www/motion-picture.html">DPX</a>, <a href="../www/high-dynamic-range.html">EXR</a>, WebP, Postscript, PDF, and SVG.  Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.</p>
 
 <p>The functionality of ImageMagick is typically utilized from the <a href="../www/command-line-processing.html">command-line</a> or you can use the features from programs written in your favorite language. Choose from these interfaces: <a href="../www/develop.html#ada">G2F</a> (Ada), <a href="../www/develop.html#c">MagickCore</a> (C), <a href="../www/develop.html#c">MagickWand</a> (C), <a href="../www/develop.html#ch">ChMagick</a> (Ch), <a href="../www/develop.html#com_">ImageMagickObject</a> (COM+), <a href="../www/develop.html#c__">Magick++</a> (C++), <a href="../www/develop.html#java">JMagick</a> (Java), <a href="../www/develop.html#julia">JuliaIO</a> (Julia), <a href="../www/develop.html#lisp">L-Magick</a> (Lisp), <a href="../www/develop.html#lua">Lua</a> (LuaJIT), <a href="../www/develop.html#neko">NMagick</a> (Neko/haXe), <a href="../www/develop.html#dot-net">Magick.NET</a> (.NET), <a href="../www/develop.html#pascal">PascalMagick</a> (Pascal),  <a href="../www/develop.html#perl">PerlMagick</a> (Perl), <a href="../www/develop.html#php">MagickWand for PHP</a> (PHP),  <a href="../www/develop.html#php">IMagick</a> (PHP), <a href="../www/develop.html#python">PythonMagick</a> (Python), <a href="../www/develop.html#r">magick</a> (R), <a href="../www/develop.html#ruby">RMagick</a> (Ruby), or <a href="../www/develop.html#tcl">TclMagick</a> (Tcl/TK). With a language interface, use ImageMagick to modify or create images dynamically and <var>automagically</var>.</p>
 <p>ImageMagick utilizes multiple computational threads to increase performance and can read, process, or write mega-, giga-, or tera-pixel image sizes.</p>
 <p>ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you may use, copy, modify, and distribute in both open and proprietary applications. It is distributed under the Apache 2.0 <a href="../www/license.html">license</a>.</p>
 
-<p>The ImageMagick development process ensures a stable API and <a href="https://abi-laboratory.pro/tracker/timeline/imagemagick/">ABI</a>. Before each ImageMagick release, we perform a comprehensive security assessment that includes <a href="https://github.com/google/sanitizers/wiki/AddressSanitizer">memory error</a> and <a href="https://github.com/google/sanitizers/wiki/ThreadSanitizer">thread data race</a> detection to help prevent security vulnerabilities.</p>
+<p>The ImageMagick development process ensures a stable API and <a href="https://abi-laboratory.pro/tracker/timeline/imagemagick/">ABI</a>. Before each ImageMagick release, we perform a comprehensive security assessment that includes <a href="https://github.com/google/sanitizers/wiki/AddressSanitizer">memory error</a>, <a href="https://github.com/google/sanitizers/wiki/ThreadSanitizer">thread data race</a> detection, and continuous <a href="https://github.com/google/oss-fuzz">fuzzing</a> to help prevent security vulnerabilities.</p>
 
-<p>The current release is ImageMagick <a href="../www/download.html">7.0.7-18</a>.  It runs on <a href="../www/download.html#unix">Linux</a>, <a href="../www/download.html#windows">Windows</a>, <a href="../www/download.html#macosx">Mac Os X</a>, <a href="../www/download.html#iOS">iOS</a>, Android OS, and others.</p>
+<p>The current release is ImageMagick <a href="../www/download.html">7.0.7-22</a>.  It runs on <a href="../www/download.html#unix">Linux</a>, <a href="../www/download.html#windows">Windows</a>, <a href="../www/download.html#macosx">Mac Os X</a>, <a href="../www/download.html#iOS">iOS</a>, Android OS, and others.</p>
 
 <p>The authoritative ImageMagick web site is <a href="../">https://www.imagemagick.org</a>. The authoritative source code repository is <a href="https://github.com/ImageMagick">https://github.com/ImageMagick</a>.  We maintain a source code mirror at <a href="https://gitlab.com/ImageMagick">https://gitlab.com/ImageMagick</a>.</p>
 
@@ -277,4 +277,4 @@ Use ImageMagick<sup><a href="http://tarr.uspto.gov/servlet/tarr?regser=serial&am
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:33 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:50 -->
\ No newline at end of file
index f550a4e099d90e010396c27bfdd185b544ef9fd1..e1bb147623ed5cc2cefc9009f0416f1d74ae0313 100644 (file)
 <pre class="highlight"><code>tar xvzf ImageMagick.tar.gz
 </code></pre>
 
-<p>Next configure and compile ImageMagick:</p>
+<p>Next configure and compile ImageMagick.  Note the <a href="https://en.wikipedia.org/wiki/Pkg-config">pkg-config</a> script is required so that ImageMagick can find certain optional delegate libraries on your system.  To configure, type:</p>
 
 <pre class="highlight"><span class="crtprompt">$ </span><span class='crtin'>cd ImageMagick-7.0.7</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>./configure</span><span class='crtout'><br/></span><span class="crtprompt">$ </span><span class='crtin'>make</span></pre>
 <p>If ImageMagick configured and compiled without complaint, you are ready to install it on your system.  Administrator privileges are required to install.  To install, type</p>
 
 <p>Building ImageMagick source for Windows requires a modern version of Microsoft Visual Studio IDE.  Users have reported success with the Borland C++ compiler as well.  If you don't have a compiler you can still install a self-installing <a href="download.html">binary release</a>.</p>
 
-<p>Download <a href="https://www.imagemagick.org/download/windows/ImageMagick-windows.zip">ImageMagick-windows.zip</a> from <a href="https://www.imagemagick.org/download/windows">www.imagemagick.org</a> or a <a href="mirror.html">mirrors</a> and verify its <a href="https://www.imagemagick.org/download/windows/digest.rdf">message digest</a>.</p>
+<p>Clone the Github repo:<p>
 
-<p>You can unpack the distribution with <a href="http://www.winzip.com">WinZip</a> or type the following from any MS-DOS Command Prompt window:</p>
+<pre class="highlight"><code>git clone git@github.com:ImageMagick/ImageMagick-Windows.git ImageMagick-Windows-7</code></pre>
 
-<pre class="highlight"><code>unzip ImageMagick-windows.zip
-</code></pre>
+<p>and run <code>CloneRepositories.cmd</code>.  Alternatively, download <a href="https://www.imagemagick.org/download/windows/ImageMagick-windows.zip">ImageMagick-windows.zip</a> and verify its <a href="https://www.imagemagick.org/download/windows/digest.rdf">message digest</a>.  For the latter, you can unpack the distribution with <a href="http://www.winzip.com">WinZip</a> or type the following from any MS-DOS Command Prompt window:</p>
+
+<pre class="highlight"><code>unzip ImageMagick-windows.zip</code></pre>
 
 <p>Next, launch your Visual Studio IDE and choose <kbd>Open->Project</kbd>.  Select the configure workspace from the <kbd>ImageMagick-7.0.7/VisualMagick/configure</kbd> folder and press Open.  Choose <kbd>Build->Build Solution</kbd>
 to compile the program and on completion run the program.</p>
@@ -181,4 +182,4 @@ to compile the program and on completion run the program.</p>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:37 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:51 -->
\ No newline at end of file
index 6d79b44072b2f6357027f988eafa81a73022bca1..2a0962b161fa23ee5885bb0e4ac826bbeeef8a6f 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:21 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:56 -->
\ No newline at end of file
index 8c83a76271deca6f9135fd5bdc46a86040fb10af..7d4d22451e5e8e67501b8105e3e797ce657e3820 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:38 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:10 -->
\ No newline at end of file
index c688a0885536cb18a275d8a923af1056b73fea77..8c5caf04a85d4ae8c53fcc5763d325c74ec7769c 100644 (file)
 
 <h2 class="magick-post-title"><a class="anchor" id="mirrors"></a>ImageMagick Web Site Mirrors</h2>
 <ul>
-  <dt class="col-md-4">Denmark</dt>
-    <dd class="col-md-8"><a href="http://imagemagick.europnews.de/">http://imagemagick.europnews.de</a></dd>
   <dt class="col-md-4">United States</dt>
     <dd class="col-md-8"><a href="../">https://www.imagemagick.org</a></dd>
+    <dd class="col-md-8"><a href="http://transloadit.imagemagick.org/">http://transloadit.imagemagick.org</a></dd>
 </ul>
 
 <h2 class="magick-post-title"><a class="anchor" id="bank"></a>Image Bank</h2>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:29 -->
\ No newline at end of file
index af1ca72f290ca2f6f79f780958dae4a57d347cd5..adf274a50e2cf1a02d99a97036734374066b4965 100644 (file)
@@ -211,4 +211,4 @@ int main(int argc,char **argv)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 16:01 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:18 -->
\ No newline at end of file
index 0e216e294f9b1477801a1eaa9171fc3fcff86eb2..6fc473ea244f5647ab1a12f11922f027efda4337 100644 (file)
@@ -356,4 +356,4 @@ int main(int argc,char **argv)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:28 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 15:21 -->
\ No newline at end of file
index 60c23d079377ed1c027aa9c58ac5b24be55697d5..45fe9e85c9d746103a967f0e27f7107a0069d4f7 100644 (file)
@@ -1309,4 +1309,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:21 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:33 -->
\ No newline at end of file
index ce8768d46001aa0d1c5b1af7d4537caaf096d88f..9cc365906f2a4763b9170b50fcd71a8210cde364 100644 (file)
@@ -898,4 +898,4 @@ round</code></pre></td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:53 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 14:53 -->
\ No newline at end of file
index 9c0f9f6add97da41df531708d274d11738764882..edc20d01d9ecd287c4463204919e192775bf2ab7 100644 (file)
@@ -408,4 +408,4 @@ int main(int argc,char **argv)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:14 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:02 -->
\ No newline at end of file
index a17b1d351dea70ec61d45044118589f053e79643..d9d7f59303bcc6bfbd0ba1ec47d7a95957f104fb 100644 (file)
@@ -1346,4 +1346,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:42 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:12 -->
\ No newline at end of file
index 270988eea2f4960ecc0e1d41ccc441dbea5f88c2..922df535de89b0d6ebc5411c88bc7d24a9854108 100644 (file)
@@ -271,4 +271,4 @@ or fewer colors in the image, each byte of image data contains an index value. I
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 16:22 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 14:53 -->
\ No newline at end of file
index ffa042da7f3e9253d6e968d6c252ab4f2b852553..e646824c3f51d9d6fce76d7a0ac259515e1b088b 100644 (file)
@@ -82,7 +82,7 @@
     <div class="magick-template">
 <div class="magick-header">
 <p class="lead magick-description">ImageMagick source and binary distributions are available from a variety of FTP and Web mirrors around the world listed below.  ImageMagick stable and development source releases are also available from <a href="http://git.imagemagick.org/repos/ImageMagick">Git</a>.  Before you download, you may want to review recent <a href="changelog.html">changes</a> to the ImageMagick distribution.  The authoritative source code repository is <a href="http://git.imagemagick.org/repos/ImageMagick">http://git.imagemagick.org/repos/ImageMagick</a>.</p>
-<p>The latest release of ImageMagick is version 7.0.7-18.</p>
+<p>The latest release of ImageMagick is version 7.0.7-22.</p>
 <dl class="row">
   <dt class="col-md-4">Germany</dt>
     <dd class="col-md-8"><a href="http://mirror.checkdomain.de/imagemagick/">http://mirror.checkdomain.de/imagemagick/</a></dd>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:46 -->
\ No newline at end of file
index a3e7332add0d3d3b116797e57c8538410b8ef2df..79230a4c6fd80be48cd35d77e8e8a571fd4dfeea 100644 (file)
@@ -1326,4 +1326,4 @@ transparent, extract, background, or shape the alpha channel</td>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:58 -->
\ No newline at end of file
index 1d35556df304f65d70b95b8a21d27454f2e09326..85631dc9ed1d840c82061254c557a4c4d1c71a0f 100644 (file)
@@ -7,12 +7,12 @@
 <head>
   <meta charset="utf-8"  />
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
-  <title>MagickCore, C API: Create an Image Thumbnail @ ImageMagick</title>
+  <title>Command-line Tools: Montage @ ImageMagick</title>
   <meta name="application-name" content="ImageMagick" />
   <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves." />
   <meta name="application-url" content="https://www.imagemagick.org" />
   <meta name="generator" content="PHP" />
-  <meta name="keywords" content="magickcore, c, api:, create, an, image, thumbnail, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
+  <meta name="keywords" content="command-line, tools:, montage, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
   <meta name="rating" content="GENERAL" />
   <meta name="robots" content="INDEX, FOLLOW" />
   <meta name="generator" content="ImageMagick Studio LLC" />
@@ -24,7 +24,7 @@
   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
-  <link href="api/montage.html" rel="canonical" />
+  <link href="../www/montage.html" rel="canonical" />
   <link href="../images/wand.png" rel="icon" />
   <link href="../images/wand.ico" rel="shortcut icon" />
   <link href="assets/magick.css" rel="stylesheet" />
   <main role="main" class="container">
     <div class="magick-template">
 <div class="magick-header">
-<p class="text-center"><a href="montage.html#Unknown method">Unknown method</a></p>
+<p class="text-center"><a href="montage.html#usage">Example Usage</a> • <a href="montage.html#options">Option Summary</a></p>
+
+<p class="lead magick-description">Use the <code>montage</code> program to create a composite image by combining several separate images.  The images are tiled on the composite image optionally adorned with a border, frame, image name, and more. See <a href="command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>montage</code> command or see below for example usages of the command.</p>
+
+<h2 class="magick-post-title"><a class="anchor" id="usage"></a>Example Usage</h2>
+
+<p>We list a few examples of the <code>montage</code> command here to illustrate its usefulness and ease of use.  To get started, let's montage two images into a single composite:</p>
+
+<pre class="highlight"><code>magick montage -background '#336699' -geometry +4+4 rose.jpg red-ball.png montage.jpg
+</code></pre>
+
+<ul>
+  <a href="../images/rose.jpg">
+  <img style="margin-top:14px; margin-bottom:14px;" src="../images/rose.jpg" width="70" height="46" alt="rose" />
+  </a>
+  <a href="../images/red-ball.png">
+  <img style="margin-top:2px; margin-bottom:2px;" src="../images/red-ball.png" width="70" height="70" alt="red ball" />
+  </a>
+  <img style="margin-top:27px; margin-bottom:27px;" src="../images/right.gif" width="20" height="20" alt="==>" />
+  <a href="../images/montage.jpg">
+  <img src="../images/montage.jpg" width="148" height="74" alt="montage" />
+  </a>
+</ul>
+
+<p>Ok, let's add some decorations:</p>
+
+<pre class="highlight"><code>magick montage -label %f -frame 5 -background '#336699' -geometry +4+4 rose.jpg red-ball.png frame.jpg
+</code></pre>
+
+<ul>
+  <a href="../images/rose.jpg">
+  <img style="margin-top:31px; margin-bottom:31px;" src="../images/rose.jpg" width="70" height="46" alt="rose.jpg" />
+  </a>
+  <a href="../images/red-ball.png">
+  <img style="margin-top:19px; margin-bottom:19px;" src="../images/red-ball.png" width="70" height="70" alt="red ball" />
+  </a>
+       <img style="margin-top:44px; margin-bottom:44px;" src="../images/right.gif" width="20" height="20" alt="==>" />
+  <a href="../images/frame.jpg">
+  <img src="../images/frame.jpg" width="176" height="108" alt="frame" />
+  </a>
+</ul>
+
+<p>You can find additional examples of using <code>montage</code> at <a href="../Usage/montage/">Examples of ImageMagick Usage</a> and <a href="http://www.ibm.com/developerworks/library/l-graf/?ca=dnt-428">Graphics from the Command Line</a>.  Further discussion is available in  <a href="http://www.ibm.com/developerworks/library/l-graf2/?ca=dgr-lnxw15GraphicsLine">More Graphics from the Command Line</a> and <a href="../Usage/">Examples of ImageMagick Usage</a>.</p>
+
+<h2 class="magick-post-title"><a class="anchor" id="options"></a>Option Summary</h2>
+
+<p>The <code>montage</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
+
+<table class="table table-sm table-striped">
+  <tbody>
+  <tr>
+    <th align="left">Option</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#adaptive-sharpen">-adaptive-sharpen <var>geometry</var></a></td>
+    <td>adaptively sharpen pixels; increase effect near edges</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#adjoin">-adjoin</a></td>
+    <td>join images into a single multi-image file</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#affine">-affine <var>matrix</var></a></td>
+    <td>affine transform matrix</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#alpha">-alpha</a></td>
+    <td>on, activate, off, deactivate, set, opaque, copy",
+transparent, extract, background, or shape the alpha channel</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#annotate">-annotate <var>geometry text</var></a></td>
+    <td>annotate the image with text</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
+    <td>decrypt image with this password</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#auto-orient">-auto-orient</a></td>
+    <td>automagically orient image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#background">-background <var>color</var></a></td>
+    <td>background color</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#blue-primary">-blue-primary <var>point</var></a></td>
+    <td>chromaticity blue primary point</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#blur">-blur <var>geometry</var></a></td>
+    <td>reduce image noise and reduce detail levels</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#border">-border <var>geometry</var></a></td>
+    <td>surround image with a border of color</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
+    <td>border color</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#caption">-caption <var>string</var></a></td>
+    <td>assign a caption to an image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#channel">-channel <var>type</var></a></td>
+    <td>apply option to select image channels</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#clone">-clone <var>index</var></a></td>
+    <td>clone an image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#coalesce">-coalesce</a></td>
+    <td>merge a sequence of images</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#colors">-colors <var>value</var></a></td>
+    <td>preferred number of colors in the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
+    <td>set image colorspace</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#comment">-comment <var>string</var></a></td>
+    <td>annotate image with comment</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#compose">-compose <var>operator</var></a></td>
+    <td>set image composite operator</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#composite">-composite</a></td>
+    <td>composite image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#compress">-compress <var>type</var></a></td>
+    <td>image compression type</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#crop">-crop <var>geometry</var></a></td>
+    <td>preferred size and location of the cropped image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#debug">-debug <var>events</var></a></td>
+    <td>display copious debugging information</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#define">-define <var>format:option</var></a></td>
+    <td>define one or more image format options</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#density">-density <var>geometry</var></a></td>
+    <td>horizontal and vertical density of the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#depth">-depth <var>value</var></a></td>
+    <td>image depth</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#display">-display <var>server</var></a></td>
+    <td>get image or font from this X server</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#dispose">-dispose <var>method</var></a></td>
+    <td>layer disposal method</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#dither">-dither  <var>method</var></a></td>
+    <td>apply error diffusion to image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#draw">-draw <var>string</var></a></td>
+    <td>annotate the image with a graphic primitive</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#duplicate">-duplicate <var>count,indexes</var></a></td>
+    <td>duplicate an image one or more times</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#endian">-endian <var>type</var></a></td>
+    <td>endianness (MSB or LSB) of the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#extent">-extent <var>geometry</var></a></td>
+    <td>set the image size</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#extract">-extract <var>geometry</var></a></td>
+    <td>extract area from image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#fill">-fill <var>color</var></a></td>
+    <td>color to use when filling a graphic primitive</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#filter">-filter <var>type</var></a></td>
+    <td>use this filter when resizing an image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#flatten">-flatten</a></td>
+    <td>flatten a sequence of images</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#flip">-flip</a></td>
+    <td>flip image in the vertical direction</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#flop">-flop</a></td>
+    <td>flop image in the horizontal direction</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#font">-font <var>name</var></a></td>
+    <td>render text with this font</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#frame">-frame <var>geometry</var></a></td>
+    <td>surround image with an ornamental border</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#gamma">-gamma <var>value</var></a></td>
+    <td>level of gamma correction</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
+    <td>preferred size or location of the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#gravity">-gravity <var>type</var></a></td>
+    <td>horizontal and vertical text placement</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#green-primary">-green-primary <var>point</var></a></td>
+    <td>chromaticity green primary point</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#help">-help</a></td>
+    <td>print program options</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#identify">-identify</a></td>
+    <td>identify the format and characteristics of the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#interlace">-interlace <var>type</var></a></td>
+    <td>type of image interlacing scheme</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
+    <td>pixel color interpolation method</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#kerning">-kerning <var>value</var></a></td>
+    <td>the space between two characters</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#label">-label <var>string</var></a></td>
+    <td>assign a label to an image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#limit">-limit <var>type value</var></a></td>
+    <td>pixel cache resource limit</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#log">-log <var>format</var></a></td>
+    <td>format of debugging information</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#mattecolor">-mattecolor <var>color</var></a></td>
+    <td>frame color</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#mode">-mode <var>type</var></a></td>
+    <td>framing style</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#monitor">-monitor</a></td>
+    <td>monitor progress</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#monochrome">-monochrome</a></td>
+    <td>transform image to black and white</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#origin">-origin <var>geometry</var></a></td>
+    <td>image origin</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#page">-page <var>geometry</var></a></td>
+    <td>size and location of an image canvas (setting)</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#pointsize">-pointsize <var>value</var></a></td>
+    <td>font point size</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#polaroid">-polaroid <var>angle</var></a></td>
+    <td>simulate a Polaroid picture</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#profile">-profile <var>filename</var></a></td>
+    <td>add, delete, or apply an image profile</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#quality">-quality <var>value</var></a></td>
+    <td>JPEG/MIFF/PNG compression level</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
+    <td>reduce image colors in this colorspace</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#quiet">-quiet</a></td>
+    <td>suppress all warning messages</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#red-primary">-red-primary <var>point</var></a></td>
+    <td>chromaticity red primary point</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#regard-warnings">-regard-warnings</a></td>
+    <td>pay attention to warning messages.</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#repage">-repage <var>geometry</var></a></td>
+    <td>size and location of an image canvas</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#resize">-resize <var>geometry</var></a></td>
+    <td>resize the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
+    <td>settings remain in effect until parenthesis boundary.</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
+    <td>apply Paeth rotation to the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
+    <td>horizontal and vertical sampling factor</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#scale">-scale <var>geometry</var></a></td>
+    <td>scale the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#scenes">-scenes<var>range</var></a></td>
+    <td>image scene range</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#seed">-seed <var>value</var></a></td>
+    <td>seed a new sequence of pseudo-random numbers</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#shadow">-shadow <var>geometry</var></a></td>
+    <td>simulate an image shadow</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#size">-size <var>geometry</var></a></td>
+    <td>width and height of image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#strip">-strip</a></td>
+    <td>strip image of all profiles and comments</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#stroke">-stroke <var>color</var></a></td>
+    <td>graphic primitive stroke color</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#synchronize">-synchronize</a></td>
+    <td>synchronize image to storage device</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#taint">-taint</a></td>
+    <td>mark the image as modified</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#texture">-texture <var>filename</var></a></td>
+    <td>name of texture to tile onto the image background</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#tile">-tile <var>filename</var></a></td>
+    <td>tile image when filling a graphic primitive</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#tile-offset">-tile-offset <var>geometry</var></a></td>
+    <td>set the image tile offset</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#title">-title</a></td>
+    <td>decorate the montage image with a title</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#transform">-transform</a></td>
+    <td>affine transform image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#transparent">-transparent <var>color</var></a></td>
+    <td>make this color transparent within the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#transpose">-transpose</a></td>
+    <td>flip image in the vertical direction and rotate 90 degrees</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
+    <td>transparent color</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#treedepth">-treedepth <var>value</var></a></td>
+    <td>color tree depth</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#trim">-trim</a></td>
+    <td>trim image edges</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#type">-type <var>type</var></a></td>
+    <td>image type</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#units">-units <var>type</var></a></td>
+    <td>the units of image resolution</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#unsharp">-unsharp <var>geometry</var></a></td>
+    <td>sharpen the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#verbose">-verbose</a></td>
+    <td>print detailed information about the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#version">-version</a></td>
+    <td>print version information</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#view">-view</a></td>
+    <td>FlashPix viewing transforms</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
+    <td>access method for pixels outside the boundaries of the image</td>
+  </tr>
+
+  <tr>
+    <td><a href="command-line-options.html#white-point">-white-point <var>point</var></a></td>
+    <td>chromaticity white point</td>
+  </tr>
+
+  </tbody>
+</table>
 
 </div>
     </div>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:39 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:10 -->
\ No newline at end of file
index 832228d16534825ef4df6451d00647bdc1fcdd60..709c0c268027376099975dda373e7e3d4fd9974f 100644 (file)
@@ -217,4 +217,4 @@ dpx:user.data
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:12 -->
\ No newline at end of file
index 8b6f9aa3b0066708d7bbe9ceb328deb3eedbba20..e827474d556b265eda02e158514097fcae7b594d 100644 (file)
@@ -141,4 +141,4 @@ InitImageMagickOpenCL(MAGICK_OPENCL_DEVICE_SELECT_USER, (void*)(myDevices+2), NU
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:13 -->
\ No newline at end of file
index 69125655b113548190e673454aace8480366a690..777efc858a94d80c7b43dd1a4585bcfc42b88673 100644 (file)
@@ -124,4 +124,4 @@ Performance[8]: 40i 4.831ips 0.872e 15.680u 0:02.070</code></pre>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 15:00 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:13 -->
\ No newline at end of file
index de43dd091f20dda725aa25234dd198a8f67576fc..ba8ed7c90bc2b8625b2f38181a3c68d77085448e 100644 (file)
@@ -1864,12 +1864,6 @@ $width = $image-&gt;[3]-&gt;Get('columns');
     <td>IPTC profile</td>
   </tr>
 
-  <tr>
-    <td>magick</td>
-    <td><i>string</i></td>
-    <td>get the image format tag</td>
-  </tr>
-
   <tr>
     <td>mean-error</td>
     <td><i>double</i></td>
@@ -2310,11 +2304,6 @@ $image-&gt;BlobToImage(@blob);
 <pre class="highlight"><code>@features = $image-&gt;Features(1);
 </code></pre>
 
-<p>Finally, the Transform() method accepts a fully-qualified geometry specification for cropping or resizing one or more images.  For example,</p>
-
-<pre class="highlight"><code>$p = $images-&gt;Transform(crop=>'100x100+10+60');
-</code></pre>
-
 <p>The Flatten() method flattens a set of images and returns it. For example,</p>
 
 <pre class="highlight"><code>$p = $images-&gt;Flatten(background=&gt;'none');
@@ -2355,6 +2344,10 @@ $image-&gt;Mogrify('crop', '340x256+0+0');
 <pre class="highlight"><code>$image-&gt;MogrifyRegion('100x100+40+50', 'modulate', brightness=&gt;50);
 </code></pre>
 
+<p>PerceptualHash() maps visually identical images to the same or similar hash-- useful in image retrieval, authentication, indexing, or copy detection as well as digital watermarking.  For each channel and for the sRGB and the HCLp colorspaces, 7 hash values are returned  For an sRGB images, for example, expect 42 perceptual hashes.</p>
+
+<pre class="highlight"><code>@phash = $image-&gt;PerceptualHash();</code></pre>
+
 <p>Ping() is a convenience method that returns information about an image without having to read the image into memory. It returns the width, height, file size in bytes, and the file format of the image. You can specify more than one filename but only one filehandle:</p>
 
 <pre class="highlight"><code>($width, $height, $size, $format) = $image-&gt;Ping('logo.png');
@@ -2404,8 +2397,8 @@ $preview-&gt;Display();
 <p>Call QueryColor() with no parameters to return a list of known colors names or specify one or more color names to get these attributes: red, green, blue, and opacity value.</p>
 
 <pre class="highlight"><code>@colors = $image-&gt;QueryColor();
-($red, $green, $blue, $opacity) = $image-&gt;QueryColor('cyan');
-($red, $green, $blue, $opacity) = $image-&gt;QueryColor('#716bae');
+($red, $green, $blue) = $image-&gt;QueryColor('cyan');
+($red, $green, $blue, $alpha) = $image-&gt;QueryColor('#716baeff');
 </code></pre>
 
 <p>QueryColorname() accepts a color value and returns its respective name or hex value;</p>
@@ -2574,4 +2567,4 @@ XServerWarning
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 16:09 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:09 -->
\ No newline at end of file
index b6b81fd05505aca2cf8be643f4334cd39c776aae..68be837164655ea7f95e0494976e079b456e084b 100644 (file)
@@ -446,6 +446,8 @@ be applied to expand the one channel into separate RGB (or other) channels.
 <dd class="col-md-8">This option now requires an argument, the image colorspace (e.g. +combine sRGB).</dd>
 <dt class="col-md-4">-gamma</dt>
 <dd class="col-md-8">Multiple gamma arguments (e.g. <code>-gamma 1,2,3</code>) are no longer supported, instead use <code>-channel</code> (e.g. <code>-channel blue -gamma 2)</code>.</dd>
+<dt class="col-md-4">-region</dt>
+<dd class="col-md-8">The draw transformations are relative to the upper left corner of the image, previously in IMv6 they were relative to the region.</dd>
 </dl>
 
 <h3>New Options</h3>
@@ -665,4 +667,4 @@ example "+annotate", "+resize", "+clut", and "+draw" .</p>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:15 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 16:09 -->
\ No newline at end of file
index 612cd4d452dc8f4c864a9c5def9eafc83ece3a29..7be375a72c57f7659d43220b7bc7af3350ff30f2 100644 (file)
@@ -226,4 +226,4 @@ while number of nodes with (n2 &gt; 0) &gt; required maximum number of colors
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 16:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 16:15 -->
\ No newline at end of file
index 84398c796d267698c9b1053c523d872520f45842..720de479577a0ed395cbbd780aaf3d21de4700d2 100644 (file)
@@ -319,6 +319,10 @@ $MAGICK_FONT_PATH</code></pre>
     <td>MAGICK_HOME</td>
     <td>Set the path at the top of ImageMagick installation directory.  This path is consulted by <var>uninstalled</var> builds of ImageMagick which do not have their location hard-coded or set by an installer.</td>
   </tr>
+  <tr>
+    <td>MAGICK_LIST_LENGTH_LIMIT</td>
+    <td>Set the maximum length of an image sequence.</td>
+  </tr>
   <tr>
     <td><a class="anchor" id="map-limit"></a>MAGICK_MAP_LIMIT</td>
     <td>Set maximum amount of memory map in bytes to allocate for the pixel cache.  When this limit is exceeded, the image pixels are cached to disk (see MAGICK_DISK_LIMIT).</td>
@@ -365,7 +369,7 @@ $MAGICK_FONT_PATH</code></pre>
   </tr>
 </table></div>
 
-<p>Define arguments for the <code>MAGICK_AREA_LIMIT</code>, <code>MAGICK_DISK_LIMIT</code>, <code>MAGICK_MAP_LIMIT</code>, and <code>MAGICK_MEMORY_LIMIT</code> environment variables with SI prefixes (.e.g <code>100MB</code>). <code>MAGICK_WIDTH_LIMIT</code> and <code>MAGICK_HEIGHT_LIMIT</code> accepts pixel suffixes such as MP for mega-pixels (e.g. 100MP).</p>
+<p>Define arguments for the <code>MAGICK_MEMORY_LIMIT</code>, <code>MAGICK_DISK_LIMIT</code>, and <code>MAGICK_MEMORY_LIMIT</code> environment variables with SI prefixes (.e.g <code>100MB</code>). <code>MAGICK_WIDTH_LIMIT</code>, <code>MAGICK_HEIGHT_LIMIT</code> and <code>MAGICK_AREA_LIMIT</code> accepts pixel suffixes such as MP for mega-pixels (e.g. 100MP).</p>
 
 </div>
     </div>
@@ -390,4 +394,4 @@ $MAGICK_FONT_PATH</code></pre>
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:34 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 12:52 -->
\ No newline at end of file
index 0b1cd569a77bfdcd3599df654757b792a59a4ef8..f64a1f13ea7174bd20ab7001e1dd6eb32e675f03 100644 (file)
@@ -84,7 +84,9 @@
 <p class="text-center"><a href="security-policy.html#policy">Security Policy </a> • <a href="security-policy.html#synchronize">Pixel Cache Synchronize Policy</a> • <a href="security-policy.html#zero-configuration">Zero Configuration Security Policy</a> • <a href="security-policy.html#other">Other Security Considerations</a></p>
 
 
-<p class="lead magick-description">ImageMagick includes a security policy configuration file, <a href="https://www.imagemagick.org/source/policy.xml">policy.xml</a>. It is useful for limiting the resources consumed by ImageMagick and can help prevent a denial-of-service or other exploits.</p>
+<p class="lead magick-description">ImageMagick best practices strongly encourages you to configure a security <a href="https://www.imagemagick.org/source/policy.xml">policy.xml</a> that suits your local environment.  The policy is open by default.  This affords maximum utility for ImageMagick installations that run in a sandboxed environment, perhaps in a Docker instance, or behind a firewall where security risks are greatly diminished as opposed to a public website.</p>
+
+<p>Security is a trade-off between a secure environment and convenience. If you want ImageMagick to be optimally secure, you could, for example, limit ImageMagick to only read or write web safe images (e.g. GIF, JPEG, PNG).   However, ImageMagick provides for a more secure option by adjusting the security policy per the requirements of your local environment or organizational policies. The security policy covers areas such as memory, which paths to read or write, how many images are permitted in an image sequence, how long a workflow can run, how much disk the image pixels can consume, a secret passphrase for remote connections, which coders are permitted or denied, and others. These policies should provide robust coverage to not only secure your environment per your requirements but also ensure ImageMagick remains a good citizen (e.g. prevent thrashing with large images) in your local environment.</p>
 
 <p>As an example, suppose you download an image from the internet and unbeknownst to you its been crafted to generate a 20000 by 20000 pixel image. ImageMagick attempts to allocate enough resources (memory, disk) and your system will likely deny the resource request and exit. However, its also possible that your computer might be temporarily sluggish or unavailable or ImageMagick may abort. To prevent such a scenario, you can set limits in the <code>policy.xml</code> configuration file. You might wonder why ImageMagick does not already include reasonable limits? Simply because what is reasonable in your environment, might not be reasonable to someone else. For example, you may have ImageMagick sandboxed where security is not a concern, whereas another user may use ImageMagick to process images on their publically accessible website.  Or ImageMagick runs on a host with 1TB of memory whereas another ImageMagick instance runs on an iPhone. By policy, permitting giga-pixel image processing on the large memory host makes sense, not so much for the resource constrained iPhone. If you utilize ImageMagick from a public website, you may want to increase security by preventing usage of the MVG or HTTPS coders. Only you can decide what are reasonable limits taking in consideration your environment. We provide this policy with reasonable limits and encourage you to modify it to suit your local environment:</p>
 
   &lt;policy domain="resource" name="thread" value="2"/>
   &lt;policy domain="resource" name="throttle" value="0"/>
   &lt;policy domain="resource" name="time" value="120"/>
+  &lt;policy domain="resource" name="list-length" value="128"/>
   &lt;policy domain="system" name="precision" value="6"/>
   &lt;policy domain="cache" name="shared-secret" stealth="true" value="replace with your secret phrase"/>
   &lt;policy domain="coder" rights="none" pattern="MVG" />
   &lt;policy domain="path" rights="none" pattern="@*"/>  <!-- indirect reads not permitted -->
 &lt;/policymap></code></pre>
 
-<p>Since we process multiple simultaneous sessions, we do not want any one session consuming all the available memory.With this policy, large images are cached to disk. If the image is too large and exceeds the pixel cache disk limit, the program exits. In addition, we place a time limit to prevent any run-away processing tasks. If any one image has a width or height that exceeds 8192 pixels, an exception is thrown and processing stops. As of ImageMagick 7.0.1-8 and 6.9.4-6, you can prevent the use of any delegate or all delegates (set the pattern to "*"). Note, prior to these releases, use a domain of <code>coder</code> to prevent delegate usage (e.g. <code>domain="coder" rights="none" pattern="HTTPS"</code>). We prevent users from executing any image filters.  The policy also prevents indirect reads. If you want to, for example, read text from a file (e.g. <code>caption:@myCaption.txt</code>), you'll need to disable the <code>path</code> policy.</p>
+<p>Since we process multiple simultaneous sessions, we do not want any one session consuming all the available memory. With this policy, large images are cached to disk. If the image is too large and exceeds the pixel cache disk limit, the program exits. In addition, we place a time limit to prevent any run-away processing tasks. If any one image has a width or height that exceeds 8192 pixels or if an image sequence exceeds 128 frames, an exception is thrown and processing stops. As of ImageMagick 7.0.1-8 and 6.9.4-6, you can prevent the use of any delegate or all delegates (set the pattern to "*"). Note, prior to these releases, use a domain of <code>coder</code> to prevent delegate usage (e.g. <code>domain="coder" rights="none" pattern="HTTPS"</code>). We prevent users from executing any image filters.  The policy also prevents indirect reads. If you want to, for example, read text from a file (e.g. <code>caption:@myCaption.txt</code>), you'll need to disable the <code>path</code> policy.</p>
 
 <p>Here is what you can expect when you restrict the HTTPS coder, for example:</p>
 
@@ -131,6 +134,9 @@ convert: no images defined `wizard.jpg'</pre>
 <p>Some image processing algorithms (e.g. wavelet transform) might consume a substantial amount of memory to complete.  ImageMagick maintains a separate memory pool for these large resource requests and as of 7.0.6-1 permits you to set a maximum request limit.  If the limit is exceeded, the allocation is instead memory-mapped on disk.  Here we limit the maximum memory request by policy:</p>
 <pre class="highlight"><code>&lt;policy domain="system" name="max-memory-request" value="256MiB"/> </code></pre>
 
+<p>As of ImageMagick version 7.0.4-23, you can limit the maximum number of images in a sequence.  For example, to limit an image sequence to 64 frames, use:</p>
+<pre class="highlight"><code>&lt;policy domain="resource" name="list-length" value="64"/></code></pre>
+
 <p>You can verify your policy changes are in effect with this command:</p>
 
 <pre class="pre-scrollable">-> identify -list policy
@@ -241,4 +247,4 @@ Path: [built-in]
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:31 -->
\ No newline at end of file
index 5f3fcfa93fad64fe42dcb976be6e779316836f40..0dc9709f39234de51515f40b83ac0eeb09b76b1a 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:46 -->
\ No newline at end of file
index 655c51241038ef34b4938c25848326fce3d3b3c2..cdabb08ca3f8d0e873a4d8987a26c48a0381a5df 100644 (file)
@@ -296,4 +296,4 @@ magick display -depth 8 -size 640x480 rgb:pixels.dat
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 17:13 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 16:50 -->
\ No newline at end of file
index ac06e36484a7e3745f3c2a5cd0295c6960c3e524..5d31747d3b3d8d2c31ce8e76a42c0d830e85eb48 100644 (file)
@@ -82,7 +82,7 @@ svn update
 </p>
     <p><a href="subversion.html#">Back to top</a> •
     <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
-    <a href="www/www/www/www/www/www/www/www/www/www/../www/../www/../www/../www/../www/../www/../www/../www/https://www.imagemagick.org/script/contact.php">Contact Us</a></p>
+    <a href="www/www/www/www/www/www/www/www/www/www/../www/../www/../www/../www/../www/../www/../www/../www/../www/https://www.imagemagick.org/script/contact.php">Contact Us</a></p>
         <p><small>© 1999-2018 ImageMagick Studio LLC</small></p>
   </footer>
 </div><!-- /.container -->
index 4cde0bf94f69659468bd3b32820b00a55ad92652..be1f999731584140277fc2d3f58ba0472f907a21 100644 (file)
@@ -181,4 +181,4 @@ USA
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:51 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 13:46 -->
\ No newline at end of file
index 5415a625d76bb95a443e2df55bdb8ea4b8d02ce6..a4c35d0cd3fc6f62f56e9458d8762169c9e5834c 100644 (file)
   <script>window.jQuery || document.write('<script src="assets/jquery.min.js"><\/script>')</script>
 </body>
 </html>
-<!-- Magick Cache 31st December 2017 14:35 -->
\ No newline at end of file
+<!-- Magick Cache 18th February 2018 14:31 -->
\ No newline at end of file