Home | History | Annotate | Download | only in api
      1 
      2 
      3 
      4 
      5 <!DOCTYPE html>
      6 <html lang="en">
      7 <head>
      8     <title>ImageMagick: MagickCore, C API for ImageMagick: Add a Special Effect</title>
      9   <meta charset="utf-8" />
     10   <meta http-equiv="X-UA-Compatible" content="IE=edge" />
     11   <meta name="viewport" content="width=device-width, initial-scale=1" />
     12   <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
     13   <meta name="application-name" content="ImageMagick"/>
     14   <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 Bzier curves."/>
     15   <meta name="application-url" content="http://www.imagemagick.org"/>
     16   <meta name="generator" content="PHP"/>
     17   <meta name="keywords" content="magickcore, c, api, for, imagemagick:, add, a, special, effect, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert"/>
     18   <meta name="rating" content="GENERAL"/>
     19   <meta name="robots" content="INDEX, FOLLOW"/>
     20   <meta name="generator" content="ImageMagick Studio LLC"/>
     21   <meta name="author" content="ImageMagick Studio LLC"/>
     22   <meta name="revisit-after" content="2 DAYS"/>
     23   <meta name="resource-type" content="document"/>
     24   <meta name="copyright" content="Copyright (c) 1999-2016 ImageMagick Studio LLC"/>
     25   <meta name="distribution" content="Global"/>
     26   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
     27   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
     28   <link rel="icon" href="../images/wand.png"/>
     29   <link rel="shortcut icon" href="../images/wand.ico"/>
     30   <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:900,400,400italic,700,700italic,300,300italic|Open+Sans:300italic,400italic,700italic,300,400,600,700">
     31   <link rel="stylesheet" href="../css/magick.html"/>
     32 </head>
     33 <body>
     34 <div class="main">
     35 <div class="magick-masthead">
     36   <div class="container">
     37     <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
     38          style="display:block"
     39          data-ad-client="ca-pub-3129977114552745"
     40          data-ad-slot="6345125851"
     41          data-ad-format="auto"></ins>
     42     <script>
     43       (adsbygoogle = window.adsbygoogle || []).push({});
     44     </script>
     45     <nav class="magick-nav">
     46       <a class="magick-nav-item " href="../index.html">Home</a>
     47       <a class="magick-nav-item " href="../binary-releases.html">Download</a>
     48       <a class="magick-nav-item " href="../command-line-tools.html">Tools</a>
     49       <a class="magick-nav-item " href="../command-line-processing.html">Command-line</a>
     50       <a class="magick-nav-item " href="../resources.html">Resources</a>
     51       <a class="magick-nav-item " href="api.html">Develop</a>
     52       <a class="magick-nav-item " href="http://www.imagemagick.org/script/search.php">Search</a>
     53       <a class="magick-nav-item pull-right" href="https://www.imagemagick.org/discourse-server/">Community</a>
     54     </nav>
     55   </div>
     56 </div>
     57 <div class="container">
     58 <div class="magick-header">
     59 <p class="text-center"><a href="fx.html#AddNoiseImage">AddNoiseImage</a> &#8226; <a href="fx.html#BlueShiftImage">BlueShiftImage</a> &#8226; <a href="fx.html#CharcoalImage">CharcoalImage</a> &#8226; <a href="fx.html#ColorizeImage">ColorizeImage</a> &#8226; <a href="fx.html#ColorMatrixImage">ColorMatrixImage</a> &#8226; <a href="fx.html#FxImage">FxImage</a> &#8226; <a href="fx.html#ImplodeImage">ImplodeImage</a> &#8226; <a href="fx.html#The MorphImages">The MorphImages</a> &#8226; <a href="fx.html#PlasmaImage">PlasmaImage</a> &#8226; <a href="fx.html#PolaroidImage">PolaroidImage</a> &#8226; <a href="fx.html#MagickSepiaToneImage">MagickSepiaToneImage</a> &#8226; <a href="fx.html#ShadowImage">ShadowImage</a> &#8226; <a href="fx.html#SketchImage">SketchImage</a> &#8226; <a href="fx.html#SolarizeImage">SolarizeImage</a> &#8226; <a href="fx.html#SteganoImage">SteganoImage</a> &#8226; <a href="fx.html#StereoAnaglyphImage">StereoAnaglyphImage</a> &#8226; <a href="fx.html#SwirlImage">SwirlImage</a> &#8226; <a href="fx.html#TintImage">TintImage</a> &#8226; <a href="fx.html#VignetteImage">VignetteImage</a> &#8226; <a href="fx.html#WaveImage">WaveImage</a> &#8226; <a href="fx.html#WaveletDenoiseImage">WaveletDenoiseImage</a></p>
     60 
     61 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="AddNoiseImage">AddNoiseImage</a></h2>
     62 
     63 <p>AddNoiseImage() adds random noise to the image.</p>
     64 
     65 <p>The format of the AddNoiseImage method is:</p>
     66 
     67 <pre class="text">
     68 Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
     69   const double attenuate,ExceptionInfo *exception)
     70 </pre>
     71 
     72 <p>A description of each parameter follows:</p>
     73 
     74 <dd>
     75 </dd>
     76 
     77 <dd> </dd>
     78 <dl class="dl-horizontal">
     79 <dt>image</dt>
     80 <dd>the image. </dd>
     81 
     82 <dd> </dd>
     83 <dt>channel</dt>
     84 <dd>the channel type. </dd>
     85 
     86 <dd> </dd>
     87 <dt>noise_type</dt>
     88 <dd> The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson. </dd>
     89 
     90 <dd> </dd>
     91 <dt>attenuate</dt>
     92 <dd> attenuate the random distribution. </dd>
     93 
     94 <dd> </dd>
     95 <dt>exception</dt>
     96 <dd>return any errors or warnings in this structure. </dd>
     97 
     98 <dd>  </dd>
     99 </dl>
    100 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="BlueShiftImage">BlueShiftImage</a></h2>
    101 
    102 <p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p>
    103 
    104 <p>The format of the BlueShiftImage method is:</p>
    105 
    106 <pre class="text">
    107 Image *BlueShiftImage(const Image *image,const double factor,
    108   ExceptionInfo *exception)
    109 </pre>
    110 
    111 <p>A description of each parameter follows:</p>
    112 
    113 <dd>
    114 </dd>
    115 
    116 <dd> </dd>
    117 <dl class="dl-horizontal">
    118 <dt>image</dt>
    119 <dd>the image. </dd>
    120 
    121 <dd> </dd>
    122 <dt>factor</dt>
    123 <dd>the shift factor. </dd>
    124 
    125 <dd> </dd>
    126 <dt>exception</dt>
    127 <dd>return any errors or warnings in this structure. </dd>
    128 
    129 <dd>  </dd>
    130 </dl>
    131 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="CharcoalImage">CharcoalImage</a></h2>
    132 
    133 <p>CharcoalImage() creates a new image that is a copy of an existing one with the edge highlighted.  It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p>
    134 
    135 <p>The format of the CharcoalImage method is:</p>
    136 
    137 <pre class="text">
    138 Image *CharcoalImage(const Image *image,const double radius,
    139   const double sigma,ExceptionInfo *exception)
    140 </pre>
    141 
    142 <p>A description of each parameter follows:</p>
    143 
    144 <dd>
    145 </dd>
    146 
    147 <dd> </dd>
    148 <dl class="dl-horizontal">
    149 <dt>image</dt>
    150 <dd>the image. </dd>
    151 
    152 <dd> </dd>
    153 <dt>radius</dt>
    154 <dd>the radius of the pixel neighborhood. </dd>
    155 
    156 <dd> </dd>
    157 <dt>sigma</dt>
    158 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    159 
    160 <dd> </dd>
    161 <dt>exception</dt>
    162 <dd>return any errors or warnings in this structure. </dd>
    163 
    164 <dd>  </dd>
    165 </dl>
    166 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ColorizeImage">ColorizeImage</a></h2>
    167 
    168 <p>ColorizeImage() blends the fill color with each pixel in the image. A percentage blend is specified with opacity.  Control the application of different color components by specifying a different percentage for each component (e.g. 90/100/10 is 90 red, 100 green, and 10 blue).</p>
    169 
    170 <p>The format of the ColorizeImage method is:</p>
    171 
    172 <pre class="text">
    173 Image *ColorizeImage(const Image *image,const char *blend,
    174   const PixelInfo *colorize,ExceptionInfo *exception)
    175 </pre>
    176 
    177 <p>A description of each parameter follows:</p>
    178 
    179 <dd>
    180 </dd>
    181 
    182 <dd> </dd>
    183 <dl class="dl-horizontal">
    184 <dt>image</dt>
    185 <dd>the image. </dd>
    186 
    187 <dd> </dd>
    188 <dt>blend</dt>
    189 <dd> A character string indicating the level of blending as a percentage. </dd>
    190 
    191 <dd> </dd>
    192 <dt>colorize</dt>
    193 <dd>A color value. </dd>
    194 
    195 <dd> </dd>
    196 <dt>exception</dt>
    197 <dd>return any errors or warnings in this structure. </dd>
    198 
    199 <dd>  </dd>
    200 </dl>
    201 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ColorMatrixImage">ColorMatrixImage</a></h2>
    202 
    203 <p>ColorMatrixImage() applies color transformation to an image. This method permits saturation changes, hue rotation, luminance to alpha, and various other effects.  Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets).  The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255).</p>
    204 
    205 <p>The format of the ColorMatrixImage method is:</p>
    206 
    207 <pre class="text">
    208 Image *ColorMatrixImage(const Image *image,
    209   const KernelInfo *color_matrix,ExceptionInfo *exception)
    210 </pre>
    211 
    212 <p>A description of each parameter follows:</p>
    213 
    214 <dd>
    215 </dd>
    216 
    217 <dd> </dd>
    218 <dl class="dl-horizontal">
    219 <dt>image</dt>
    220 <dd>the image. </dd>
    221 
    222 <dd> </dd>
    223 <dt>color_matrix</dt>
    224 <dd> the color matrix. </dd>
    225 
    226 <dd> </dd>
    227 <dt>exception</dt>
    228 <dd>return any errors or warnings in this structure. </dd>
    229 
    230 <dd>  </dd>
    231 </dl>
    232 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="FxImage">FxImage</a></h2>
    233 
    234 <p>FxImage() applies a mathematical expression to the specified image.</p>
    235 
    236 <p>The format of the FxImage method is:</p>
    237 
    238 <pre class="text">
    239 Image *FxImage(const Image *image,const char *expression,
    240   ExceptionInfo *exception)
    241 </pre>
    242 
    243 <p>A description of each parameter follows:</p>
    244 
    245 <dd>
    246 </dd>
    247 
    248 <dd> </dd>
    249 <dl class="dl-horizontal">
    250 <dt>image</dt>
    251 <dd>the image. </dd>
    252 
    253 <dd> </dd>
    254 <dt>expression</dt>
    255 <dd>A mathematical expression. </dd>
    256 
    257 <dd> </dd>
    258 <dt>exception</dt>
    259 <dd>return any errors or warnings in this structure. </dd>
    260 
    261 <dd>  </dd>
    262 </dl>
    263 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ImplodeImage">ImplodeImage</a></h2>
    264 
    265 <p>ImplodeImage() creates a new image that is a copy of an existing one with the image pixels "implode" by the specified percentage.  It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p>
    266 
    267 <p>The format of the ImplodeImage method is:</p>
    268 
    269 <pre class="text">
    270 Image *ImplodeImage(const Image *image,const double amount,
    271   const PixelInterpolateMethod method,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>implode_image</dt>
    282 <dd>Method ImplodeImage returns a pointer to the image after it is implode.  A null image is returned if there is a memory shortage. </dd>
    283 
    284 <dd> </dd>
    285 <dt>image</dt>
    286 <dd>the image. </dd>
    287 
    288 <dd> </dd>
    289 <dt>amount</dt>
    290 <dd> Define the extent of the implosion. </dd>
    291 
    292 <dd> </dd>
    293 <dt>method</dt>
    294 <dd>the pixel interpolation method. </dd>
    295 
    296 <dd> </dd>
    297 <dt>exception</dt>
    298 <dd>return any errors or warnings in this structure. </dd>
    299 
    300 <dd>  </dd>
    301 </dl>
    302 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="The_MorphImages">The MorphImages</a></h2>
    303 
    304 <p>The MorphImages() method requires a minimum of two images.  The first image is transformed into the second by a number of intervening images as specified by frames.</p>
    305 
    306 <p>The format of the MorphImage method is:</p>
    307 
    308 <pre class="text">
    309 Image *MorphImages(const Image *image,const size_t number_frames,
    310   ExceptionInfo *exception)
    311 </pre>
    312 
    313 <p>A description of each parameter follows:</p>
    314 
    315 <dd>
    316 </dd>
    317 
    318 <dd> </dd>
    319 <dl class="dl-horizontal">
    320 <dt>image</dt>
    321 <dd>the image. </dd>
    322 
    323 <dd> </dd>
    324 <dt>number_frames</dt>
    325 <dd> Define the number of in-between image to generate. The more in-between frames, the smoother the morph. </dd>
    326 
    327 <dd> </dd>
    328 <dt>exception</dt>
    329 <dd>return any errors or warnings in this structure. </dd>
    330 
    331 <dd>  </dd>
    332 </dl>
    333 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="PlasmaImage">PlasmaImage</a></h2>
    334 
    335 <p>PlasmaImage() initializes an image with plasma fractal values.  The image must be initialized with a base color and the random number generator seeded before this method is called.</p>
    336 
    337 <p>The format of the PlasmaImage method is:</p>
    338 
    339 <pre class="text">
    340 MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
    341   size_t attenuate,size_t depth,ExceptionInfo *exception)
    342 </pre>
    343 
    344 <p>A description of each parameter follows:</p>
    345 
    346 <dd>
    347 </dd>
    348 
    349 <dd> </dd>
    350 <dl class="dl-horizontal">
    351 <dt>image</dt>
    352 <dd>the image. </dd>
    353 
    354 <dd> </dd>
    355 <dt>segment</dt>
    356 <dd>  Define the region to apply plasma fractals values. </dd>
    357 
    358 <dd> </dd>
    359 <dt>attenuate</dt>
    360 <dd>Define the plasma attenuation factor. </dd>
    361 
    362 <dd> </dd>
    363 <dt>depth</dt>
    364 <dd>Limit the plasma recursion depth. </dd>
    365 
    366 <dd> </dd>
    367 <dt>exception</dt>
    368 <dd>return any errors or warnings in this structure. </dd>
    369 
    370 <dd>  </dd>
    371 </dl>
    372 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="PolaroidImage">PolaroidImage</a></h2>
    373 
    374 <p>PolaroidImage() simulates a Polaroid picture.</p>
    375 
    376 <p>The format of the PolaroidImage method is:</p>
    377 
    378 <pre class="text">
    379 Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
    380   const char *caption,const double angle,
    381   const PixelInterpolateMethod method,ExceptionInfo exception)
    382 </pre>
    383 
    384 <p>A description of each parameter follows:</p>
    385 
    386 <dd>
    387 </dd>
    388 
    389 <dd> </dd>
    390 <dl class="dl-horizontal">
    391 <dt>image</dt>
    392 <dd>the image. </dd>
    393 
    394 <dd> </dd>
    395 <dt>draw_info</dt>
    396 <dd>the draw info. </dd>
    397 
    398 <dd> </dd>
    399 <dt>caption</dt>
    400 <dd>the Polaroid caption. </dd>
    401 
    402 <dd> </dd>
    403 <dt>angle</dt>
    404 <dd>Apply the effect along this angle. </dd>
    405 
    406 <dd> </dd>
    407 <dt>method</dt>
    408 <dd>the pixel interpolation method. </dd>
    409 
    410 <dd> </dd>
    411 <dt>exception</dt>
    412 <dd>return any errors or warnings in this structure. </dd>
    413 
    414 <dd>  </dd>
    415 </dl>
    416 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
    417 
    418 <p>MagickSepiaToneImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning.  Threshold ranges from 0 to QuantumRange and is a measure of the extent of the sepia toning.  A threshold of 80 is a good starting point for a reasonable tone.</p>
    419 
    420 <p>The format of the SepiaToneImage method is:</p>
    421 
    422 <pre class="text">
    423 Image *SepiaToneImage(const Image *image,const double threshold,
    424   ExceptionInfo *exception)
    425 </pre>
    426 
    427 <p>A description of each parameter follows:</p>
    428 
    429 <dd>
    430 </dd>
    431 
    432 <dd> </dd>
    433 <dl class="dl-horizontal">
    434 <dt>image</dt>
    435 <dd>the image. </dd>
    436 
    437 <dd> </dd>
    438 <dt>threshold</dt>
    439 <dd>the tone threshold. </dd>
    440 
    441 <dd> </dd>
    442 <dt>exception</dt>
    443 <dd>return any errors or warnings in this structure. </dd>
    444 
    445 <dd>  </dd>
    446 </dl>
    447 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ShadowImage">ShadowImage</a></h2>
    448 
    449 <p>ShadowImage() simulates a shadow from the specified image and returns it.</p>
    450 
    451 <p>The format of the ShadowImage method is:</p>
    452 
    453 <pre class="text">
    454 Image *ShadowImage(const Image *image,const double alpha,
    455   const double sigma,const ssize_t x_offset,const ssize_t y_offset,
    456   ExceptionInfo *exception)
    457 </pre>
    458 
    459 <p>A description of each parameter follows:</p>
    460 
    461 <dd>
    462 </dd>
    463 
    464 <dd> </dd>
    465 <dl class="dl-horizontal">
    466 <dt>image</dt>
    467 <dd>the image. </dd>
    468 
    469 <dd> </dd>
    470 <dt>alpha</dt>
    471 <dd>percentage transparency. </dd>
    472 
    473 <dd> </dd>
    474 <dt>sigma</dt>
    475 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    476 
    477 <dd> </dd>
    478 <dt>x_offset</dt>
    479 <dd>the shadow x-offset. </dd>
    480 
    481 <dd> </dd>
    482 <dt>y_offset</dt>
    483 <dd>the shadow y-offset. </dd>
    484 
    485 <dd> </dd>
    486 <dt>exception</dt>
    487 <dd>return any errors or warnings in this structure. </dd>
    488 
    489 <dd>  </dd>
    490 </dl>
    491 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SketchImage">SketchImage</a></h2>
    492 
    493 <p>SketchImage() simulates a pencil sketch.  We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma).  For reasonable results, radius should be larger than sigma.  Use a radius of 0 and SketchImage() selects a suitable radius for you.  Angle gives the angle of the sketch.</p>
    494 
    495 <p>The format of the SketchImage method is:</p>
    496 
    497 <pre class="text">
    498     Image *SketchImage(const Image *image,const double radius,
    499 const double sigma,const double angle,ExceptionInfo *exception)
    500 </pre>
    501 
    502 <p>A description of each parameter follows:</p>
    503 
    504 <dd>
    505 </dd>
    506 
    507 <dd> </dd>
    508 <dl class="dl-horizontal">
    509 <dt>image</dt>
    510 <dd>the image. </dd>
    511 
    512 <dd> </dd>
    513 <dt>radius</dt>
    514 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    515 
    516 <dd> </dd>
    517 <dt>sigma</dt>
    518 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    519 
    520 <dd> </dd>
    521 <dt>angle</dt>
    522 <dd>apply the effect along this angle. </dd>
    523 
    524 <dd> </dd>
    525 <dt>exception</dt>
    526 <dd>return any errors or warnings in this structure. </dd>
    527 
    528 <dd>  </dd>
    529 </dl>
    530 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SolarizeImage">SolarizeImage</a></h2>
    531 
    532 <p>SolarizeImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light.  Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.</p>
    533 
    534 <p>The format of the SolarizeImage method is:</p>
    535 
    536 <pre class="text">
    537 MagickBooleanType SolarizeImage(Image *image,const double threshold,
    538   ExceptionInfo *exception)
    539 </pre>
    540 
    541 <p>A description of each parameter follows:</p>
    542 
    543 <dd>
    544 </dd>
    545 
    546 <dd> </dd>
    547 <dl class="dl-horizontal">
    548 <dt>image</dt>
    549 <dd>the image. </dd>
    550 
    551 <dd> </dd>
    552 <dt>threshold</dt>
    553 <dd> Define the extent of the solarization. </dd>
    554 
    555 <dd> </dd>
    556 <dt>exception</dt>
    557 <dd>return any errors or warnings in this structure. </dd>
    558 
    559 <dd>  </dd>
    560 </dl>
    561 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SteganoImage">SteganoImage</a></h2>
    562 
    563 <p>SteganoImage() hides a digital watermark within the image.  Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.</p>
    564 
    565 <p>The format of the SteganoImage method is:</p>
    566 
    567 <pre class="text">
    568 Image *SteganoImage(const Image *image,Image *watermark,
    569   ExceptionInfo *exception)
    570 </pre>
    571 
    572 <p>A description of each parameter follows:</p>
    573 
    574 <dd>
    575 </dd>
    576 
    577 <dd> </dd>
    578 <dl class="dl-horizontal">
    579 <dt>image</dt>
    580 <dd>the image. </dd>
    581 
    582 <dd> </dd>
    583 <dt>watermark</dt>
    584 <dd>the watermark image. </dd>
    585 
    586 <dd> </dd>
    587 <dt>exception</dt>
    588 <dd>return any errors or warnings in this structure. </dd>
    589 
    590 <dd>  </dd>
    591 </dl>
    592 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
    593 
    594 <p>StereoAnaglyphImage() combines two images and produces a single image that is the composite of a left and right image of a stereo pair.  Special red-green stereo glasses are required to view this effect.</p>
    595 
    596 <p>The format of the StereoAnaglyphImage method is:</p>
    597 
    598 <pre class="text">
    599 Image *StereoImage(const Image *left_image,const Image *right_image,
    600   ExceptionInfo *exception)
    601 Image *StereoAnaglyphImage(const Image *left_image,
    602   const Image *right_image,const ssize_t x_offset,const ssize_t y_offset,
    603   ExceptionInfo *exception)
    604 </pre>
    605 
    606 <p>A description of each parameter follows:</p>
    607 
    608 <dd>
    609 </dd>
    610 
    611 <dd> </dd>
    612 <dl class="dl-horizontal">
    613 <dt>left_image</dt>
    614 <dd>the left image. </dd>
    615 
    616 <dd> </dd>
    617 <dt>right_image</dt>
    618 <dd>the right image. </dd>
    619 
    620 <dd> </dd>
    621 <dt>exception</dt>
    622 <dd>return any errors or warnings in this structure. </dd>
    623 
    624 <dd> </dd>
    625 <dt>x_offset</dt>
    626 <dd>amount, in pixels, by which the left image is offset to the right of the right image. </dd>
    627 
    628 <dd> </dd>
    629 <dt>y_offset</dt>
    630 <dd>amount, in pixels, by which the left image is offset to the bottom of the right image. </dd>
    631 
    632 <dd> </dd>
    633 
    634 <dd>  </dd>
    635 </dl>
    636 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SwirlImage">SwirlImage</a></h2>
    637 
    638 <p>SwirlImage() swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.</p>
    639 
    640 <p>The format of the SwirlImage method is:</p>
    641 
    642 <pre class="text">
    643 Image *SwirlImage(const Image *image,double degrees,
    644   const PixelInterpolateMethod method,ExceptionInfo *exception)
    645 </pre>
    646 
    647 <p>A description of each parameter follows:</p>
    648 
    649 <dd>
    650 </dd>
    651 
    652 <dd> </dd>
    653 <dl class="dl-horizontal">
    654 <dt>image</dt>
    655 <dd>the image. </dd>
    656 
    657 <dd> </dd>
    658 <dt>degrees</dt>
    659 <dd>Define the tightness of the swirling effect. </dd>
    660 
    661 <dd> </dd>
    662 <dt>method</dt>
    663 <dd>the pixel interpolation method. </dd>
    664 
    665 <dd> </dd>
    666 <dt>exception</dt>
    667 <dd>return any errors or warnings in this structure. </dd>
    668 
    669 <dd>  </dd>
    670 </dl>
    671 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="TintImage">TintImage</a></h2>
    672 
    673 <p>TintImage() applies a color vector to each pixel in the image.  The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighting function is f(x)=(1-(4.0*((x-0.5)*(x-0.5))))</p>
    674 
    675 <p>The format of the TintImage method is:</p>
    676 
    677 <pre class="text">
    678 Image *TintImage(const Image *image,const char *blend,
    679   const PixelInfo *tint,ExceptionInfo *exception)
    680 </pre>
    681 
    682 <p>A description of each parameter follows:</p>
    683 
    684 <dd>
    685 </dd>
    686 
    687 <dd> </dd>
    688 <dl class="dl-horizontal">
    689 <dt>image</dt>
    690 <dd>the image. </dd>
    691 
    692 <dd> </dd>
    693 <dt>blend</dt>
    694 <dd>A color value used for tinting. </dd>
    695 
    696 <dd> </dd>
    697 <dt>tint</dt>
    698 <dd>A color value used for tinting. </dd>
    699 
    700 <dd> </dd>
    701 <dt>exception</dt>
    702 <dd>return any errors or warnings in this structure. </dd>
    703 
    704 <dd>  </dd>
    705 </dl>
    706 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="VignetteImage">VignetteImage</a></h2>
    707 
    708 <p>VignetteImage() softens the edges of the image in vignette style.</p>
    709 
    710 <p>The format of the VignetteImage method is:</p>
    711 
    712 <pre class="text">
    713 Image *VignetteImage(const Image *image,const double radius,
    714   const double sigma,const ssize_t x,const ssize_t y,
    715   ExceptionInfo *exception)
    716 </pre>
    717 
    718 <p>A description of each parameter follows:</p>
    719 
    720 <dd>
    721 </dd>
    722 
    723 <dd> </dd>
    724 <dl class="dl-horizontal">
    725 <dt>image</dt>
    726 <dd>the image. </dd>
    727 
    728 <dd> </dd>
    729 <dt>radius</dt>
    730 <dd>the radius of the pixel neighborhood. </dd>
    731 
    732 <dd> </dd>
    733 <dt>sigma</dt>
    734 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    735 
    736 <dd> </dd>
    737 <dt>x, y</dt>
    738 <dd> Define the x and y ellipse offset. </dd>
    739 
    740 <dd> </dd>
    741 <dt>exception</dt>
    742 <dd>return any errors or warnings in this structure. </dd>
    743 
    744 <dd>  </dd>
    745 </dl>
    746 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="WaveImage">WaveImage</a></h2>
    747 
    748 <p>WaveImage() creates a "ripple" effect in the image by shifting the pixels vertically along a sine wave whose amplitude and wavelength is specified by the given parameters.</p>
    749 
    750 <p>The format of the WaveImage method is:</p>
    751 
    752 <pre class="text">
    753 Image *WaveImage(const Image *image,const double amplitude,
    754   const double wave_length,const PixelInterpolateMethod method,
    755   ExceptionInfo *exception)
    756 </pre>
    757 
    758 <p>A description of each parameter follows:</p>
    759 
    760 <dd>
    761 </dd>
    762 
    763 <dd> </dd>
    764 <dl class="dl-horizontal">
    765 <dt>image</dt>
    766 <dd>the image. </dd>
    767 
    768 <dd> </dd>
    769 <dt>amplitude, wave_length</dt>
    770 <dd> Define the amplitude and wave length of the sine wave. </dd>
    771 
    772 <dd> </dd>
    773 <dt>interpolate</dt>
    774 <dd>the pixel interpolation method. </dd>
    775 
    776 <dd> </dd>
    777 <dt>exception</dt>
    778 <dd>return any errors or warnings in this structure. </dd>
    779 
    780 <dd>  </dd>
    781 </dl>
    782 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="WaveletDenoiseImage">WaveletDenoiseImage</a></h2>
    783 
    784 <p>WaveletDenoiseImage() removes noise from the image using a wavelet transform.  The wavelet transform is a fast hierarchical scheme for processing an image using a set of consecutive lowpass and high_pass filters, followed by a decimation.  This results in a decomposition into different scales which can be regarded as different frequency bands, determined by the mother wavelet.  Adapted from dcraw.c by David Coffin.</p>
    785 
    786 <p>The format of the WaveletDenoiseImage method is:</p>
    787 
    788 <pre class="text">
    789 Image *WaveletDenoiseImage(const Image *image,const double threshold,
    790   const double softness,ExceptionInfo *exception)
    791 </pre>
    792 
    793 <p>A description of each parameter follows:</p>
    794 
    795 <dd>
    796 </dd>
    797 
    798 <dd> </dd>
    799 <dl class="dl-horizontal">
    800 <dt>image</dt>
    801 <dd>the image. </dd>
    802 
    803 <dd> </dd>
    804 <dt>threshold</dt>
    805 <dd>set the threshold for smoothing. </dd>
    806 
    807 <dd> </dd>
    808 <dt>softness</dt>
    809 <dd>attenuate the smoothing threshold. </dd>
    810 
    811 <dd> </dd>
    812 <dt>exception</dt>
    813 <dd>return any errors or warnings in this structure. </dd>
    814 
    815 <dd>  </dd>
    816 </dl>
    817 </div>
    818   <footer class="magick-footer">
    819     <p><a href="../support.html">Donate</a> 
    820      <a href="../sitemap.html">Sitemap</a> 
    821     <a href="../links.html">Related</a> 
    822     <a href="../architecture.html">Architecture</a>
    823 </p>
    824     <p><a href="fx.html#">Back to top</a> 
    825     <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> 
    826     <a href="http://www.imagemagick.org/script/contact.php">Contact Us</a></p>
    827         <p><small>  1999-2016 ImageMagick Studio LLC</small></p>
    828   </footer>
    829 </div><!-- /.container -->
    830 
    831   <script src="https://localhost/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    832   <script src="../js/magick.html"></script>
    833 </div>
    834 </body>
    835 </html>
    836