1
2
3
4
5<!DOCTYPE html>
6<html lang="en">
7<head>
8  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
9    <title>ImageMagick: MagickCore, C API for ImageMagick: Transform an Image</title>
10  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
11  <meta name="application-name" content="ImageMagick"/>
12  <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves."/>
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, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert"/>
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-2015 ImageMagick Studio LLC"/>
23  <meta name="distribution" content="Global"/>
24  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
25  <link rel="icon" href="/image/wand.png"/>
26  <link rel="shortcut icon" href="/image/wand.ico"/>
27  <link rel="stylesheet" href="/css/magick.php"/>
28</head>
29<body>
30<div class="main">
31<div class="magick-masthead">
32  <div class="container">
33    <script async="async" src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
34         style="display:block"
35         data-ad-client="ca-pub-3129977114552745"
36         data-ad-slot="6345125851"
37         data-ad-format="auto"></ins>
38    <script>
39      (adsbygoogle = window.adsbygoogle || []).push({});
40    </script>
41    <nav class="magick-nav">
42      <a class="magick-nav-item " href="/index.php">Home</a>
43      <a class="magick-nav-item " href="/script/binary-releases.php">Download</a>
44      <a class="magick-nav-item " href="/script/command-line-tools.php">Tools</a>
45      <a class="magick-nav-item " href="/script/command-line-processing.php">Command-line</a>
46      <a class="magick-nav-item " href="/script/resources.php">Resources</a>
47      <a class="magick-nav-item " href="/script/api.php">Develop</a>
48      <a class="magick-nav-item " href="/script/search.php">Search</a>
49      <a class="magick-nav-item pull-right" href="http://www.imagemagick.org/discourse-server/">Community</a>
50    </nav>
51  </div>
52</div>
53<div class="container">
54<div class="magick-header">
55<p class="text-center"><a href="transform.php#AutoOrientImage">AutoOrientImage</a> &bull; <a href="transform.php#ChopImage">ChopImage</a> &bull; <a href="transform.php#CropImage">CropImage</a> &bull; <a href="transform.php#CropImageToTiles">CropImageToTiles</a> &bull; <a href="transform.php#ExcerptImage">ExcerptImage</a> &bull; <a href="transform.php#ExtentImage">ExtentImage</a> &bull; <a href="transform.php#FlipImage">FlipImage</a> &bull; <a href="transform.php#FlopImage">FlopImage</a> &bull; <a href="transform.php#RollImage">RollImage</a> &bull; <a href="transform.php#ShaveImage">ShaveImage</a> &bull; <a href="transform.php#SpliceImage">SpliceImage</a> &bull; <a href="transform.php#TransformImage">TransformImage</a> &bull; <a href="transform.php#TransformImages">TransformImages</a> &bull; <a href="transform.php#TransposeImage">TransposeImage</a> &bull; <a href="transform.php#TransverseImage">TransverseImage</a> &bull; <a href="transform.php#TrimImage">TrimImage</a></p>
56
57<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="AutoOrientImage">AutoOrientImage</a></h2>
58
59<p>AutoOrientImage() adjusts an image so that its orientation is suitable for viewing (i.e. top-left orientation).</p>
60
61<p>The format of the AutoOrientImage method is:</p>
62
63<pre class="text">
64Image *AutoOrientImage(const Image *image,
65  const OrientationType orientation,ExceptionInfo *exception)
66</pre>
67
68<p>A description of each parameter follows:</p>
69
70<dd>
71</dd>
72
73<dd> </dd>
74<dl class="dl-horizontal">
75<dt>image</dt>
76<dd>The image. </dd>
77
78<dd> </dd>
79<dt>orientation</dt>
80<dd>Current image orientation. </dd>
81
82<dd> </dd>
83<dt>exception</dt>
84<dd>Return any errors or warnings in this structure. </dd>
85
86<dd>  </dd>
87</dl>
88<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="ChopImage">ChopImage</a></h2>
89
90<p>ChopImage() removes a region of an image and collapses the image to occupy the removed portion.</p>
91
92<p>The format of the ChopImage method is:</p>
93
94<pre class="text">
95Image *ChopImage(const Image *image,const RectangleInfo *chop_info)
96  ExceptionInfo *exception)
97</pre>
98
99<p>A description of each parameter follows:</p>
100
101<dd>
102</dd>
103
104<dd> </dd>
105<dl class="dl-horizontal">
106<dt>image</dt>
107<dd>the image. </dd>
108
109<dd> </dd>
110<dt>chop_info</dt>
111<dd>Define the region of the image to chop. </dd>
112
113<dd> </dd>
114<dt>exception</dt>
115<dd>return any errors or warnings in this structure. </dd>
116
117<dd>  </dd>
118</dl>
119<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="CropImage">CropImage</a></h2>
120
121<p>CropImage() extracts a region of the image starting at the offset defined by geometry.  Region must be fully defined, and no special handling of geometry flags is performed.</p>
122
123<p>The format of the CropImage method is:</p>
124
125<pre class="text">
126Image *CropImage(const Image *image,const RectangleInfo *geometry,
127  ExceptionInfo *exception)
128</pre>
129
130<p>A description of each parameter follows:</p>
131
132<dd>
133</dd>
134
135<dd> </dd>
136<dl class="dl-horizontal">
137<dt>image</dt>
138<dd>the image. </dd>
139
140<dd> </dd>
141<dt>geometry</dt>
142<dd>Define the region of the image to crop with members x, y, width, and height. </dd>
143
144<dd> </dd>
145<dt>exception</dt>
146<dd>return any errors or warnings in this structure. </dd>
147
148<dd>  </dd>
149</dl>
150<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="CropImageToTiles">CropImageToTiles</a></h2>
151
152<p>CropImageToTiles() crops a single image, into a possible list of tiles. This may include a single sub-region of the image.  This basically applies all the normal geometry flags for Crop.</p>
153
154<p>Image *CropImageToTiles(const Image *image, const RectangleInfo *crop_geometry, ExceptionInfo *exception)</p>
155
156<p>A description of each parameter follows:</p>
157
158<dd>
159</dd>
160
161<dd> </dd>
162<dl class="dl-horizontal">
163<dt>image</dt>
164<dd>the image The transformed image is returned as this parameter. </dd>
165
166<dd> </dd>
167<dt>crop_geometry</dt>
168<dd>A crop geometry string. </dd>
169
170<dd> </dd>
171<dt>exception</dt>
172<dd>return any errors or warnings in this structure. </dd>
173
174<dd>  </dd>
175</dl>
176<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="ExcerptImage">ExcerptImage</a></h2>
177
178<p>ExcerptImage() returns a excerpt of the image as defined by the geometry.</p>
179
180<p>The format of the ExcerptImage method is:</p>
181
182<pre class="text">
183Image *ExcerptImage(const Image *image,const RectangleInfo *geometry,
184  ExceptionInfo *exception)
185</pre>
186
187<p>A description of each parameter follows:</p>
188
189<dd>
190</dd>
191
192<dd> </dd>
193<dl class="dl-horizontal">
194<dt>image</dt>
195<dd>the image. </dd>
196
197<dd> </dd>
198<dt>geometry</dt>
199<dd>Define the region of the image to extend with members x, y, width, and height. </dd>
200
201<dd> </dd>
202<dt>exception</dt>
203<dd>return any errors or warnings in this structure. </dd>
204
205<dd>  </dd>
206</dl>
207<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="ExtentImage">ExtentImage</a></h2>
208
209<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>
210
211<p>The format of the ExtentImage method is:</p>
212
213<pre class="text">
214Image *ExtentImage(const Image *image,const RectangleInfo *geometry,
215  ExceptionInfo *exception)
216</pre>
217
218<p>A description of each parameter follows:</p>
219
220<dd>
221</dd>
222
223<dd> </dd>
224<dl class="dl-horizontal">
225<dt>image</dt>
226<dd>the image. </dd>
227
228<dd> </dd>
229<dt>geometry</dt>
230<dd>Define the region of the image to extend with members x, y, width, and height. </dd>
231
232<dd> </dd>
233<dt>exception</dt>
234<dd>return any errors or warnings in this structure. </dd>
235
236<dd>  </dd>
237</dl>
238<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="FlipImage">FlipImage</a></h2>
239
240<p>FlipImage() creates a vertical mirror image by reflecting the pixels around the central x-axis.</p>
241
242<p>The format of the FlipImage method is:</p>
243
244<pre class="text">
245Image *FlipImage(const Image *image,ExceptionInfo *exception)
246</pre>
247
248<p>A description of each parameter follows:</p>
249
250<dd>
251</dd>
252
253<dd> </dd>
254<dl class="dl-horizontal">
255<dt>image</dt>
256<dd>the image. </dd>
257
258<dd> </dd>
259<dt>exception</dt>
260<dd>return any errors or warnings in this structure. </dd>
261
262<dd>  </dd>
263</dl>
264<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="FlopImage">FlopImage</a></h2>
265
266<p>FlopImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis.</p>
267
268<p>The format of the FlopImage method is:</p>
269
270<pre class="text">
271Image *FlopImage(const Image *image,ExceptionInfo *exception)
272</pre>
273
274<p>A description of each parameter follows:</p>
275
276<dd>
277</dd>
278
279<dd> </dd>
280<dl class="dl-horizontal">
281<dt>image</dt>
282<dd>the image. </dd>
283
284<dd> </dd>
285<dt>exception</dt>
286<dd>return any errors or warnings in this structure. </dd>
287
288<dd>  </dd>
289</dl>
290<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="RollImage">RollImage</a></h2>
291
292<p>RollImage() offsets an image as defined by x_offset and y_offset.</p>
293
294<p>The format of the RollImage method is:</p>
295
296<pre class="text">
297Image *RollImage(const Image *image,const ssize_t x_offset,
298  const ssize_t y_offset,ExceptionInfo *exception)
299</pre>
300
301<p>A description of each parameter follows:</p>
302
303<dd>
304</dd>
305
306<dd> </dd>
307<dl class="dl-horizontal">
308<dt>image</dt>
309<dd>the image. </dd>
310
311<dd> </dd>
312<dt>x_offset</dt>
313<dd>the number of columns to roll in the horizontal direction. </dd>
314
315<dd> </dd>
316<dt>y_offset</dt>
317<dd>the number of rows to roll in the vertical direction. </dd>
318
319<dd> </dd>
320<dt>exception</dt>
321<dd>return any errors or warnings in this structure. </dd>
322
323<dd>  </dd>
324</dl>
325<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="ShaveImage">ShaveImage</a></h2>
326
327<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>
328
329<p>The format of the ShaveImage method is:</p>
330
331<pre class="text">
332Image *ShaveImage(const Image *image,const RectangleInfo *shave_info,
333  ExceptionInfo *exception)
334</pre>
335
336<p>A description of each parameter follows:</p>
337
338<dd>
339</dd>
340
341<dd> </dd>
342<dl class="dl-horizontal">
343<dt>shave_image</dt>
344<dd>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. </dd>
345
346<dd> </dd>
347<dt>image</dt>
348<dd>the image. </dd>
349
350<dd> </dd>
351<dt>shave_info</dt>
352<dd>Specifies a pointer to a RectangleInfo which defines the region of the image to crop. </dd>
353
354<dd> </dd>
355<dt>exception</dt>
356<dd>return any errors or warnings in this structure. </dd>
357
358<dd>  </dd>
359</dl>
360<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="SpliceImage">SpliceImage</a></h2>
361
362<p>SpliceImage() splices a solid color into the image as defined by the geometry.</p>
363
364<p>The format of the SpliceImage method is:</p>
365
366<pre class="text">
367Image *SpliceImage(const Image *image,const RectangleInfo *geometry,
368  ExceptionInfo *exception)
369</pre>
370
371<p>A description of each parameter follows:</p>
372
373<dd>
374</dd>
375
376<dd> </dd>
377<dl class="dl-horizontal">
378<dt>image</dt>
379<dd>the image. </dd>
380
381<dd> </dd>
382<dt>geometry</dt>
383<dd>Define the region of the image to splice with members x, y, width, and height. </dd>
384
385<dd> </dd>
386<dt>exception</dt>
387<dd>return any errors or warnings in this structure. </dd>
388
389<dd>  </dd>
390</dl>
391<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="TransformImage">TransformImage</a></h2>
392
393<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 left as is.</p>
394
395<p>This should only be used for single images.</p>
396
397<p>This function destroys what it assumes to be a single image list. If the input image is part of a larger list, all other images in that list will be simply 'lost', not destroyed.</p>
398
399<p>Also if the crop generates a list of images only the first image is resized. And finally if the crop succeeds and the resize failed, you will get a cropped image, as well as a 'false' or 'failed' report.</p>
400
401<p>This function and should probably be deprecated in favor of direct calls to CropImageToTiles() or ResizeImage(), as appropriate.</p>
402
403<p>The format of the TransformImage method is:</p>
404
405<pre class="text">
406MagickBooleanType TransformImage(Image **image,const char *crop_geometry,
407  const char *image_geometry,ExceptionInfo *exception)
408</pre>
409
410<p>A description of each parameter follows:</p>
411
412<dd>
413</dd>
414
415<dd> </dd>
416<dl class="dl-horizontal">
417<dt>image</dt>
418<dd>the image The transformed image is returned as this parameter. </dd>
419
420<dd> </dd>
421<dt>crop_geometry</dt>
422<dd>A crop geometry string.  This geometry defines a subregion of the image to crop. </dd>
423
424<dd> </dd>
425<dt>image_geometry</dt>
426<dd>An image geometry string.  This geometry defines the final size of the image. </dd>
427
428<dd> </dd>
429<dt>exception</dt>
430<dd>return any errors or warnings in this structure. </dd>
431
432<dd>  </dd>
433</dl>
434<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="TransformImages">TransformImages</a></h2>
435
436<p>TransformImages() calls TransformImage() on each image of a sequence.</p>
437
438<p>The format of the TransformImage method is:</p>
439
440<pre class="text">
441MagickBooleanType TransformImages(Image **image,
442  const char *crop_geometry,const char *image_geometry,
443  ExceptionInfo *exception)
444</pre>
445
446<p>A description of each parameter follows:</p>
447
448<dd>
449</dd>
450
451<dd> </dd>
452<dl class="dl-horizontal">
453<dt>image</dt>
454<dd>the image The transformed image is returned as this parameter. </dd>
455
456<dd> </dd>
457<dt>crop_geometry</dt>
458<dd>A crop geometry string.  This geometry defines a subregion of the image to crop. </dd>
459
460<dd> </dd>
461<dt>image_geometry</dt>
462<dd>An image geometry string.  This geometry defines the final size of the image. </dd>
463
464<dd> </dd>
465<dt>exception</dt>
466<dd>return any errors or warnings in this structure. </dd>
467
468<dd>  </dd>
469</dl>
470<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="TransposeImage">TransposeImage</a></h2>
471
472<p>TransposeImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them by 90 degrees.</p>
473
474<p>The format of the TransposeImage method is:</p>
475
476<pre class="text">
477Image *TransposeImage(const Image *image,ExceptionInfo *exception)
478</pre>
479
480<p>A description of each parameter follows:</p>
481
482<dd>
483</dd>
484
485<dd> </dd>
486<dl class="dl-horizontal">
487<dt>image</dt>
488<dd>the image. </dd>
489
490<dd> </dd>
491<dt>exception</dt>
492<dd>return any errors or warnings in this structure. </dd>
493
494<dd>  </dd>
495</dl>
496<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="TransverseImage">TransverseImage</a></h2>
497
498<p>TransverseImage() creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them by 270 degrees.</p>
499
500<p>The format of the TransverseImage method is:</p>
501
502<pre class="text">
503Image *TransverseImage(const Image *image,ExceptionInfo *exception)
504</pre>
505
506<p>A description of each parameter follows:</p>
507
508<dd>
509</dd>
510
511<dd> </dd>
512<dl class="dl-horizontal">
513<dt>image</dt>
514<dd>the image. </dd>
515
516<dd> </dd>
517<dt>exception</dt>
518<dd>return any errors or warnings in this structure. </dd>
519
520<dd>  </dd>
521</dl>
522<h2><a href="http://www.imagemagick.org/api/MagickCore/transform_8c.html" id="TrimImage">TrimImage</a></h2>
523
524<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>
525
526<p>The format of the TrimImage method is:</p>
527
528<pre class="text">
529Image *TrimImage(const Image *image,ExceptionInfo *exception)
530</pre>
531
532<p>A description of each parameter follows:</p>
533
534<dd>
535</dd>
536
537<dd> </dd>
538<dl class="dl-horizontal">
539<dt>image</dt>
540<dd>the image. </dd>
541
542<dd> </dd>
543<dt>exception</dt>
544<dd>return any errors or warnings in this structure. </dd>
545
546<dd>  </dd>
547</dl>
548</div>
549  <footer class="magick-footer">
550    <p><a href="/script/support.php">Donate</a> •
551     <a href="/script/sitemap.php">Sitemap</a> •
552    <a href="/script/links.php">Related</a> •
553    <a href="/script/architecture.php">Architecture</a>
554</p>
555    <p><a href="transform.php#">Back to top</a> •
556    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> •
557    <a href="/script/contact.php">Contact Us</a></p>
558        <p><small>©  1999-2016 ImageMagick Studio LLC</small></p>
559  </footer>
560</div><!-- /.container -->
561
562  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
563  <script src="http://nextgen.imagemagick.org/js/magick.php"></script>
564</div>
565</body>
566</html>
567