blob: 8bf40b6d0547f275c1d089753fd60810226bbd87 [file] [log] [blame]
cristyf3bb4782009-09-08 13:10:04 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
cristy1f9e1ed2009-11-18 04:09:38 +00005 <meta http-equiv="Content-Type" value="application/xhtml+xml" />
cristyf3bb4782009-09-08 13:10:04 +00006 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
8 <style type="text/css" media="screen,projection"><!--
9 @import url("../../www/magick.css");
10 --></style>
cristy3ed852e2009-09-05 21:47:34 +000011 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Transform an Image</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="Generator" content="PHP"/>
17 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, transform, an, image, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
18 <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."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
cristy16af1cb2009-12-11 21:38:29 +000025 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000026 <meta name="Distribution" content="Global"/>
cristyf3bb4782009-09-08 13:10:04 +000027</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
45<div class="eastbar">
46
cristy3ed852e2009-09-05 21:47:34 +000047<div class="menu">
48 <a href="../../index.html">About ImageMagick</a>
49</div>
cristyf3bb4782009-09-08 13:10:04 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
52 <a href="../../www/command-line-tools.html">Command-line Tools</a>
53</div>
54<div class="sub">
55 <a href="../../www/command-line-processing.html">Processing</a>
56</div>
57<div class="sub">
58 <a href="../../www/command-line-options.html">Options</a>
59</div>
60<div class="sub">
61 <a href="http://www.imagemagick.org/Usage/">Usage</a>
62</div>
63<div class="menu">
64 <a href="../../www/api.html">Program Interfaces</a>
65</div>
66<div class="sub">
67 <a href="../../www/magick-wand.html">MagickWand</a>
68</div>
69<div class="sub">
70 <a href="../../www/magick-core.html">MagickCore</a>
71</div>
72<div class="sub">
73 <a href="../../www/perl-magick.html">PerlMagick</a>
74</div>
75<div class="sub">
76 <a href="../../Magick++/">Magick++</a>
77</div>
78<div class="menu">
79 <a href="../../www/architecture.html">Architecture</a>
80</div>
cristyf3bb4782009-09-08 13:10:04 +000081<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000082<div class="menu">
83 <a href="../../www/install-source.html">Install from Source</a>
84</div>
85<div class="sub">
86 <a href="../../www/install-source.html#unix">Unix</a>
87</div>
88<div class="sub">
89 <a href="../../www/install-source.html#windows">Windows</a>
90 </div>
91<div class="menu">
92 <a href="../../www/binary-releases.html">Binary Releases</a>
93</div>
94<div class="sub">
95 <a href="../../www/binary-releases.html#unix">Unix</a>
96</div>
97<div class="sub">
98 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
99</div>
100<div class="sub">
101 <a href="../../www/binary-releases.html#windows">Windows</a>
102</div>
103<div class="menu">
104 <a href="../../www/resources.html">Resources</a>
105</div>
cristyf3bb4782009-09-08 13:10:04 +0000106<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
108 <a href="../../www/download.html">Download</a>
109</div>
cristyf3bb4782009-09-08 13:10:04 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
112 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
113</div>
cristyf3bb4782009-09-08 13:10:04 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
116 <a href="../../www/sitemap.html">Site Map</a>
117</div>
118<div class="sub">
119 <a href="../../www/links.html">Links</a>
120</div>
cristyf3bb4782009-09-08 13:10:04 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
123 <a href="../../www/sponsors.html">Sponsors:</a>
124
125<div class="sponsbox">
126<div class="sponsor">
cristy1f9e1ed2009-11-18 04:09:38 +0000127 <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
cristyc1c61662009-09-30 14:04:37 +0000128</div>
129<div class="sponsor">
cristycdbe2742010-02-07 19:30:44 +0000130 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
cristy0f61e612009-11-10 20:03:57 +0000131</div>
132<div class="sponsor">
133 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
cristy916e1922009-10-01 12:52:47 +0000134</div>
135<div class="sponsor">
cristyb4c03bb2009-09-27 13:55:46 +0000136 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
137</div>
138<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000139 <a href="http://www.goyax.de">Börse</a><!-- 201004010240 Gewiese digital-finance.de -->
cristyf3bb4782009-09-08 13:10:04 +0000140</div>
141<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000142 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
cristy3ed852e2009-09-05 21:47:34 +0000144</div>
145</div>
cristyf3bb4782009-09-08 13:10:04 +0000146
147
148</div>
149
150<div class="main">
151
cristyf1196bb2010-02-13 21:18:03 +0000152<p class="navigation-index">[<a href="#ChopImage">ChopImage</a> &bull; <a href="#CropImage">CropImage</a> &bull; <a href="#ExcerptImage">ExcerptImage</a> &bull; <a href="#ExtentImage">ExtentImage</a> &bull; <a href="#FlipImage">FlipImage</a> &bull; <a href="#FlopImage">FlopImage</a> &bull; <a href="#RollImage">RollImage</a> &bull; <a href="#ShaveImage">ShaveImage</a> &bull; <a href="#SpliceImage">SpliceImage</a> &bull; <a href="#TransformImage">TransformImage</a> &bull; <a href="#TransformImages">TransformImages</a> &bull; <a href="#TransposeImage">TransposeImage</a> &bull; <a href="#TransverseImage">TransverseImage</a> &bull; <a href="#TrimImage">TrimImage</a>]</p>
cristy3ed852e2009-09-05 21:47:34 +0000153
154<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
cristyf1196bb2010-02-13 21:18:03 +0000155_8c.html" target="source" name="ChopImage">ChopImage</a></h2>
cristy3ed852e2009-09-05 21:47:34 +0000156<div class="doc-section">
157
cristyf1196bb2010-02-13 21:18:03 +0000158<p>ChopImage() removes a region of an image and collapses the image to occupy the removed portion.</p></ol>
cristy3ed852e2009-09-05 21:47:34 +0000159
160<p>The format of the ChopImage method is:</p>
161
162<pre class="code">
163 Image *ChopImage(const Image *image,const RectangleInfo *chop_info)
164 ExceptionInfo *exception)
165</pre>
166
167<p>A description of each parameter follows:</p></ol>
168
169<h5>image</h5>
170<ol><p>the image.</p></ol>
171
172<h5>chop_info</h5>
173<ol><p>Define the region of the image to chop.</p></ol>
174
175<h5>exception</h5>
176<ol><p>return any errors or warnings in this structure.</p></ol>
177
178 </div>
179<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
180_8c.html" target="source" name="CropImage">CropImage</a></h2>
181<div class="doc-section">
182
183<p>CropImage() extracts a region of the image starting at the offset defined by geometry.</p></ol>
184
185<p>The format of the CropImage method is:</p>
186
187<pre class="code">
188 Image *CropImage(const Image *image,const RectangleInfo *geometry,
189 ExceptionInfo *exception)
190</pre>
191
192<p>A description of each parameter follows:</p></ol>
193
194<h5>image</h5>
195<ol><p>the image.</p></ol>
196
197<h5>geometry</h5>
198<ol><p>Define the region of the image to crop with members x, y, width, and height.</p></ol>
199
200<h5>exception</h5>
201<ol><p>return any errors or warnings in this structure.</p></ol>
202
203 </div>
204<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
205_8c.html" target="source" name="ExcerptImage">ExcerptImage</a></h2>
206<div class="doc-section">
207
208<p>ExcerptImage() returns a excerpt of the image as defined by the geometry.</p></ol>
209
210<p>The format of the ExcerptImage method is:</p>
211
212<pre class="code">
213 Image *ExcerptImage(const Image *image,const RectangleInfo *geometry,
214 ExceptionInfo *exception)
215</pre>
216
217<p>A description of each parameter follows:</p></ol>
218
219<h5>image</h5>
220<ol><p>the image.</p></ol>
221
222<h5>geometry</h5>
223<ol><p>Define the region of the image to extend with members x, y, width, and height.</p></ol>
224
225<h5>exception</h5>
226<ol><p>return any errors or warnings in this structure.</p></ol>
227
228 </div>
229<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
230_8c.html" target="source" name="ExtentImage">ExtentImage</a></h2>
231<div class="doc-section">
232
233<p>ExtentImage() extends the image as defined by the geometry, gravity, and image background color. Set the (x,y) offset of the geometry to move the original image relative to the extended image.</p></ol>
234
235<p>The format of the ExtentImage method is:</p>
236
237<pre class="code">
238 Image *ExtentImage(const Image *image,const RectangleInfo *geometry,
239 ExceptionInfo *exception)
240</pre>
241
242<p>A description of each parameter follows:</p></ol>
243
244<h5>image</h5>
245<ol><p>the image.</p></ol>
246
247<h5>geometry</h5>
248<ol><p>Define the region of the image to extend with members x, y, width, and height.</p></ol>
249
250<h5>exception</h5>
251<ol><p>return any errors or warnings in this structure.</p></ol>
252
253 </div>
254<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
255_8c.html" target="source" name="FlipImage">FlipImage</a></h2>
256<div class="doc-section">
257
258<p>FlipImage() creates a vertical mirror image by reflecting the pixels around the central x-axis.</p></ol>
259
260<p>The format of the FlipImage method is:</p>
261
262<pre class="code">
263 Image *FlipImage(const Image *image,ExceptionInfo *exception)
264</pre>
265
266<p>A description of each parameter follows:</p></ol>
267
268<h5>image</h5>
269<ol><p>the image.</p></ol>
270
271<h5>exception</h5>
272<ol><p>return any errors or warnings in this structure.</p></ol>
273
274 </div>
275<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
276_8c.html" target="source" name="FlopImage">FlopImage</a></h2>
277<div class="doc-section">
278
279<p>FlopImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis.</p></ol>
280
281<p>The format of the FlopImage method is:</p>
282
283<pre class="code">
284 Image *FlopImage(const Image *image,ExceptionInfo *exception)
285</pre>
286
287<p>A description of each parameter follows:</p></ol>
288
289<h5>image</h5>
290<ol><p>the image.</p></ol>
291
292<h5>exception</h5>
293<ol><p>return any errors or warnings in this structure.</p></ol>
294
295 </div>
296<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
297_8c.html" target="source" name="RollImage">RollImage</a></h2>
298<div class="doc-section">
299
300<p>RollImage() offsets an image as defined by x_offset and y_offset.</p></ol>
301
302<p>The format of the RollImage method is:</p>
303
304<pre class="code">
305 Image *RollImage(const Image *image,const long x_offset,
306 const long y_offset,ExceptionInfo *exception)
307</pre>
308
309<p>A description of each parameter follows:</p></ol>
310
311<h5>image</h5>
312<ol><p>the image.</p></ol>
313
314<h5>x_offset</h5>
315<ol><p>the number of columns to roll in the horizontal direction.</p></ol>
316
317<h5>y_offset</h5>
318<ol><p>the number of rows to roll in the vertical direction.</p></ol>
319
320<h5>exception</h5>
321<ol><p>return any errors or warnings in this structure.</p></ol>
322
323 </div>
324<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
325_8c.html" target="source" name="ShaveImage">ShaveImage</a></h2>
326<div class="doc-section">
327
328<p>ShaveImage() shaves pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p></ol>
329
330<p>The format of the ShaveImage method is:</p>
331
332<pre class="code">
333 Image *ShaveImage(const Image *image,const RectangleInfo *shave_info,
334 ExceptionInfo *exception)
335</pre>
336
337<p>A description of each parameter follows:</p></ol>
338
339<h5>shave_image</h5>
340<ol><p>Method ShaveImage returns a pointer to the shaved image. A null image is returned if there is a memory shortage or if the image width or height is zero.</p></ol>
341
342<h5>image</h5>
343<ol><p>the image.</p></ol>
344
345<h5>shave_info</h5>
346<ol><p>Specifies a pointer to a RectangleInfo which defines the region of the image to crop.</p></ol>
347
348<h5>exception</h5>
349<ol><p>return any errors or warnings in this structure.</p></ol>
350
351 </div>
352<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
353_8c.html" target="source" name="SpliceImage">SpliceImage</a></h2>
354<div class="doc-section">
355
356<p>SpliceImage() splices a solid color into the image as defined by the geometry.</p></ol>
357
358<p>The format of the SpliceImage method is:</p>
359
360<pre class="code">
361 Image *SpliceImage(const Image *image,const RectangleInfo *geometry,
362 ExceptionInfo *exception)
363</pre>
364
365<p>A description of each parameter follows:</p></ol>
366
367<h5>image</h5>
368<ol><p>the image.</p></ol>
369
370<h5>geometry</h5>
371<ol><p>Define the region of the image to splice with members x, y, width, and height.</p></ol>
372
373<h5>exception</h5>
374<ol><p>return any errors or warnings in this structure.</p></ol>
375
376 </div>
377<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
378_8c.html" target="source" name="TransformImage">TransformImage</a></h2>
379<div class="doc-section">
380
381<p>TransformImage() is a convenience method that behaves like ResizeImage() or CropImage() but accepts scaling and/or cropping information as a region geometry specification. If the operation fails, the original image handle is returned.</p></ol>
382
383<p>The format of the TransformImage method is:</p>
384
385<pre class="code">
386 MagickBooleanType TransformImage(Image **image,const char *crop_geometry,
387 const char *image_geometry)
388</pre>
389
390<p>A description of each parameter follows:</p></ol>
391
392<h5>image</h5>
393<ol><p>the image The transformed image is returned as this parameter.</p></ol>
394
395<h5>crop_geometry</h5>
396<ol><p>A crop geometry string. This geometry defines a subregion of the image to crop.</p></ol>
397
398<h5>image_geometry</h5>
399<ol><p>An image geometry string. This geometry defines the final size of the image.</p></ol>
400
401 </div>
402<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
403_8c.html" target="source" name="TransformImages">TransformImages</a></h2>
404<div class="doc-section">
405
406<p>TransformImages() calls TransformImage() on each image of a sequence.</p></ol>
407
408<p>The format of the TransformImage method is:</p>
409
410<pre class="code">
411 MagickBooleanType TransformImages(Image **image,
412 const char *crop_geometry,const char *image_geometry)
413</pre>
414
415<p>A description of each parameter follows:</p></ol>
416
417<h5>image</h5>
418<ol><p>the image The transformed image is returned as this parameter.</p></ol>
419
420<h5>crop_geometry</h5>
421<ol><p>A crop geometry string. This geometry defines a subregion of the image to crop.</p></ol>
422
423<h5>image_geometry</h5>
424<ol><p>An image geometry string. This geometry defines the final size of the image.</p></ol>
425
426 </div>
427<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
428_8c.html" target="source" name="TransposeImage">TransposeImage</a></h2>
429<div class="doc-section">
430
431<p>TransposeImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them by 90 degrees.</p></ol>
432
433<p>The format of the TransposeImage method is:</p>
434
435<pre class="code">
436 Image *TransposeImage(const Image *image,ExceptionInfo *exception)
437</pre>
438
439<p>A description of each parameter follows:</p></ol>
440
441<h5>image</h5>
442<ol><p>the image.</p></ol>
443
444<h5>exception</h5>
445<ol><p>return any errors or warnings in this structure.</p></ol>
446
447 </div>
448<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
449_8c.html" target="source" name="TransverseImage">TransverseImage</a></h2>
450<div class="doc-section">
451
452<p>TransverseImage() creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them by 270 degrees.</p></ol>
453
454<p>The format of the TransverseImage method is:</p>
455
456<pre class="code">
457 Image *TransverseImage(const Image *image,ExceptionInfo *exception)
458</pre>
459
460<p>A description of each parameter follows:</p></ol>
461
462<h5>image</h5>
463<ol><p>the image.</p></ol>
464
465<h5>exception</h5>
466<ol><p>return any errors or warnings in this structure.</p></ol>
467
468 </div>
469<h2><a href="http://www.imagemagick.org/api/MagickCore/transform
470_8c.html" target="source" name="TrimImage">TrimImage</a></h2>
471<div class="doc-section">
472
473<p>TrimImage() trims pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p></ol>
474
475<p>The format of the TrimImage method is:</p>
476
477<pre class="code">
478 Image *TrimImage(const Image *image,ExceptionInfo *exception)
479</pre>
480
481<p>A description of each parameter follows:</p></ol>
482
483<h5>image</h5>
484<ol><p>the image.</p></ol>
485
486<h5>exception</h5>
487<ol><p>return any errors or warnings in this structure.</p></ol>
488
489 </div>
cristyf3bb4782009-09-08 13:10:04 +0000490
491</div>
492
493<div id="linkbar">
494 <!-- <span id="linkbar-west">&nbsp;</span> -->
495 <span id="linkbar-center">
496 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristyfe776f92010-02-21 02:51:21 +0000497 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000498 </span>
499 <span id="linkbar-east">&nbsp;</span>
500 </div>
501 <div class="footer">
cristy16af1cb2009-12-11 21:38:29 +0000502 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
cristyf3bb4782009-09-08 13:10:04 +0000503 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
504 </div>
505 <div style="clear: both; margin: 0; width: 100%; "></div>
506</body>
507</html>