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: Add an Effect @ 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:, add, an, effect, 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-2017 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="effect.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="effect.html#AdaptiveBlurImage">AdaptiveBlurImage</a> &#8226; <a href="effect.html#AdaptiveSharpenImage">AdaptiveSharpenImage</a> &#8226; <a href="effect.html#BlurImage">BlurImage</a> &#8226; <a href="effect.html#ConvolveImage">ConvolveImage</a> &#8226; <a href="effect.html#DespeckleImage">DespeckleImage</a> &#8226; <a href="effect.html#EdgeImage">EdgeImage</a> &#8226; <a href="effect.html#EmbossImage">EmbossImage</a> &#8226; <a href="effect.html#GaussianBlurImage">GaussianBlurImage</a> &#8226; <a href="effect.html#KuwaharaImage">KuwaharaImage</a> &#8226; <a href="effect.html#LocalContrastImage">LocalContrastImage</a> &#8226; <a href="effect.html#MotionBlurImage">MotionBlurImage</a> &#8226; <a href="effect.html#PreviewImage">PreviewImage</a> &#8226; <a href="effect.html#RotationalBlurImage">RotationalBlurImage</a> &#8226; <a href="effect.html#SelectiveBlurImage">SelectiveBlurImage</a> &#8226; <a href="effect.html#ShadeImage">ShadeImage</a> &#8226; <a href="effect.html#SharpenImage">SharpenImage</a> &#8226; <a href="effect.html#SpreadImage">SpreadImage</a> &#8226; <a href="effect.html#UnsharpMaskImage">UnsharpMaskImage</a></p>
     85 
     86 <h2><a href="../../api/MagickCore/effect_8c.html" id="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
     87 
     88 <p>AdaptiveBlurImage() adaptively blurs the image by blurring less intensely near image edges and more intensely far from edges.  We blur 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 AdaptiveBlurImage() selects a suitable radius for you.</p>
     89 
     90 <p>The format of the AdaptiveBlurImage method is:</p>
     91 
     92 <pre class="text">
     93 Image *AdaptiveBlurImage(const Image *image,const double radius,
     94   const double sigma,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>radius</dt>
    109 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    110 
    111 <dd> </dd>
    112 <dt>sigma</dt>
    113 <dd>the standard deviation of the Laplacian, in pixels. </dd>
    114 
    115 <dd> </dd>
    116 <dt>exception</dt>
    117 <dd>return any errors or warnings in this structure. </dd>
    118 
    119 <dd>  </dd>
    120 </dl>
    121 <h2><a href="../../api/MagickCore/effect_8c.html" id="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
    122 
    123 <p>AdaptiveSharpenImage() adaptively sharpens the image by sharpening more intensely near image edges and less intensely far from edges. We sharpen 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 AdaptiveSharpenImage() selects a suitable radius for you.</p>
    124 
    125 <p>The format of the AdaptiveSharpenImage method is:</p>
    126 
    127 <pre class="text">
    128 Image *AdaptiveSharpenImage(const Image *image,const double radius,
    129   const double sigma,ExceptionInfo *exception)
    130 </pre>
    131 
    132 <p>A description of each parameter follows:</p>
    133 
    134 <dd>
    135 </dd>
    136 
    137 <dd> </dd>
    138 <dl class="dl-horizontal">
    139 <dt>image</dt>
    140 <dd>the image. </dd>
    141 
    142 <dd> </dd>
    143 <dt>radius</dt>
    144 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    145 
    146 <dd> </dd>
    147 <dt>sigma</dt>
    148 <dd>the standard deviation of the Laplacian, in pixels. </dd>
    149 
    150 <dd> </dd>
    151 <dt>exception</dt>
    152 <dd>return any errors or warnings in this structure. </dd>
    153 
    154 <dd>  </dd>
    155 </dl>
    156 <h2><a href="../../api/MagickCore/effect_8c.html" id="BlurImage">BlurImage</a></h2>
    157 
    158 <p>BlurImage() blurs an image.  We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma).  For reasonable results, the radius should be larger than sigma.  Use a radius of 0 and BlurImage() selects a suitable radius for you.</p>
    159 
    160 <p>The format of the BlurImage method is:</p>
    161 
    162 <pre class="text">
    163 Image *BlurImage(const Image *image,const double radius,
    164   const double sigma,ExceptionInfo *exception)
    165 </pre>
    166 
    167 <p>A description of each parameter follows:</p>
    168 
    169 <dd>
    170 </dd>
    171 
    172 <dd> </dd>
    173 <dl class="dl-horizontal">
    174 <dt>image</dt>
    175 <dd>the image. </dd>
    176 
    177 <dd> </dd>
    178 <dt>radius</dt>
    179 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    180 
    181 <dd> </dd>
    182 <dt>sigma</dt>
    183 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    184 
    185 <dd> </dd>
    186 <dt>exception</dt>
    187 <dd>return any errors or warnings in this structure. </dd>
    188 
    189 <dd>  </dd>
    190 </dl>
    191 <h2><a href="../../api/MagickCore/effect_8c.html" id="ConvolveImage">ConvolveImage</a></h2>
    192 
    193 <p>ConvolveImage() applies a custom convolution kernel to the image.</p>
    194 
    195 <p>The format of the ConvolveImage method is:</p>
    196 
    197 <pre class="text">
    198 Image *ConvolveImage(const Image *image,const KernelInfo *kernel,
    199   ExceptionInfo *exception)
    200 </pre>
    201 
    202 <p>A description of each parameter follows:</p>
    203 
    204 <dd>
    205 </dd>
    206 
    207 <dd> </dd>
    208 <dl class="dl-horizontal">
    209 <dt>image</dt>
    210 <dd>the image. </dd>
    211 
    212 <dd> </dd>
    213 <dt>kernel</dt>
    214 <dd>the filtering kernel. </dd>
    215 
    216 <dd> </dd>
    217 <dt>exception</dt>
    218 <dd>return any errors or warnings in this structure. </dd>
    219 
    220 <dd>  </dd>
    221 </dl>
    222 <h2><a href="../../api/MagickCore/effect_8c.html" id="DespeckleImage">DespeckleImage</a></h2>
    223 
    224 <p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.  A speckle removing filter uses a complementary hulling technique (raising pixels that are darker than their surrounding neighbors, then complementarily lowering pixels that are brighter than their surrounding neighbors) to reduce the speckle index of that image (reference Crimmins speckle removal).</p>
    225 
    226 <p>The format of the DespeckleImage method is:</p>
    227 
    228 <pre class="text">
    229 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
    230 </pre>
    231 
    232 <p>A description of each parameter follows:</p>
    233 
    234 <dd>
    235 </dd>
    236 
    237 <dd> </dd>
    238 <dl class="dl-horizontal">
    239 <dt>image</dt>
    240 <dd>the image. </dd>
    241 
    242 <dd> </dd>
    243 <dt>exception</dt>
    244 <dd>return any errors or warnings in this structure. </dd>
    245 
    246 <dd>  </dd>
    247 </dl>
    248 <h2><a href="../../api/MagickCore/effect_8c.html" id="EdgeImage">EdgeImage</a></h2>
    249 
    250 <p>EdgeImage() finds edges in an image.  Radius defines the radius of the convolution filter.  Use a radius of 0 and EdgeImage() selects a suitable radius for you.</p>
    251 
    252 <p>The format of the EdgeImage method is:</p>
    253 
    254 <pre class="text">
    255 Image *EdgeImage(const Image *image,const double radius,
    256   ExceptionInfo *exception)
    257 </pre>
    258 
    259 <p>A description of each parameter follows:</p>
    260 
    261 <dd>
    262 </dd>
    263 
    264 <dd> </dd>
    265 <dl class="dl-horizontal">
    266 <dt>image</dt>
    267 <dd>the image. </dd>
    268 
    269 <dd> </dd>
    270 <dt>radius</dt>
    271 <dd>the radius of the pixel neighborhood. </dd>
    272 
    273 <dd> </dd>
    274 <dt>exception</dt>
    275 <dd>return any errors or warnings in this structure. </dd>
    276 
    277 <dd>  </dd>
    278 </dl>
    279 <h2><a href="../../api/MagickCore/effect_8c.html" id="EmbossImage">EmbossImage</a></h2>
    280 
    281 <p>EmbossImage() returns a grayscale image with a three-dimensional effect. 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 Emboss() selects a suitable radius for you.</p>
    282 
    283 <p>The format of the EmbossImage method is:</p>
    284 
    285 <pre class="text">
    286 Image *EmbossImage(const Image *image,const double radius,
    287   const double sigma,ExceptionInfo *exception)
    288 </pre>
    289 
    290 <p>A description of each parameter follows:</p>
    291 
    292 <dd>
    293 </dd>
    294 
    295 <dd> </dd>
    296 <dl class="dl-horizontal">
    297 <dt>image</dt>
    298 <dd>the image. </dd>
    299 
    300 <dd> </dd>
    301 <dt>radius</dt>
    302 <dd>the radius of the pixel neighborhood. </dd>
    303 
    304 <dd> </dd>
    305 <dt>sigma</dt>
    306 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    307 
    308 <dd> </dd>
    309 <dt>exception</dt>
    310 <dd>return any errors or warnings in this structure. </dd>
    311 
    312 <dd>  </dd>
    313 </dl>
    314 <h2><a href="../../api/MagickCore/effect_8c.html" id="GaussianBlurImage">GaussianBlurImage</a></h2>
    315 
    316 <p>GaussianBlurImage() blurs an image.  We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma.  Use a radius of 0 and GaussianBlurImage() selects a suitable radius for you</p>
    317 
    318 <p>The format of the GaussianBlurImage method is:</p>
    319 
    320 <pre class="text">
    321 Image *GaussianBlurImage(const Image *image,onst double radius,
    322   const double sigma,ExceptionInfo *exception)
    323 </pre>
    324 
    325 <p>A description of each parameter follows:</p>
    326 
    327 <dd>
    328 </dd>
    329 
    330 <dd> </dd>
    331 <dl class="dl-horizontal">
    332 <dt>image</dt>
    333 <dd>the image. </dd>
    334 
    335 <dd> </dd>
    336 <dt>radius</dt>
    337 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    338 
    339 <dd> </dd>
    340 <dt>sigma</dt>
    341 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    342 
    343 <dd> </dd>
    344 <dt>exception</dt>
    345 <dd>return any errors or warnings in this structure. </dd>
    346 
    347 <dd>  </dd>
    348 </dl>
    349 <h2><a href="../../api/MagickCore/effect_8c.html" id="KuwaharaImage">KuwaharaImage</a></h2>
    350 
    351 <p>KuwaharaImage() is an edge preserving noise reduction filter.</p>
    352 
    353 <p>The format of the KuwaharaImage method is:</p>
    354 
    355 <pre class="text">
    356 Image *KuwaharaImage(const Image *image,const double radius,
    357   const double sigma,ExceptionInfo *exception)
    358 </pre>
    359 
    360 <p>A description of each parameter follows:</p>
    361 
    362 <dd>
    363 </dd>
    364 
    365 <dd> </dd>
    366 <dl class="dl-horizontal">
    367 <dt>image</dt>
    368 <dd>the image. </dd>
    369 
    370 <dd> </dd>
    371 <dt>radius</dt>
    372 <dd>the square window radius. </dd>
    373 
    374 <dd> </dd>
    375 <dt>sigma</dt>
    376 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    377 
    378 <dd> </dd>
    379 <dt>exception</dt>
    380 <dd>return any errors or warnings in this structure. </dd>
    381 
    382 <dd>  </dd>
    383 </dl>
    384 <h2><a href="../../api/MagickCore/effect_8c.html" id="LocalContrastImage">LocalContrastImage</a></h2>
    385 
    386 <p>LocalContrastImage() attempts to increase the appearance of large-scale light-dark transitions. Local contrast enhancement works similarly to sharpening with an unsharp mask, however the mask is instead created using an image with a greater blur distance.</p>
    387 
    388 <p>The format of the LocalContrastImage method is:</p>
    389 
    390 <pre class="text">
    391 Image *LocalContrastImage(const Image *image, const double radius,
    392   const double strength,ExceptionInfo *exception)
    393 </pre>
    394 
    395 <p>A description of each parameter follows:</p>
    396 
    397 <dd>
    398 </dd>
    399 
    400 <dd> </dd>
    401 <dl class="dl-horizontal">
    402 <dt>image</dt>
    403 <dd>the image. </dd>
    404 
    405 <dd> </dd>
    406 <dt>radius</dt>
    407 <dd>the radius of the Gaussian blur, in percentage with 100 resulting in a blur radius of 20 of largest dimension. </dd>
    408 
    409 <dd> </dd>
    410 <dt>strength</dt>
    411 <dd>the strength of the blur mask in percentage. </dd>
    412 
    413 <dd> </dd>
    414 <dt>exception</dt>
    415 <dd>return any errors or warnings in this structure. </dd>
    416 
    417 <dd>  </dd>
    418 </dl>
    419 <h2><a href="../../api/MagickCore/effect_8c.html" id="MotionBlurImage">MotionBlurImage</a></h2>
    420 
    421 <p>MotionBlurImage() simulates motion blur.  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 MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.</p>
    422 
    423 <p>Andrew Protano contributed this effect.</p>
    424 
    425 <p>The format of the MotionBlurImage method is:</p>
    426 
    427 <pre class="text">
    428     Image *MotionBlurImage(const Image *image,const double radius,
    429 const double sigma,const double angle,ExceptionInfo *exception)
    430 </pre>
    431 
    432 <p>A description of each parameter follows:</p>
    433 
    434 <dd>
    435 </dd>
    436 
    437 <dd> </dd>
    438 <dl class="dl-horizontal">
    439 <dt>image</dt>
    440 <dd>the image. </dd>
    441 
    442 <dd> </dd>
    443 <dt>radius</dt>
    444 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    445 
    446 <dd> </dd>
    447 <dt>sigma</dt>
    448 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    449 
    450 <dd> </dd>
    451 <dt>angle</dt>
    452 <dd>Apply the effect along this angle. </dd>
    453 
    454 <dd> </dd>
    455 <dt>exception</dt>
    456 <dd>return any errors or warnings in this structure. </dd>
    457 
    458 <dd>  </dd>
    459 </dl>
    460 <h2><a href="../../api/MagickCore/effect_8c.html" id="PreviewImage">PreviewImage</a></h2>
    461 
    462 <p>PreviewImage() tiles 9 thumbnails of the specified image with an image processing operation applied with varying parameters.  This may be helpful pin-pointing an appropriate parameter for a particular image processing operation.</p>
    463 
    464 <p>The format of the PreviewImages method is:</p>
    465 
    466 <pre class="text">
    467 Image *PreviewImages(const Image *image,const PreviewType preview,
    468   ExceptionInfo *exception)
    469 </pre>
    470 
    471 <p>A description of each parameter follows:</p>
    472 
    473 <dd>
    474 </dd>
    475 
    476 <dd> </dd>
    477 <dl class="dl-horizontal">
    478 <dt>image</dt>
    479 <dd>the image. </dd>
    480 
    481 <dd> </dd>
    482 <dt>preview</dt>
    483 <dd>the image processing operation. </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="../../api/MagickCore/effect_8c.html" id="RotationalBlurImage">RotationalBlurImage</a></h2>
    492 
    493 <p>RotationalBlurImage() applies a radial blur to the image.</p>
    494 
    495 <p>Andrew Protano contributed this effect.</p>
    496 
    497 <p>The format of the RotationalBlurImage method is:</p>
    498 
    499 <pre class="text">
    500     Image *RotationalBlurImage(const Image *image,const double angle,
    501 ExceptionInfo *exception)
    502 </pre>
    503 
    504 <p>A description of each parameter follows:</p>
    505 
    506 <dd>
    507 </dd>
    508 
    509 <dd> </dd>
    510 <dl class="dl-horizontal">
    511 <dt>image</dt>
    512 <dd>the image. </dd>
    513 
    514 <dd> </dd>
    515 <dt>angle</dt>
    516 <dd>the angle of the radial blur. </dd>
    517 
    518 <dd> </dd>
    519 <dt>blur</dt>
    520 <dd>the blur. </dd>
    521 
    522 <dd> </dd>
    523 <dt>exception</dt>
    524 <dd>return any errors or warnings in this structure. </dd>
    525 
    526 <dd>  </dd>
    527 </dl>
    528 <h2><a href="../../api/MagickCore/effect_8c.html" id="SelectiveBlurImage">SelectiveBlurImage</a></h2>
    529 
    530 <p>SelectiveBlurImage() selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold.</p>
    531 
    532 <p>The format of the SelectiveBlurImage method is:</p>
    533 
    534 <pre class="text">
    535 Image *SelectiveBlurImage(const Image *image,const double radius,
    536   const double sigma,const double threshold,ExceptionInfo *exception)
    537 </pre>
    538 
    539 <p>A description of each parameter follows:</p>
    540 
    541 <dd>
    542 </dd>
    543 
    544 <dd> </dd>
    545 <dl class="dl-horizontal">
    546 <dt>image</dt>
    547 <dd>the image. </dd>
    548 
    549 <dd> </dd>
    550 <dt>radius</dt>
    551 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    552 
    553 <dd> </dd>
    554 <dt>sigma</dt>
    555 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    556 
    557 <dd> </dd>
    558 <dt>threshold</dt>
    559 <dd>only pixels within this contrast threshold are included in the blur operation. </dd>
    560 
    561 <dd> </dd>
    562 <dt>exception</dt>
    563 <dd>return any errors or warnings in this structure. </dd>
    564 
    565 <dd>  </dd>
    566 </dl>
    567 <h2><a href="../../api/MagickCore/effect_8c.html" id="ShadeImage">ShadeImage</a></h2>
    568 
    569 <p>ShadeImage() shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis.</p>
    570 
    571 <p>The format of the ShadeImage method is:</p>
    572 
    573 <pre class="text">
    574 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
    575   const double azimuth,const double elevation,ExceptionInfo *exception)
    576 </pre>
    577 
    578 <p>A description of each parameter follows:</p>
    579 
    580 <dd>
    581 </dd>
    582 
    583 <dd> </dd>
    584 <dl class="dl-horizontal">
    585 <dt>image</dt>
    586 <dd>the image. </dd>
    587 
    588 <dd> </dd>
    589 <dt>gray</dt>
    590 <dd>A value other than zero shades the intensity of each pixel. </dd>
    591 
    592 <dd> </dd>
    593 <dt>azimuth, elevation</dt>
    594 <dd> Define the light source direction. </dd>
    595 
    596 <dd> </dd>
    597 <dt>exception</dt>
    598 <dd>return any errors or warnings in this structure. </dd>
    599 
    600 <dd>  </dd>
    601 </dl>
    602 <h2><a href="../../api/MagickCore/effect_8c.html" id="SharpenImage">SharpenImage</a></h2>
    603 
    604 <p>SharpenImage() sharpens the image.  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 SharpenImage() selects a suitable radius for you.</p>
    605 
    606 <p>Using a separable kernel would be faster, but the negative weights cancel out on the corners of the kernel producing often undesirable ringing in the filtered result; this can be avoided by using a 2D gaussian shaped image sharpening kernel instead.</p>
    607 
    608 <p>The format of the SharpenImage method is:</p>
    609 
    610 <pre class="text">
    611     Image *SharpenImage(const Image *image,const double radius,
    612 const double sigma,ExceptionInfo *exception)
    613 </pre>
    614 
    615 <p>A description of each parameter follows:</p>
    616 
    617 <dd>
    618 </dd>
    619 
    620 <dd> </dd>
    621 <dl class="dl-horizontal">
    622 <dt>image</dt>
    623 <dd>the image. </dd>
    624 
    625 <dd> </dd>
    626 <dt>radius</dt>
    627 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    628 
    629 <dd> </dd>
    630 <dt>sigma</dt>
    631 <dd>the standard deviation of the Laplacian, in pixels. </dd>
    632 
    633 <dd> </dd>
    634 <dt>exception</dt>
    635 <dd>return any errors or warnings in this structure. </dd>
    636 
    637 <dd>  </dd>
    638 </dl>
    639 <h2><a href="../../api/MagickCore/effect_8c.html" id="SpreadImage">SpreadImage</a></h2>
    640 
    641 <p>SpreadImage() is a special effects method that randomly displaces each pixel in a square area defined by the radius parameter.</p>
    642 
    643 <p>The format of the SpreadImage method is:</p>
    644 
    645 <pre class="text">
    646 Image *SpreadImage(const Image *image,
    647   const PixelInterpolateMethod method,const double radius,
    648   ExceptionInfo *exception)
    649 </pre>
    650 
    651 <p>A description of each parameter follows:</p>
    652 
    653 <dd>
    654 </dd>
    655 
    656 <dd> </dd>
    657 <dl class="dl-horizontal">
    658 <dt>image</dt>
    659 <dd>the image. </dd>
    660 
    661 <dd> </dd>
    662 <dt>method</dt>
    663 <dd> intepolation method. </dd>
    664 
    665 <dd> </dd>
    666 <dt>radius</dt>
    667 <dd> choose a random pixel in a neighborhood of this extent. </dd>
    668 
    669 <dd> </dd>
    670 <dt>exception</dt>
    671 <dd>return any errors or warnings in this structure. </dd>
    672 
    673 <dd>  </dd>
    674 </dl>
    675 <h2><a href="../../api/MagickCore/effect_8c.html" id="UnsharpMaskImage">UnsharpMaskImage</a></h2>
    676 
    677 <p>UnsharpMaskImage() sharpens one or more image channels.  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 UnsharpMaskImage() selects a suitable radius for you.</p>
    678 
    679 <p>The format of the UnsharpMaskImage method is:</p>
    680 
    681 <pre class="text">
    682     Image *UnsharpMaskImage(const Image *image,const double radius,
    683 const double sigma,const double amount,const double threshold,
    684 ExceptionInfo *exception)
    685 </pre>
    686 
    687 <p>A description of each parameter follows:</p>
    688 
    689 <dd>
    690 </dd>
    691 
    692 <dd> </dd>
    693 <dl class="dl-horizontal">
    694 <dt>image</dt>
    695 <dd>the image. </dd>
    696 
    697 <dd> </dd>
    698 <dt>radius</dt>
    699 <dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
    700 
    701 <dd> </dd>
    702 <dt>sigma</dt>
    703 <dd>the standard deviation of the Gaussian, in pixels. </dd>
    704 
    705 <dd> </dd>
    706 <dt>gain</dt>
    707 <dd>the percentage of the difference between the original and the blur image that is added back into the original. </dd>
    708 
    709 <dd> </dd>
    710 <dt>threshold</dt>
    711 <dd>the threshold in pixels needed to apply the diffence gain. </dd>
    712 
    713 <dd> </dd>
    714 <dt>exception</dt>
    715 <dd>return any errors or warnings in this structure. </dd>
    716 
    717 <dd>  </dd>
    718 </dl>
    719 </div>
    720     </div>
    721   </main><!-- /.container -->
    722   <footer class="magick-footer">
    723     <p><a href="../../www/security-policy.html">Security</a> 
    724     <a href="../../www/architecture.html">Architecture</a> 
    725     <a href="../../www/links.html">Related</a> 
    726      <a href="../../www/sitemap.html">Sitemap</a>
    727        
    728     <a href="effect.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../../images/wand.ico"/></a>
    729        
    730     <a href="http://pgp.mit.edu/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> 
    731     <a href="../../www/support.html">Donate</a> 
    732     <a href="../../www/contact.html">Contact Us</a>
    733     <br/>
    734     <small> 1999-2019 ImageMagick Studio LLC</small></p>
    735   </footer>
    736 
    737   <!-- Javascript assets -->
    738   <script src="../assets/magick.js" crossorigin="anonymous"></script>
    739   <script>window.jQuery || document.write('<script src="https://localhost/ajax/libs/jquery/3.3.1/jquery.min.js"><\/script>')</script>
    740 </body>
    741 </html>
    742 <!-- Magick Cache 31st December 2018 03:54 -->