]> granicus.if.org Git - imagemagick/blob - www/api/transform.html
038284c473ed18c4a6acf7a33e934a040076b706
[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: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
131 </div>
132 <div  class="sponsor">
133   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
134 </div>
135 <div  class="sponsor">
136   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
137 </div>
138 <div  class="sponsor">
139   <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
140 </div>
141 <div  class="sponsor">
142   <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
143 </div>
144 <div  class="sponsor">
145   <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
146 </div>
147 <div  class="sponsor">
148    <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
149 </div>
150 </div>
151 </div>
152 </div>\r
153 \r
154 <div class="eastbar">\r
155   <script type="text/javascript">\r
156   <!--\r
157     google_ad_client = "pub-3129977114552745";\r
158     google_ad_slot = "0574824969";\r
159     google_ad_width = 160;\r
160     google_ad_height = 600;\r
161   //-->\r
162   </script>\r
163   <script type="text/javascript"\r
164     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
165   </script>\r
166 </div>\r
167 \r
168 <div class="main">\r
169 \r
170 <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>
171
172 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
173 _8c.html" target="source" name="ChopImage">ChopImage</a></h2>
174 <div class="doc-section">
175
176 <p>ChopImage() removes a region of an image and collapses the image to occupy the removed portion.</p></ol>
177
178 <p>The format of the ChopImage method is:</p>
179
180 <pre class="code">
181   Image *ChopImage(const Image *image,const RectangleInfo *chop_info)
182     ExceptionInfo *exception)
183 </pre>
184
185 <p>A description of each parameter follows:</p></ol>
186
187 <h5>image</h5>
188 <ol><p>the image.</p></ol>
189
190 <h5>chop_info</h5>
191 <ol><p>Define the region of the image to chop.</p></ol>
192
193 <h5>exception</h5>
194 <ol><p>return any errors or warnings in this structure.</p></ol>
195
196  </div>
197 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
198 _8c.html" target="source" name="CropImage">CropImage</a></h2>
199 <div class="doc-section">
200
201 <p>CropImage() extracts a region of the image starting at the offset defined by geometry.</p></ol>
202
203 <p>The format of the CropImage method is:</p>
204
205 <pre class="code">
206   Image *CropImage(const Image *image,const RectangleInfo *geometry,
207     ExceptionInfo *exception)
208 </pre>
209
210 <p>A description of each parameter follows:</p></ol>
211
212 <h5>image</h5>
213 <ol><p>the image.</p></ol>
214
215 <h5>geometry</h5>
216 <ol><p>Define the region of the image to crop with members x, y, width, and height.</p></ol>
217
218 <h5>exception</h5>
219 <ol><p>return any errors or warnings in this structure.</p></ol>
220
221  </div>
222 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
223 _8c.html" target="source" name="ExcerptImage">ExcerptImage</a></h2>
224 <div class="doc-section">
225
226 <p>ExcerptImage() returns a excerpt of the image as defined by the geometry.</p></ol>
227
228 <p>The format of the ExcerptImage method is:</p>
229
230 <pre class="code">
231   Image *ExcerptImage(const Image *image,const RectangleInfo *geometry,
232     ExceptionInfo *exception)
233 </pre>
234
235 <p>A description of each parameter follows:</p></ol>
236
237 <h5>image</h5>
238 <ol><p>the image.</p></ol>
239
240 <h5>geometry</h5>
241 <ol><p>Define the region of the image to extend with members x, y, width, and height.</p></ol>
242
243 <h5>exception</h5>
244 <ol><p>return any errors or warnings in this structure.</p></ol>
245
246  </div>
247 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
248 _8c.html" target="source" name="ExtentImage">ExtentImage</a></h2>
249 <div class="doc-section">
250
251 <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>
252
253 <p>The format of the ExtentImage method is:</p>
254
255 <pre class="code">
256   Image *ExtentImage(const Image *image,const RectangleInfo *geometry,
257     ExceptionInfo *exception)
258 </pre>
259
260 <p>A description of each parameter follows:</p></ol>
261
262 <h5>image</h5>
263 <ol><p>the image.</p></ol>
264
265 <h5>geometry</h5>
266 <ol><p>Define the region of the image to extend with members x, y, width, and height.</p></ol>
267
268 <h5>exception</h5>
269 <ol><p>return any errors or warnings in this structure.</p></ol>
270
271  </div>
272 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
273 _8c.html" target="source" name="FlipImage">FlipImage</a></h2>
274 <div class="doc-section">
275
276 <p>FlipImage() creates a vertical mirror image by reflecting the pixels around the central x-axis.</p></ol>
277
278 <p>The format of the FlipImage method is:</p>
279
280 <pre class="code">
281   Image *FlipImage(const Image *image,ExceptionInfo *exception)
282 </pre>
283
284 <p>A description of each parameter follows:</p></ol>
285
286 <h5>image</h5>
287 <ol><p>the image.</p></ol>
288
289 <h5>exception</h5>
290 <ol><p>return any errors or warnings in this structure.</p></ol>
291
292  </div>
293 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
294 _8c.html" target="source" name="FlopImage">FlopImage</a></h2>
295 <div class="doc-section">
296
297 <p>FlopImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis.</p></ol>
298
299 <p>The format of the FlopImage method is:</p>
300
301 <pre class="code">
302   Image *FlopImage(const Image *image,ExceptionInfo *exception)
303 </pre>
304
305 <p>A description of each parameter follows:</p></ol>
306
307 <h5>image</h5>
308 <ol><p>the image.</p></ol>
309
310 <h5>exception</h5>
311 <ol><p>return any errors or warnings in this structure.</p></ol>
312
313  </div>
314 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
315 _8c.html" target="source" name="RollImage">RollImage</a></h2>
316 <div class="doc-section">
317
318 <p>RollImage() offsets an image as defined by x_offset and y_offset.</p></ol>
319
320 <p>The format of the RollImage method is:</p>
321
322 <pre class="code">
323   Image *RollImage(const Image *image,const ssize_t x_offset,
324     const ssize_t y_offset,ExceptionInfo *exception)
325 </pre>
326
327 <p>A description of each parameter follows:</p></ol>
328
329 <h5>image</h5>
330 <ol><p>the image.</p></ol>
331
332 <h5>x_offset</h5>
333 <ol><p>the number of columns to roll in the horizontal direction.</p></ol>
334
335 <h5>y_offset</h5>
336 <ol><p>the number of rows to roll in the vertical direction.</p></ol>
337
338 <h5>exception</h5>
339 <ol><p>return any errors or warnings in this structure.</p></ol>
340
341  </div>
342 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
343 _8c.html" target="source" name="ShaveImage">ShaveImage</a></h2>
344 <div class="doc-section">
345
346 <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>
347
348 <p>The format of the ShaveImage method is:</p>
349
350 <pre class="code">
351   Image *ShaveImage(const Image *image,const RectangleInfo *shave_info,
352     ExceptionInfo *exception)
353 </pre>
354
355 <p>A description of each parameter follows:</p></ol>
356
357 <h5>shave_image</h5>
358 <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>
359
360 <h5>image</h5>
361 <ol><p>the image.</p></ol>
362
363 <h5>shave_info</h5>
364 <ol><p>Specifies a pointer to a RectangleInfo which defines the region of the image to crop.</p></ol>
365
366 <h5>exception</h5>
367 <ol><p>return any errors or warnings in this structure.</p></ol>
368
369  </div>
370 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
371 _8c.html" target="source" name="SpliceImage">SpliceImage</a></h2>
372 <div class="doc-section">
373
374 <p>SpliceImage() splices a solid color into the image as defined by the geometry.</p></ol>
375
376 <p>The format of the SpliceImage method is:</p>
377
378 <pre class="code">
379   Image *SpliceImage(const Image *image,const RectangleInfo *geometry,
380     ExceptionInfo *exception)
381 </pre>
382
383 <p>A description of each parameter follows:</p></ol>
384
385 <h5>image</h5>
386 <ol><p>the image.</p></ol>
387
388 <h5>geometry</h5>
389 <ol><p>Define the region of the image to splice with members x, y, width, and height.</p></ol>
390
391 <h5>exception</h5>
392 <ol><p>return any errors or warnings in this structure.</p></ol>
393
394  </div>
395 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
396 _8c.html" target="source" name="TransformImage">TransformImage</a></h2>
397 <div class="doc-section">
398
399 <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>
400
401 <p>The format of the TransformImage method is:</p>
402
403 <pre class="code">
404   MagickBooleanType TransformImage(Image **image,const char *crop_geometry,
405     const char *image_geometry)
406 </pre>
407
408 <p>A description of each parameter follows:</p></ol>
409
410 <h5>image</h5>
411 <ol><p>the image The transformed image is returned as this parameter.</p></ol>
412
413 <h5>crop_geometry</h5>
414 <ol><p>A crop geometry string.  This geometry defines a subregion of the image to crop.</p></ol>
415
416 <h5>image_geometry</h5>
417 <ol><p>An image geometry string.  This geometry defines the final size of the image.</p></ol>
418
419  </div>
420 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
421 _8c.html" target="source" name="TransformImages">TransformImages</a></h2>
422 <div class="doc-section">
423
424 <p>TransformImages() calls TransformImage() on each image of a sequence.</p></ol>
425
426 <p>The format of the TransformImage method is:</p>
427
428 <pre class="code">
429   MagickBooleanType TransformImages(Image **image,
430     const char *crop_geometry,const char *image_geometry)
431 </pre>
432
433 <p>A description of each parameter follows:</p></ol>
434
435 <h5>image</h5>
436 <ol><p>the image The transformed image is returned as this parameter.</p></ol>
437
438 <h5>crop_geometry</h5>
439 <ol><p>A crop geometry string.  This geometry defines a subregion of the image to crop.</p></ol>
440
441 <h5>image_geometry</h5>
442 <ol><p>An image geometry string.  This geometry defines the final size of the image.</p></ol>
443
444  </div>
445 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
446 _8c.html" target="source" name="TransposeImage">TransposeImage</a></h2>
447 <div class="doc-section">
448
449 <p>TransposeImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them by 90 degrees.</p></ol>
450
451 <p>The format of the TransposeImage method is:</p>
452
453 <pre class="code">
454   Image *TransposeImage(const Image *image,ExceptionInfo *exception)
455 </pre>
456
457 <p>A description of each parameter follows:</p></ol>
458
459 <h5>image</h5>
460 <ol><p>the image.</p></ol>
461
462 <h5>exception</h5>
463 <ol><p>return any errors or warnings in this structure.</p></ol>
464
465  </div>
466 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
467 _8c.html" target="source" name="TransverseImage">TransverseImage</a></h2>
468 <div class="doc-section">
469
470 <p>TransverseImage() creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them by 270 degrees.</p></ol>
471
472 <p>The format of the TransverseImage method is:</p>
473
474 <pre class="code">
475   Image *TransverseImage(const Image *image,ExceptionInfo *exception)
476 </pre>
477
478 <p>A description of each parameter follows:</p></ol>
479
480 <h5>image</h5>
481 <ol><p>the image.</p></ol>
482
483 <h5>exception</h5>
484 <ol><p>return any errors or warnings in this structure.</p></ol>
485
486  </div>
487 <h2><a href="http://www.imagemagick.org/api/MagickCore/transform
488 _8c.html" target="source" name="TrimImage">TrimImage</a></h2>
489 <div class="doc-section">
490
491 <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>
492
493 <p>The format of the TrimImage method is:</p>
494
495 <pre class="code">
496   Image *TrimImage(const Image *image,ExceptionInfo *exception)
497 </pre>
498
499 <p>A description of each parameter follows:</p></ol>
500
501 <h5>image</h5>
502 <ol><p>the image.</p></ol>
503
504 <h5>exception</h5>
505 <ol><p>return any errors or warnings in this structure.</p></ol>
506
507  </div>
508 \r
509 </div>\r
510 \r
511 <div id="linkbar">\r
512     <span id="linkbar-west">&nbsp;</span>\r
513     <span id="linkbar-center">\r
514       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
515       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
516     </span>\r
517     <span id="linkbar-east">&nbsp;</span>\r
518   </div>\r
519   <div class="footer">\r
520     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
521     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
522   </div>\r
523   <div style="clear: both; margin: 0; width: 100%; "></div>\r
524   <script type="text/javascript">\r
525     var _gaq = _gaq || [];\r
526     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
527     _gaq.push(['_trackPageview']);\r
528 \r
529     (function() {\r
530       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
531       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
532       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
533     })();\r
534   </script>\r
535 </body>\r
536 </html>\r