]> granicus.if.org Git - imagemagick/blob - www/conjure.html
(no commit message)
[imagemagick] / www / conjure.html
1 \r
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" \r
3   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
4 <html version="-//W3C//DTD XHTML 1.1//EN"\r
5       xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"\r
6       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
7       xsi:schemaLocation="http://www.w3.org/1999/xhtml\r
8                           http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">\r
9 <head>\r
10   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
11   <meta name="google-site-verification" content="MxsMq6bdLOx0KSuz1MY6yG9ZTIJ7_7DVRfl5NCAT5Yg"/>\r
12   <title>ImageMagick: Command-line Tools: Conjure</title>
13   <meta http-equiv="Content-Language" content="en-US"/>
14   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16   <meta name="Application-name" content="ImageMagick"/>
17   <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition resize, rotate, shear, distort and transform images automagically."/>
18   <meta name="Application-url" content="http://www.imagemagick.org"/>
19   <meta name="Generator" content="PHP"/>
20   <meta name="Keywords" content="command-line, tools:, conjure, ImageMagick, PerlMagick, image processing, OpenMP, software development library, image, photo, software, Magick++, MagickWand"/>
21   <meta name="Rating" content="GENERAL"/>
22   <meta name="Robots" content="INDEX, FOLLOW"/>
23   <meta name="Generator" content="ImageMagick Studio LLC"/>
24   <meta name="Author" content="ImageMagick Studio LLC"/>
25   <meta name="Revisit-after" content="2 DAYS"/>
26   <meta name="Resource-type" content="document"/>
27   <meta name="Copyright" content="Copyright (c) 1999-2012 ImageMagick Studio LLC"/>
28   <meta name="Distribution" content="Global"/>
29   <link rel="icon" href="../images/wand.png"/>
30   <link rel="shortcut icon" href="../images/wand.ico"  type="images/x-icon"/>
31   <link rel="canonical" href="http://www.imagemagick.org" />\r
32   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
33   <!-- Add jQuery library -->\r
34   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>\r
35   \r
36   <!-- Optionaly include easing and/or mousewheel plugins -->\r
37   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.easing-1.3.pack.js"></script>\r
38   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.mousewheel-3.0.6.pack.js"></script>\r
39   \r
40   <!-- Add fancyBox -->\r
41   <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/jquery.fancybox.css?v=2.0.3" type="text/css" media="screen" />\r
42   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox.pack.js?v=2.0.3"></script>\r
43   \r
44   <!-- Optionaly include button and/or thumbnail helpers -->\r
45   <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.css?v=2.0.3" type="text/css" media="screen" />\r
46   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>\r
47   \r
48   <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.css?v=2.0.3" type="text/css" media="screen" />\r
49   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>\r
50   <script type="text/javascript">\r
51         $(document).ready(function() {\r
52                 $(".fancybox").fancybox();\r
53         });\r
54   </script>\r
55   <!-- ImageMagick style -->\r
56   <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />\r
57   <style type="text/css" media="all">\r
58     @import url("../www/magick.css");\r
59   </style>\r
60 </head>\r
61 \r
62 <body id="www-imagemagick-org">\r
63 <div class="titlebar">\r
64 <div style="margin: 17px auto; float: left;">\r
65   <script type="text/javascript">\r
66   <!--\r
67     google_ad_client = "pub-3129977114552745";\r
68     google_ad_slot = "5439289906";\r
69     google_ad_width = 728;\r
70     google_ad_height = 90;\r
71   //-->\r
72   </script>\r
73   <script type="text/javascript"\r
74     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
75   </script>\r
76 </div>\r
77 <a href="http://www.imagemagick.org/discourse-server/">\r
78   <img src="../images/logo.jpg"\r
79   alt="ImageMagick Logo"\r
80   style="width: 123px; height: 118px; border: 0px; float: right;" /></a>\r
81 <a href="../index.html">\r
82   <img src="../images/sprite.jpg"\r
83   alt="ImageMagick Sprite"\r
84   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
85 </div>\r
86 \r
87 <div class="westbar">\r
88 \r
89 <div class="menu">
90   <a title="About ImageMagick" href="../index.html">About ImageMagick</a>
91 </div>
92 <div class="menu">
93   <a title="Binary Releases" href="../www/binary-releases.html">Binary Releases</a>
94 </div>
95 <div class="sub">
96     <a title="Binary Release: Unix" href="../www/binary-releases.html#unix">Unix</a>
97 </div>
98 <div class="sub">
99     <a title="Binary Release: MacOS X" href="../www/binary-releases.html#macosx">Mac OS X</a>
100 </div>
101 <div class="sub">
102     <a title="Binary Release: iOS" href="../www/binary-releases.html#iOS">iOS</a>
103 </div>
104 <div class="sub">
105     <a title="Binary Release: Windows" href="../www/binary-releases.html#windows">Windows</a>
106 </div>
107 <div class="sep"></div>\r
108 <div class="menu">
109   <a title="Command-line Tools" href="../www/command-line-tools.html">Command-line Tools</a>
110 </div>
111 <div class="sub">
112     <a title="Command-line Tools: Processing" href="../www/command-line-processing.html">Processing</a>
113 </div>
114 <div class="sub">
115     <a title="Command-line Tools: Options" href="../www/command-line-options.html">Options</a>
116 </div>
117 <div class="sub">
118     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
119 </div>
120 <div class="menu">
121   <a title="Program Interfaces" href="../www/api.html">Program Interfaces</a>
122 </div>
123 <div class="sub">
124     <a title="Program Interface: MagickWand" href="../www/magick-wand.html">MagickWand</a>
125 </div>
126 <div class="sub">
127     <a title="Program Interface: MagickCore" href="../www/magick-core.html">MagickCore</a>
128 </div>
129 <div class="sub">
130     <a title="Program Interface: PerlMagick" href="../www/perl-magick.html">PerlMagick</a>
131 </div>
132 <div class="sub">
133     <a title="Program Interface: Magick++" href="../www/magick++.html">Magick++</a>
134 </div>
135 <div class="sep"></div>\r
136 <div  class="menu">
137    <a title="Install from Source" href="../www/install-source.html">Install from Source</a>
138 </div>
139 <div class="sub">
140     <a title="Install from Source: Unix" href="../www/install-source.html#unix">Unix</a>
141 </div>
142 <div class="sub">
143     <a title="Install from Source: Windows" href="../www/install-source.html#windows">Windows</a>
144  </div>
145 <div class="menu">
146   <a title="Resources" href="../www/resources.html">Resources</a>
147 </div>
148 <div class="menu">
149   <a title="Architecture" href="../www/architecture.html">Architecture</a>
150 </div>
151 <div class="menu">
152   <a title="Download" href="../www/download.html">Download</a>
153 </div>
154 <div class="sep"></div>\r
155 <div class="menu">
156   <a title="Search" href="../www/search.html">Search</a>
157 </div>
158 <div class="sep"></div>\r
159 <div class="menu">
160   <a title="Site Map" href="../www/sitemap.html">Site Map</a>
161 </div>
162 <div  class="sub">
163   <a title="Site Map: Links" href="../www/links.html">Links</a>
164 </div>
165 <div class="sep"></div>\r
166 <div class="menu">
167   <a rel="follow" title="Sponsors" href="../www/sponsors.html">Sponsors:</a>
168
169   <a href="http://www.networkredux.com"> <img src="../images/networkredux.png" width="140" height="31" alt="[sponsor]" style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
170   <a href="http://www.dinodirect.com/ipads-tablets/"> <img src="../images/dino-direct.jpg" width="140" height="90" alt="[sponsor]" style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a><!-- 201204010120 mickey@163... -->
171 <div class="sponsbox">
172 <div class="sponsor">
173   <a rel="follow" title="Android Tablet" href="http://www.dinodirect.com/ipads-tablets/">Android Tablet</a><!-- 201204010120 mickey@163... -->
174 </div>
175 <div class="sponsor">
176   <a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
177 </div>
178 <div class="sponsor">
179   <a rel="follow" title="Sponsor: Autos Part" href="http://www.pkwteile.de/autoteile">Autos Part</a><!-- 201203010270 info@pkwte... -->
180 </div>
181 <div class="sponsor">
182   <a rel="follow" title="Sponsor: Web Site Hosting" href="http://webhostinggeeks.com">Web Site Hosting</a><!-- 201302010900 funds@enmob... -->
183 </div>
184 <div class="sponsor">
185   <a rel="follow" title="Sponsor: Tenant Check" href="http://www.rentmethod.com/">Tenant Check</a><!-- 201203010090 chris@rentm... -->
186 </div>
187 <div class="sponsor">
188   <a rel="follow" title="Sponsor: VPS" href="http://www.interdominios.com/vps">VPS</a><!-- 201204010090 barsh@inter... -->
189 </div>
190 <div class="sponsor">
191    <a rel="follow" title="Sponsor: Premium Quality Stock Photos" href="http://www.f1online.pro/en/">Premium Quality Stock Photos</a><!-- 2012080100540 ... -->
192 </div>
193 <div class="sponsor">
194   <a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201301010090s jen@seo lowprofilelinks -->
195 </div>
196 <div class="sponsor">
197    <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 2012070100250 ... -->
198 </div>
199 <div class="sponsor">
200   <a rel="follow" title="Sponsor: Managed Server" href="http://www.robhost.de">Managed Server</a><!-- 201210010720 klikics... -->
201 </div>
202 <div class="sponsor">
203    <a rel="follow" title="Sponsor: Stock Photography" href="http://www.fotosearch.com/">Stock Photography</a><!-- 2012040100250 ... -->
204 </div>
205 <div class="sponsor">
206   <a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540 suvalj -->
207 </div>
208 <div class="sponsor">
209    <a rel="follow" title="Sponsor: Royalty Free Stock Images" href="http://www.canstockphoto.com/">Royalty Free Stock Images</a><!-- 2012050100360 support@can -->
210 </div>
211 <div class="sponsor">
212   <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
213 </div>
214 <div class="sponsor">
215   <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
216 </div>
217 <div class="sponsor">
218    <a rel="follow" title="Sponsor: Computer Wallpaper" href="http://www.free-computer-wallpapers.com">Computer Wallpaper</a><!-- 2012030100150 webinvasion1@y...-->
219 </div>
220 <div class="sponsor">
221    <a rel="follow" title="Sponsor: Schlüsseldienst Berlin BSD" href="http://www.schluesseldienst-berlin.de">Schlüsseldienst Berlin BSD</a><!-- 2012050100025 info@schlues-->
222 </div>
223 </div>
224 </div>
225 </div>\r
226 \r
227 <div class="eastbar">\r
228   <div class="g-plusone" data-size="standard" data-count="false"></div>\r
229   <script type="text/javascript">\r
230     window.___gcfg = {\r
231       lang: 'en-US'\r
232     };\r
233 \r
234     (function() {\r
235       var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;\r
236       po.src = 'https://apis.google.com/js/plusone.js';\r
237       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);\r
238     })();\r
239   </script>\r
240 </div>\r
241 \r
242 <div class="main">\r
243 \r
244 <h1>ImageMagick Conjure Command-line Tool</h1>
245 <p class="navigation-index">[<a href="#usage">Example Usage</a> &bull; <a href="#options">Option Summary</a>]</p>
246
247 <div class="doc-section">
248 <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>
249 </div>
250
251 <h2><a id="usage"></a>Example Usage</h2>
252 <div class="doc-section">
253
254 <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>
255
256 <p class='crt'><span class="crtprompt"> $ </span><span class='crtin'>conjure -dimensions 400x400 incantation.msl</span></p>
257 <p>The MSL script <a href="../www/source/incantation.msl">incantation.msl</a> used above is here:</p>
258
259 <pre class="text">
260   &lt;?xml version="1.0" encoding="UTF-8"?&gt;
261   &lt;image size="400x400"&gt;
262     &lt;read filename="image.gif" /&gt;
263     &lt;get width="base-width" height="base-height" /&gt;
264     &lt;resize geometry="%[dimensions]" /&gt;
265     &lt;get width="width" height="height" /&gt;
266     &lt;print output="Image sized from %[base-width]x%[base-height] to %[width]x%[height].\n" /&gt;
267     &lt;write filename="image.png" /&gt;
268   &lt;/image&gt;
269 </pre>
270
271 <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>
272
273 <pre class="text">
274   &lt;?xml version="1.0" encoding="UTF-8"?>
275   &lt;group>
276       &lt;image id="family">
277           &lt;read filename="family.gif"/>
278           &lt;resize geometry="300x300"/>
279       &lt;/image>
280       &lt;image id="palm-trees">
281           &lt;read filename="palm-trees.gif"/>
282           &lt;resize geometry="300x100"/>
283       &lt;/image>
284       &lt;image>
285           &lt;read filename="beach.jpg"/>
286           &lt;composite image="family" geometry="+30+40"/>
287           &lt;composite image="palm-trees" geometry="+320+90"/>
288       &lt;/image>
289       &lt;write filename="family-vacation.png"/>
290   &lt;/group>
291 </pre>
292
293 <p>Here we display the width in pixels of text for a particular font and pointsize.</p>
294
295 <pre class="text">
296   &lt;?xml version="1.0" encoding="UTF-8"?&gt;
297   &lt;image&gt;
298     &lt;query-font-metrics text="ImageMagick" font="helvetica" pointsize="48" /&gt;
299     &lt;print output="Text width is %[msl:font-metrics.width] pixels.\n" /&gt;
300   &lt;/image&gt;
301 </pre>
302
303 <p>The <kbd>query-font-metrics</kbd> tag supports these properties:</p>
304
305 <pre class="text">
306     msl:font-metrics.pixels_per_em.x
307     msl:font-metrics.pixels_per_em.y
308     msl:font-metrics.ascent
309     msl:font-metrics.descent
310     msl:font-metrics.width
311     msl:font-metrics.height
312     msl:font-metrics.max_advance
313     msl:font-metrics.bounds.x1
314     msl:font-metrics.bounds.y1
315     msl:font-metrics.bounds.x2
316     msl:font-metrics.bounds.y2
317     msl:font-metrics.origin.x
318     msl:font-metrics.origin.y
319 </pre>
320
321 <p>MSL supports most methods and attributes discussed in the <a href="../www/perl-magick.html">Perl API for ImageMagick</a>.
322 </p>
323
324 <p>In addition, MSL supports the <kbd>swap</kbd> element with a single <kbd>indexes</kbd> element.</p>
325
326 <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>
327
328 </div>
329
330 <h2><a id="options"></a>Option Summary</h2>
331 <div class="doc-section">
332
333 <p>The <kbd>conjure</kbd> command recognizes these options.  Click on an option to get more details about how that option works.</p>
334
335 <table class="doc">
336   <tbody>
337   <tr>
338     <th align="left">Option</th>
339     <th align="left">Description</th>
340   </tr>
341
342   <tr>
343     <td valign="top"><a href="../www/command-line-options.html#debug">-debug <em class="option">events</em></a></td>
344     <td valign="top">display copious debugging information</td>
345   </tr>
346
347   <tr>
348     <td valign="top"><a href="../www/command-line-options.html#help">-help</a></td>
349     <td valign="top">print program options</td>
350   </tr>
351
352   <tr>
353     <td valign="top"><a href="../www/command-line-options.html#log">-log <em class="option">format</em></a></td>
354     <td valign="top">format of debugging information</td>
355   </tr>
356
357   <tr>
358     <td valign="top"><a href="../www/command-line-options.html#monitor">-monitor</a></td>
359     <td valign="top">monitor progress</td>
360   </tr>
361
362   <tr>
363     <td valign="top"><a href="../www/command-line-options.html#quiet">-quiet</a></td>
364     <td valign="top">suppress all warning messages</td>
365   </tr>
366
367   <tr>
368     <td valign="top"><a href="../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
369     <td valign="top">pay attention to warning messages.</td>
370   </tr>
371
372   <tr>
373     <td valign="top"><a href="../www/command-line-options.html#seed">-seed <em class="option">value</em></a></td>
374     <td valign="top">seed a new sequence of pseudo-random numbers</td>
375   </tr>
376
377   <tr>
378     <td valign="top"><a href="../www/command-line-options.html#verbose">-verbose</a></td>
379     <td valign="top">print detailed information about the image</td>
380   </tr>
381
382   <tr>
383     <td valign="top"><a href="../www/command-line-options.html#version">-version</a></td>
384     <td valign="top">print version information</td>
385   </tr>
386
387   </tbody>
388 </table>
389
390 </div>
391 \r
392 </div>\r
393 \r
394 <div id="linkbar">\r
395     <span id="linkbar-west">&nbsp;</span>\r
396     <span id="linkbar-center">\r
397       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
398       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
399     </span>\r
400     <span id="linkbar-east">&nbsp;</span>\r
401   </div>\r
402   <div class="footer">\r
403     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
404     <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
405   </div>\r
406   <div style="clear: both; margin: 0; width: 100%; "></div>\r
407   <script type="text/javascript">\r
408     var _gaq = _gaq || [];\r
409     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
410     _gaq.push(['_trackPageview']);\r
411 \r
412     (function() {\r
413       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
414       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
415       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
416     })();\r
417   </script>\r
418 </body>\r
419 </html>\r