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

<div class="sponsbox">
<div  class="sponsor">
   <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
</div>
<div  class="sponsor">
  <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
</div>
<div  class="sponsor">
  <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
</div>
<div  class="sponsor">
  <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
</div>
<div  class="sponsor">
  <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
</div>
<div  class="sponsor">
  <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
</div>
<div  class="sponsor">
   <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
</div>
</div>
</div>
</div>

<div class="eastbar">
  <script type="text/javascript">
  <!--
    google_ad_client = "pub-3129977114552745";
    google_ad_slot = "0574824969";
    google_ad_width = 160;
    google_ad_height = 600;
  //-->
  </script>
  <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  </script>
</div>

<div class="main">

<p class="navigation-index">[<a href="#usage">Example Usage</a> &bull; <a href="#options">Option Summary</a>]</p>

<div class="doc-section">
<p>The <kbd>conjure</kbd> program gives you the ability to perform custom image processing tasks from a script written in the Magick Scripting Language (MSL).  MSL is XML-based and consists of action statements with attributes.  Actions include reading an image, processing an image, getting attributes from an image, writing an image, and more.  An attribute is a key/value pair that modifies the behavior of an action.  See <a href="../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <kbd>conjure</kbd> command or see below for example usages of the command.</p>
</div>

<h2><a name="usage"></a>Example Usage</h2>
<div class="doc-section">

<p>We list a few examples of the <kbd>conjure</kbd> command here to illustrate its usefulness and ease of use. To get started, here is simple <kbd>conjure</kbd> command:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>conjure -dimensions 400x400 incantation.msl</span></p>
<p>The MSL script <a href="../www/source/incantation.msl">incantation.msl</a> used above is here:</p>

<pre class="text">
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;image size="400x400"&gt;
    &lt;read filename="image.gif" /&gt;
    &lt;get width="base-width" height="base-height" /&gt;
    &lt;resize geometry="%[dimensions]" /&gt;
    &lt;get width="width" height="height" /&gt;
    &lt;print output="Image sized from %[base-width]x%[base-height] to %[width]x%[height].\n" /&gt;
    &lt;write filename="image.png" /&gt;
  &lt;/image&gt;
</pre>

<p>In this example, a family stayed home for their vacation but as far as their friends are concerned they went to a beautiful beach in the Caribbean:</p>

<pre class="text">
  &lt;?xml version="1.0" encoding="UTF-8"?>
  &lt;group>
      &lt;image id="family">
          &lt;read filename="family.gif"/>
          &lt;resize geometry="300x300"/>
      &lt;/image>
      &lt;image id="palm-trees">
          &lt;read filename="palm-trees.gif"/>
          &lt;resize geometry="300x100"/>
      &lt;/image>
      &lt;image>
          &lt;read filename="beach.jpg"/>
          &lt;composite image="family" geometry="+30+40"/>
          &lt;composite image="palm-trees" geometry="+320+90"/>
      &lt;/image>
      &lt;write filename="family-vacation.png"/>
  &lt;/group>
</pre>

<p>Here we display the width in pixels of text for a particular font and pointsize.</p>

<pre class="text">
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;image&gt;
    &lt;query-font-metrics text="ImageMagick" font="helvetica" pointsize="48" /&gt;
    &lt;print output="Text width is %[msl:font-metrics.width] pixels.\n" /&gt;
  &lt;/image&gt;
</pre>

<p>The <kbd>query-font-metrics</kbd> tag supports these properties:</p>

<pre class="text">
    msl:font-metrics.pixels_per_em.x
    msl:font-metrics.pixels_per_em.y
    msl:font-metrics.ascent
    msl:font-metrics.descent
    msl:font-metrics.width
    msl:font-metrics.height
    msl:font-metrics.max_advance
    msl:font-metrics.bounds.x1
    msl:font-metrics.bounds.y1
    msl:font-metrics.bounds.x2
    msl:font-metrics.bounds.y2
    msl:font-metrics.origin.x
    msl:font-metrics.origin.y
</pre>

<p>MSL supports most methods and attributes discussed in the <a href="../www/perl-magick.html">Perl API for ImageMagick</a>.
</p>

<p>In addition, MSL supports the <kbd>swap</kbd> element with a single <kbd>indexes</kbd> element.</p>

<p>You can find additional examples of using <kbd>conjure</kbd> in <a href="http://www-106.ibm.com/developerworks/library/l-graf/?ca=dnt-428">Graphics from the Command Line</a>.  Further discussion is available in <a href="http://www-106.ibm.com/developerworks/library/l-graf2/?ca=dgr-lnxw15GraphicsLine">More Graphics from the Command Line</a> and <a href="http://www.imagemagick.org/Usage/">Examples of ImageMagick Usage</a>.</p>

</div>

<h2><a name="options"></a>Option Summary</h2>
<div class="doc-section">

<p>The <kbd>conjure</kbd> command recognizes these options.  Click on an option to get more details about how that option works.</p>

<table class="doc">
  <tbody>
  <tr>
    <th align="left">Option</th>
    <th align="left">Description</th>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#debug">-debug <em class="option">events</em></a></td>
    <td valign="top">display copious debugging information</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#help">-help</a></td>
    <td valign="top">print program options</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#log">-log <em class="option">format</em></a></td>
    <td valign="top">format of debugging information</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#monitor">-monitor</a></td>
    <td valign="top">monitor progress</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#quiet">-quiet</a></td>
    <td valign="top">suppress all warning messages</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
    <td valign="top">pay attention to warning messages.</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#seed">-seed <em class="option">value</em></a></td>
    <td valign="top">seed a new sequence of pseudo-random numbers</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#verbose">-verbose</a></td>
    <td valign="top">print detailed information about the image</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#version">-version</a></td>
    <td valign="top">print version information</td>
  </tr>

  </tbody>
</table>

</div>

</div>

<div id="linkbar">
    <span id="linkbar-west">&nbsp;</span>
    <span id="linkbar-center">
      <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
      <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
    </span>
    <span id="linkbar-east">&nbsp;</span>
  </div>
  <div class="footer">
    <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
    <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
  </div>
  <div style="clear: both; margin: 0; width: 100%; "></div>
  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-17690367-1']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script>
</body>
</html>
