]> granicus.if.org Git - imagemagick/blob - www/api/transform.html
(no commit message)
[imagemagick] / www / api / transform.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\r
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">\r
4 <head>\r
5   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
6   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
7   <title>ImageMagick: MagickCore, C API for ImageMagick: Transform an Image</title/>
8   <meta http-equiv="Content-Language" content="en-US"/>
9   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
11   <meta name="Application-name" content="ImageMagick"/>
12   <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."/>
13   <meta name="Application-url" content="http://www.imagemagick.org"/>
14   <meta name="Generator" content="PHP"/>
15   <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"/>
16   <meta name="Rating" content="GENERAL"/>
17   <meta name="Robots" content="INDEX, FOLLOW"/>
18   <meta name="Generator" content="ImageMagick Studio LLC"/>
19   <meta name="Author" content="ImageMagick Studio LLC"/>
20   <meta name="Revisit-after" content="2 DAYS"/>
21   <meta name="Resource-type" content="document"/>
22   <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
23   <meta name="Distribution" content="Global"/>
24   <link rel="icon" href="../../images/wand.png"  sizes="32x32"/>
25   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/x-icon"/>
26   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
27   <style type="text/css" media="all">\r
28     @import url("../../www/magick.css");\r
29   </style>\r
30 </head>\r
31 \r
32 <body id="www-imagemagick-org">\r
33 <div class="titlebar">\r
34 <a href="../../index.html">\r
35   <img src="../../images/script.png" alt="[ImageMagick]"\r
36   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
37 <a href="http://www.networkredux.com">\r
38   <img src="../../images/networkredux.png" alt="[sponsor]"\r
39   style="margin: 45px auto; border: 0px; float: left;" /></a>\r
40 <a href="http://www.imagemagick.org/discourse-server/">\r
41   <img src="../../images/logo.jpg" alt=""\r
42   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
43 <a href="../../index.html">\r
44   <img src="../../images/sprite.jpg" alt=""\r
45   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
46 </div>\r
47 \r
48 <div class="westbar">\r
49 \r
50 <div class="menu">
51   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
52 </div>
53 <div class="sep"></div>\r
54 <div class="menu">
55   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
56 </div>
57 <div class="sub">
58     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
59 </div>
60 <div class="sub">
61     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
62 </div>
63 <div class="sub">
64     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
65 </div>
66 <div class="sep"></div>\r
67 <div class="menu">
68   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
69 </div>
70 <div class="sub">
71     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
72 </div>
73 <div class="sub">
74     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
75 </div>
76 <div class="sub">
77     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
78 </div>
79 <div class="menu">
80   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
81 </div>
82 <div class="sub">
83     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
84 </div>
85 <div class="sub">
86     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
87 </div>
88 <div class="sub">
89     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
90 </div>
91 <div class="sub">
92     <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
93 </div>
94 <div class="sep"></div>\r
95 <div  class="menu">
96    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
97 </div>
98 <div class="sub">
99     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
100 </div>
101 <div class="sub">
102     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
103  </div>
104 <div class="menu">
105   <a title="Resources" href="../../www/resources.html">Resources</a>
106 </div>
107 <div class="menu">
108   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
109 </div>
110 <div class="menu">
111   <a title="Download" href="../../www/download.html">Download</a>
112 </div>
113 <div class="sep"></div>\r
114 <div class="menu">
115   <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
116 </div>
117 <div class="sep"></div>\r
118 <div class="menu">
119   <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
120 </div>
121 <div  class="sub">
122     <a title="Site Map: Links"href="../../www/links.html">Links</a>
123 </div>
124 <div class="sep"></div>\r
125 <div  class="menu">
126   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
127
128 <div class="sponsbox">
129 <div  class="sponsor">
130    <a title="Sponsor: alaTest.com" href="http://alatest.com">alaTest.com</a><!-- 20110801000300 -->
131 </div>
132 <div  class="sponsor">
133   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
134 </div>
135 <div  class="sponsor">
136   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
137 </div>
138 <div  class="sponsor">
139   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
140 </div>
141 <div  class="sponsor">
142   <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
143 </div>
144 <div  class="sponsor">
145   <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
146 </div>
147 <div  class="sponsor">
148   <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
149 </div>
150 <div  class="sponsor">
151    <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
152 </div>
153 </div>
154 </div>
155 </div>\r
156 \r
157 <div class="eastbar">\r
158   <script type="text/javascript">\r
159   <!--\r
160     google_ad_client = "pub-3129977114552745";\r
161     google_ad_slot = "0574824969";\r
162     google_ad_width = 160;\r
163     google_ad_height = 600;\r
164   //-->\r
165   </script>\r
166   <script type="text/javascript"\r
167     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
168   </script>\r
169 </div>\r
170 \r
171 <div class="main">\r
172 \r
173 <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>
174
175 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
176 _8c.html" target="source" name="ChopImage">ChopImage</a></h2>
177 <div class="doc-section">
178
179 <p>ChopImage() removes a region of an image and collapses the image to occupy the removed portion.</p></ol>
180
181 <p>The format of the ChopImage method is:</p>
182
183 <pre class="code">
184   Image *ChopImage(const Image *image,const RectangleInfo *chop_info)
185     ExceptionInfo *exception)
186 </pre>
187
188 <p>A description of each parameter follows:</p></ol>
189
190 <h5>image</h5>
191 <ol><p>the image.</p></ol>
192
193 <h5>chop_info</h5>
194 <ol><p>Define the region of the image to chop.</p></ol>
195
196 <h5>exception</h5>
197 <ol><p>return any errors or warnings in this structure.</p></ol>
198
199  </div>
200 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
201 _8c.html" target="source" name="CropImage">CropImage</a></h2>
202 <div class="doc-section">
203
204 <p>CropImage() extracts a region of the image starting at the offset defined by geometry.</p></ol>
205
206 <p>The format of the CropImage method is:</p>
207
208 <pre class="code">
209   Image *CropImage(const Image *image,const RectangleInfo *geometry,
210     ExceptionInfo *exception)
211 </pre>
212
213 <p>A description of each parameter follows:</p></ol>
214
215 <h5>image</h5>
216 <ol><p>the image.</p></ol>
217
218 <h5>geometry</h5>
219 <ol><p>Define the region of the image to crop with members x, y, width, and height.</p></ol>
220
221 <h5>exception</h5>
222 <ol><p>return any errors or warnings in this structure.</p></ol>
223
224  </div>
225 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
226 _8c.html" target="source" name="ExcerptImage">ExcerptImage</a></h2>
227 <div class="doc-section">
228
229 <p>ExcerptImage() returns a excerpt of the image as defined by the geometry.</p></ol>
230
231 <p>The format of the ExcerptImage method is:</p>
232
233 <pre class="code">
234   Image *ExcerptImage(const Image *image,const RectangleInfo *geometry,
235     ExceptionInfo *exception)
236 </pre>
237
238 <p>A description of each parameter follows:</p></ol>
239
240 <h5>image</h5>
241 <ol><p>the image.</p></ol>
242
243 <h5>geometry</h5>
244 <ol><p>Define the region of the image to extend with members x, y, width, and height.</p></ol>
245
246 <h5>exception</h5>
247 <ol><p>return any errors or warnings in this structure.</p></ol>
248
249  </div>
250 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
251 _8c.html" target="source" name="ExtentImage">ExtentImage</a></h2>
252 <div class="doc-section">
253
254 <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>
255
256 <p>The format of the ExtentImage method is:</p>
257
258 <pre class="code">
259   Image *ExtentImage(const Image *image,const RectangleInfo *geometry,
260     ExceptionInfo *exception)
261 </pre>
262
263 <p>A description of each parameter follows:</p></ol>
264
265 <h5>image</h5>
266 <ol><p>the image.</p></ol>
267
268 <h5>geometry</h5>
269 <ol><p>Define the region of the image to extend with members x, y, width, and height.</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="FlipImage">FlipImage</a></h2>
277 <div class="doc-section">
278
279 <p>FlipImage() creates a vertical mirror image by reflecting the pixels around the central x-axis.</p></ol>
280
281 <p>The format of the FlipImage method is:</p>
282
283 <pre class="code">
284   Image *FlipImage(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="FlopImage">FlopImage</a></h2>
298 <div class="doc-section">
299
300 <p>FlopImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis.</p></ol>
301
302 <p>The format of the FlopImage method is:</p>
303
304 <pre class="code">
305   Image *FlopImage(const Image *image,ExceptionInfo *exception)
306 </pre>
307
308 <p>A description of each parameter follows:</p></ol>
309
310 <h5>image</h5>
311 <ol><p>the image.</p></ol>
312
313 <h5>exception</h5>
314 <ol><p>return any errors or warnings in this structure.</p></ol>
315
316  </div>
317 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
318 _8c.html" target="source" name="RollImage">RollImage</a></h2>
319 <div class="doc-section">
320
321 <p>RollImage() offsets an image as defined by x_offset and y_offset.</p></ol>
322
323 <p>The format of the RollImage method is:</p>
324
325 <pre class="code">
326   Image *RollImage(const Image *image,const ssize_t x_offset,
327     const ssize_t y_offset,ExceptionInfo *exception)
328 </pre>
329
330 <p>A description of each parameter follows:</p></ol>
331
332 <h5>image</h5>
333 <ol><p>the image.</p></ol>
334
335 <h5>x_offset</h5>
336 <ol><p>the number of columns to roll in the horizontal direction.</p></ol>
337
338 <h5>y_offset</h5>
339 <ol><p>the number of rows to roll in the vertical direction.</p></ol>
340
341 <h5>exception</h5>
342 <ol><p>return any errors or warnings in this structure.</p></ol>
343
344  </div>
345 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
346 _8c.html" target="source" name="ShaveImage">ShaveImage</a></h2>
347 <div class="doc-section">
348
349 <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>
350
351 <p>The format of the ShaveImage method is:</p>
352
353 <pre class="code">
354   Image *ShaveImage(const Image *image,const RectangleInfo *shave_info,
355     ExceptionInfo *exception)
356 </pre>
357
358 <p>A description of each parameter follows:</p></ol>
359
360 <h5>shave_image</h5>
361 <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>
362
363 <h5>image</h5>
364 <ol><p>the image.</p></ol>
365
366 <h5>shave_info</h5>
367 <ol><p>Specifies a pointer to a RectangleInfo which defines the region of the image to crop.</p></ol>
368
369 <h5>exception</h5>
370 <ol><p>return any errors or warnings in this structure.</p></ol>
371
372  </div>
373 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
374 _8c.html" target="source" name="SpliceImage">SpliceImage</a></h2>
375 <div class="doc-section">
376
377 <p>SpliceImage() splices a solid color into the image as defined by the geometry.</p></ol>
378
379 <p>The format of the SpliceImage method is:</p>
380
381 <pre class="code">
382   Image *SpliceImage(const Image *image,const RectangleInfo *geometry,
383     ExceptionInfo *exception)
384 </pre>
385
386 <p>A description of each parameter follows:</p></ol>
387
388 <h5>image</h5>
389 <ol><p>the image.</p></ol>
390
391 <h5>geometry</h5>
392 <ol><p>Define the region of the image to splice with members x, y, width, and height.</p></ol>
393
394 <h5>exception</h5>
395 <ol><p>return any errors or warnings in this structure.</p></ol>
396
397  </div>
398 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
399 _8c.html" target="source" name="TransformImage">TransformImage</a></h2>
400 <div class="doc-section">
401
402 <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>
403
404 <p>The format of the TransformImage method is:</p>
405
406 <pre class="code">
407   MagickBooleanType TransformImage(Image **image,const char *crop_geometry,
408     const char *image_geometry)
409 </pre>
410
411 <p>A description of each parameter follows:</p></ol>
412
413 <h5>image</h5>
414 <ol><p>the image The transformed image is returned as this parameter.</p></ol>
415
416 <h5>crop_geometry</h5>
417 <ol><p>A crop geometry string.  This geometry defines a subregion of the image to crop.</p></ol>
418
419 <h5>image_geometry</h5>
420 <ol><p>An image geometry string.  This geometry defines the final size of the image.</p></ol>
421
422  </div>
423 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
424 _8c.html" target="source" name="TransformImages">TransformImages</a></h2>
425 <div class="doc-section">
426
427 <p>TransformImages() calls TransformImage() on each image of a sequence.</p></ol>
428
429 <p>The format of the TransformImage method is:</p>
430
431 <pre class="code">
432   MagickBooleanType TransformImages(Image **image,
433     const char *crop_geometry,const char *image_geometry)
434 </pre>
435
436 <p>A description of each parameter follows:</p></ol>
437
438 <h5>image</h5>
439 <ol><p>the image The transformed image is returned as this parameter.</p></ol>
440
441 <h5>crop_geometry</h5>
442 <ol><p>A crop geometry string.  This geometry defines a subregion of the image to crop.</p></ol>
443
444 <h5>image_geometry</h5>
445 <ol><p>An image geometry string.  This geometry defines the final size of the image.</p></ol>
446
447  </div>
448 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
449 _8c.html" target="source" name="TransposeImage">TransposeImage</a></h2>
450 <div class="doc-section">
451
452 <p>TransposeImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them by 90 degrees.</p></ol>
453
454 <p>The format of the TransposeImage method is:</p>
455
456 <pre class="code">
457   Image *TransposeImage(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="TransverseImage">TransverseImage</a></h2>
471 <div class="doc-section">
472
473 <p>TransverseImage() creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them by 270 degrees.</p></ol>
474
475 <p>The format of the TransverseImage method is:</p>
476
477 <pre class="code">
478   Image *TransverseImage(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>
490 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
491 _8c.html" target="source" name="TrimImage">TrimImage</a></h2>
492 <div class="doc-section">
493
494 <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>
495
496 <p>The format of the TrimImage method is:</p>
497
498 <pre class="code">
499   Image *TrimImage(const Image *image,ExceptionInfo *exception)
500 </pre>
501
502 <p>A description of each parameter follows:</p></ol>
503
504 <h5>image</h5>
505 <ol><p>the image.</p></ol>
506
507 <h5>exception</h5>
508 <ol><p>return any errors or warnings in this structure.</p></ol>
509
510  </div>
511 \r
512 </div>\r
513 \r
514 <div id="linkbar">\r
515     <span id="linkbar-west">&nbsp;</span>\r
516     <span id="linkbar-center">\r
517       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
518       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
519     </span>\r
520     <span id="linkbar-east">&nbsp;</span>\r
521   </div>\r
522   <div class="footer">\r
523     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
524     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
525   </div>\r
526   <div style="clear: both; margin: 0; width: 100%; "></div>\r
527   <script type="text/javascript">\r
528     var _gaq = _gaq || [];\r
529     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
530     _gaq.push(['_trackPageview']);\r
531 \r
532     (function() {\r
533       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
534       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
535       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
536     })();\r
537   </script>\r
538 </body>\r
539 </html>\r