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