]> granicus.if.org Git - imagemagick/blob - www/api/effect.html
(no commit message)
[imagemagick] / www / api / effect.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html version="-//W3C//DTD XHTML 1.1//EN"
4       xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
5       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6       xsi:schemaLocation="http://www.w3.org/1999/xhtml
7                           http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
8 <head>
9   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
10   <meta name=viewport content="width=device-width, initial-scale=0.3333334">
11   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4"/>
12   <title>ImageMagick: MagickCore, C API for ImageMagick: Add an Effect</title>
13   <meta http-equiv="content-language" content="en-US"/>
14   <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
15   <meta http-equiv="reply-to" content="magick-users@imagemagick.org"/>
16   <meta name="application-name" content="ImageMagick"/>
17   <meta name="description" content="A collection of tools and libraries to read, write, and manipulate an image in any of the more popular image formats."/>
18   <meta name="application-url" content="http://www.imagemagick.org"/>
19   <meta name="generator" content="PHP"/>
20   <meta name="keywords" content="magickcore, c, api, for, imagemagick:, add, an, effect, convert, edit, compose, image, pixel"/>
21   <meta name="rating" content="GENERAL"/>
22   <meta name="robots" content="INDEX, FOLLOW"/>
23   <meta name="generator" content="ImageMagick Studio LLC"/>
24   <meta name="author" content="ImageMagick Studio LLC"/>
25   <meta name="revisit-after" content="2 DAYS"/>
26   <meta name="resource-type" content="document"/>
27   <meta name="copyright" content="Copyright (c) 1999-2012 ImageMagick Studio LLC"/>
28   <meta name="distribution" content="Global"/>
29   <link rel="icon" href="../../images/wand.png"/>
30   <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
31   <link rel="canonical" href="http://www.imagemagick.org" />
32   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
33
34   <!-- Add jQuery library -->
35   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
36   
37   <!-- Add mousewheel plugin (this is optional) -->
38   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script>
39   
40   <!-- Add fancyBox -->
41   <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
42   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
43   
44   <!-- Optionally add helpers - button, thumbnail and/or media -->
45   <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.5" type="text/css" media="screen" />
46   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>
47   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6"></script>
48   
49   <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" type="text/css" media="screen" />
50   <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
51   
52   <script type="text/javascript">
53         $(document).ready(function() {
54                 $(".fancybox").fancybox();
55         });
56   </script>
57
58   <!-- ImageMagick style -->
59   <style type="text/css" media="all">
60     @import url("../../www/magick.css");
61   </style>
62 </head>
63
64 <body id="www-imagemagick-org">
65
66 <script type="text/javascript">
67   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
68   (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
69   m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
70   })(window,document,'offline-script','//www.google-analytics.com/analytics.js','ga');
71
72   ga('create', 'UA-40133312-1', 'imagemagick.org');
73   ga('send', 'pageview');
74 </script>
75
76 <div class="titlebar">
77 <div style="margin: 17px auto; float: left;">
78   <script type="text/javascript">
79   <!--
80     google_ad_client = "pub-3129977114552745";
81     google_ad_slot = "5439289906";
82     google_ad_width = 728;
83     google_ad_height = 90;
84   //-->
85   </script>
86   <script type="text/javascript"
87     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
88   </script>
89 </div>
90 <a href="../../discourse-server">
91   <img src="../../images/logo.jpg"
92   alt="ImageMagick Logo" width="123" height="118"
93   style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
94 <a href="http://www.imagemagick.org/ImageMagick-7.0.0/index.html">
95   <img src="../../images/sprite.jpg"
96   alt="ImageMagick Sprite" width="114" height="118"
97   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
98 </div>
99
100 <div class="westbar">
101
102 <div class="menu">
103   <a title="About ImageMagick" href="http://www.imagemagick.org/ImageMagick-7.0.0/index.html">About ImageMagick</a>
104 </div>
105 <div class="menu">
106   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
107 </div>
108 <div class="sub">
109     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
110 </div>
111 <div class="sub">
112     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
113 </div>
114 <div class="sub">
115     <a title="Binary Release: iOS" href="../../www/binary-releases.html#iOS">iOS</a>
116 </div>
117 <div class="sub">
118     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
119 </div>
120 <div class="sep"></div>
121 <div class="menu">
122   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
123 </div>
124 <div class="sub">
125     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
126 </div>
127 <div class="sub">
128     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
129 </div>
130 <div class="sub">
131     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
132 </div>
133 <div class="menu">
134   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
135 </div>
136 <div class="sub">
137     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
138 </div>
139 <div class="sub">
140     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
141 </div>
142 <div class="sub">
143     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
144 </div>
145 <div class="sub">
146     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
147 </div>
148 <div class="sep"></div>
149 <div  class="menu">
150    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
151 </div>
152 <div class="sub">
153     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
154 </div>
155 <div class="sub">
156     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
157  </div>
158 <div class="menu">
159   <a title="Resources" href="../../www/resources.html">Resources</a>
160 </div>
161 <div class="menu">
162   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
163 </div>
164 <div class="menu">
165   <a title="Download" href="../../www/download.html">Download</a>
166 </div>
167 <div class="sep"></div>
168 <div class="menu">
169   <a title="Search" href="http://www.imagemagick.org/script/search.php">Search</a>
170 </div>
171 <div class="sep"></div>
172 <div class="menu">
173   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
174 </div>
175 <div  class="sub">
176   <a title="Site Map: Links" href="../../www/links.html">Links</a>
177 </div>
178 <div class="sep"></div>
179 </div>
180
181 <div class="eastbar">
182   <script type="text/javascript">
183     /* <![CDATA[ */
184     window.___gcfg = {
185       lang: 'en-US'
186     };
187
188     (function() {
189       var po = document.createElement('offline-script');
190       po.type = 'text/javascript';
191       po.async = true;
192       po.src = 'https://apis.google.com/js/plusone.js';
193       var script = document.getElementsByTagName('offline-script')[0];
194       script.parentNode.insertBefore(po, script);
195     })();
196     var gplusone = document.getElementById("gplusone");
197     gplusone.setAttribute("data-size","medium");
198     gplusone.setAttribute("data-count","true");
199     /* ]]> */
200   </script>
201   <script type="text/javascript">
202     /* <![CDATA[ */
203     (function() {
204         var po = document.createElement('offline-script'), t = document.getElementsByTagName('offline-script')[0];
205         po.type = 'text/javascript';
206         po.async = true;
207         po.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
208         var script = document.getElementsByTagName('offline-script')[0];
209         script.parentNode.insertBefore(po, script);
210     })();
211     /* ]]> */
212   </script>
213   <div> <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.imagemagick.org/"></a></div>
214   <noscript>
215     <a href="http://flattr.com/thing/947300/Convert-Edit-And-Compose-Images" target="_blank">
216     <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" width="93" height="20" border="0" /></a>
217   </noscript>
218   <div class="g-plusone" data-size="standard" data-count="true"></div>
219 </div>
220
221 <div class="main">
222
223 <h1>Module effect Methods</h1>
224 <p class="navigation-index">[<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#FilterImage">FilterImage</a> &#8226; <a href="effect.html#GaussianBlurImage">GaussianBlurImage</a> &#8226; <a href="effect.html#MotionBlurImage">MotionBlurImage</a> &#8226; <a href="effect.html#PreviewImage">PreviewImage</a> &#8226; <a href="effect.html#RadialBlurImage">RadialBlurImage</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>
225
226 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
227 <div class="doc-section">
228
229 <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>
230
231 <p>The format of the AdaptiveBlurImage method is:</p>
232
233 <pre class="code">
234   Image *AdaptiveBlurImage(const Image *image,const double radius,
235     const double sigma,ExceptionInfo *exception)
236   Image *AdaptiveBlurImageChannel(const Image *image,
237     const ChannelType channel,double radius,const double sigma,
238     ExceptionInfo *exception)
239 </pre>
240
241 <p>A description of each parameter follows:</p>
242
243 <h5>image</h5>
244 <p>the image.</p>
245
246 <h5>channel</h5>
247 <p>the channel type.</p>
248
249 <h5>radius</h5>
250 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
251
252 <h5>sigma</h5>
253 <p>the standard deviation of the Laplacian, in pixels.</p>
254
255 <h5>exception</h5>
256 <p>return any errors or warnings in this structure.</p>
257
258  </div>
259 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
260 <div class="doc-section">
261
262 <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>
263
264 <p>The format of the AdaptiveSharpenImage method is:</p>
265
266 <pre class="code">
267   Image *AdaptiveSharpenImage(const Image *image,const double radius,
268     const double sigma,ExceptionInfo *exception)
269   Image *AdaptiveSharpenImageChannel(const Image *image,
270     const ChannelType channel,double radius,const double sigma,
271     ExceptionInfo *exception)
272 </pre>
273
274 <p>A description of each parameter follows:</p>
275
276 <h5>image</h5>
277 <p>the image.</p>
278
279 <h5>channel</h5>
280 <p>the channel type.</p>
281
282 <h5>radius</h5>
283 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
284
285 <h5>sigma</h5>
286 <p>the standard deviation of the Laplacian, in pixels.</p>
287
288 <h5>exception</h5>
289 <p>return any errors or warnings in this structure.</p>
290
291  </div>
292 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="BlurImage">BlurImage</a></h2>
293 <div class="doc-section">
294
295 <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>
296
297 <p>BlurImage() differs from GaussianBlurImage() in that it uses a separable kernel which is faster but mathematically equivalent to the non-separable kernel.</p>
298
299 <p>The format of the BlurImage method is:</p>
300
301 <pre class="code">
302   Image *BlurImage(const Image *image,const double radius,
303     const double sigma,ExceptionInfo *exception)
304   Image *BlurImageChannel(const Image *image,const ChannelType channel,
305     const double radius,const double sigma,ExceptionInfo *exception)
306 </pre>
307
308 <p>A description of each parameter follows:</p>
309
310 <h5>image</h5>
311 <p>the image.</p>
312
313 <h5>channel</h5>
314 <p>the channel type.</p>
315
316 <h5>radius</h5>
317 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
318
319 <h5>sigma</h5>
320 <p>the standard deviation of the Gaussian, in pixels.</p>
321
322 <h5>exception</h5>
323 <p>return any errors or warnings in this structure.</p>
324
325  </div>
326 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="ConvolveImage">ConvolveImage</a></h2>
327 <div class="doc-section">
328
329 <p>ConvolveImage() applies a custom convolution kernel to the image.</p>
330
331 <p>The format of the ConvolveImage method is:</p>
332
333 <pre class="code">
334   Image *ConvolveImage(const Image *image,const size_t order,
335     const double *kernel,ExceptionInfo *exception)
336   Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
337     const size_t order,const double *kernel,ExceptionInfo *exception)
338 </pre>
339
340 <p>A description of each parameter follows:</p>
341
342 <h5>image</h5>
343 <p>the image.</p>
344
345 <h5>channel</h5>
346 <p>the channel type.</p>
347
348 <h5>order</h5>
349 <p>the number of columns and rows in the filter kernel.</p>
350
351 <h5>kernel</h5>
352 <p>An array of double representing the convolution kernel.</p>
353
354 <h5>exception</h5>
355 <p>return any errors or warnings in this structure.</p>
356
357  </div>
358 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="DespeckleImage">DespeckleImage</a></h2>
359 <div class="doc-section">
360
361 <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>
362
363 <p>The format of the DespeckleImage method is:</p>
364
365 <pre class="code">
366   Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
367 </pre>
368
369 <p>A description of each parameter follows:</p>
370
371 <h5>image</h5>
372 <p>the image.</p>
373
374 <h5>exception</h5>
375 <p>return any errors or warnings in this structure.</p>
376
377  </div>
378 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="EdgeImage">EdgeImage</a></h2>
379 <div class="doc-section">
380
381 <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>
382
383 <p>The format of the EdgeImage method is:</p>
384
385 <pre class="code">
386   Image *EdgeImage(const Image *image,const double radius,
387     ExceptionInfo *exception)
388 </pre>
389
390 <p>A description of each parameter follows:</p>
391
392 <h5>image</h5>
393 <p>the image.</p>
394
395 <h5>radius</h5>
396 <p>the radius of the pixel neighborhood.</p>
397
398 <h5>exception</h5>
399 <p>return any errors or warnings in this structure.</p>
400
401  </div>
402 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="EmbossImage">EmbossImage</a></h2>
403 <div class="doc-section">
404
405 <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>
406
407 <p>The format of the EmbossImage method is:</p>
408
409 <pre class="code">
410   Image *EmbossImage(const Image *image,const double radius,
411     const double sigma,ExceptionInfo *exception)
412 </pre>
413
414 <p>A description of each parameter follows:</p>
415
416 <h5>image</h5>
417 <p>the image.</p>
418
419 <h5>radius</h5>
420 <p>the radius of the pixel neighborhood.</p>
421
422 <h5>sigma</h5>
423 <p>the standard deviation of the Gaussian, in pixels.</p>
424
425 <h5>exception</h5>
426 <p>return any errors or warnings in this structure.</p>
427
428  </div>
429 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="FilterImage">FilterImage</a></h2>
430 <div class="doc-section">
431
432 <p>FilterImage() applies a custom convolution kernel to the image.</p>
433
434 <p>The format of the FilterImage method is:</p>
435
436 <pre class="code">
437   Image *FilterImage(const Image *image,const KernelInfo *kernel,
438     ExceptionInfo *exception)
439   Image *FilterImageChannel(const Image *image,const ChannelType channel,
440     const KernelInfo *kernel,ExceptionInfo *exception)
441 </pre>
442
443 <p>A description of each parameter follows:</p>
444
445 <h5>image</h5>
446 <p>the image.</p>
447
448 <h5>channel</h5>
449 <p>the channel type.</p>
450
451 <h5>kernel</h5>
452 <p>the filtering kernel.</p>
453
454 <h5>exception</h5>
455 <p>return any errors or warnings in this structure.</p>
456
457  </div>
458 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="GaussianBlurImage">GaussianBlurImage</a></h2>
459 <div class="doc-section">
460
461 <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>
462
463 <p>The format of the GaussianBlurImage method is:</p>
464
465 <pre class="code">
466   Image *GaussianBlurImage(const Image *image,onst double radius,
467     const double sigma,ExceptionInfo *exception)
468   Image *GaussianBlurImageChannel(const Image *image,
469     const ChannelType channel,const double radius,const double sigma,
470     ExceptionInfo *exception)
471 </pre>
472
473 <p>A description of each parameter follows:</p>
474
475 <h5>image</h5>
476 <p>the image.</p>
477
478 <h5>channel</h5>
479 <p>the channel type.</p>
480
481 <h5>radius</h5>
482 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
483
484 <h5>sigma</h5>
485 <p>the standard deviation of the Gaussian, in pixels.</p>
486
487 <h5>exception</h5>
488 <p>return any errors or warnings in this structure.</p>
489
490  </div>
491 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="MotionBlurImage">MotionBlurImage</a></h2>
492 <div class="doc-section">
493
494 <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>
495
496 <p>Andrew Protano contributed this effect.</p>
497
498 <p>The format of the MotionBlurImage method is:</p>
499
500 <pre class="code">
501       Image *MotionBlurImage(const Image *image,const double radius,
502   const double sigma,const double angle,ExceptionInfo *exception)
503       Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
504   const double radius,const double sigma,const double angle,
505   ExceptionInfo *exception)
506 </pre>
507
508 <p>A description of each parameter follows:</p>
509
510 <h5>image</h5>
511 <p>the image.</p>
512
513 <h5>channel</h5>
514 <p>the channel type.</p>
515
516 <h5>radius</h5>
517 <p>the radius of the Gaussian, in pixels, not counting the center</p>
518 <h5>radius</h5>
519 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
520
521 <h5>sigma</h5>
522 <p>the standard deviation of the Gaussian, in pixels.</p>
523
524 <h5>angle</h5>
525 <p>Apply the effect along this angle.</p>
526
527 <h5>exception</h5>
528 <p>return any errors or warnings in this structure.</p>
529
530  </div>
531 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="PreviewImage">PreviewImage</a></h2>
532 <div class="doc-section">
533
534 <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>
535
536 <p>The format of the PreviewImages method is:</p>
537
538 <pre class="code">
539   Image *PreviewImages(const Image *image,const PreviewType preview,
540     ExceptionInfo *exception)
541 </pre>
542
543 <p>A description of each parameter follows:</p>
544
545 <h5>image</h5>
546 <p>the image.</p>
547
548 <h5>preview</h5>
549 <p>the image processing operation.</p>
550
551 <h5>exception</h5>
552 <p>return any errors or warnings in this structure.</p>
553
554  </div>
555 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="RadialBlurImage">RadialBlurImage</a></h2>
556 <div class="doc-section">
557
558 <p>RadialBlurImage() applies a radial blur to the image.</p>
559
560 <p>Andrew Protano contributed this effect.</p>
561
562 <p>The format of the RadialBlurImage method is:</p>
563
564 <pre class="code">
565       Image *RadialBlurImage(const Image *image,const double angle,
566   ExceptionInfo *exception)
567       Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
568   const double angle,ExceptionInfo *exception)
569 </pre>
570
571 <p>A description of each parameter follows:</p>
572
573 <h5>image</h5>
574 <p>the image.</p>
575
576 <h5>channel</h5>
577 <p>the channel type.</p>
578
579 <h5>angle</h5>
580 <p>the angle of the radial blur.</p>
581
582 <h5>exception</h5>
583 <p>return any errors or warnings in this structure.</p>
584
585  </div>
586 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="SelectiveBlurImage">SelectiveBlurImage</a></h2>
587 <div class="doc-section">
588
589 <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>
590
591 <p>The format of the SelectiveBlurImage method is:</p>
592
593 <pre class="code">
594   Image *SelectiveBlurImage(const Image *image,const double radius,
595     const double sigma,const double threshold,ExceptionInfo *exception)
596   Image *SelectiveBlurImageChannel(const Image *image,
597     const ChannelType channel,const double radius,const double sigma,
598     const double threshold,ExceptionInfo *exception)
599 </pre>
600
601 <p>A description of each parameter follows:</p>
602
603 <h5>image</h5>
604 <p>the image.</p>
605
606 <h5>channel</h5>
607 <p>the channel type.</p>
608
609 <h5>radius</h5>
610 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
611
612 <h5>sigma</h5>
613 <p>the standard deviation of the Gaussian, in pixels.</p>
614
615 <h5>threshold</h5>
616 <p>only pixels within this contrast threshold are included in the blur operation.</p>
617
618 <h5>exception</h5>
619 <p>return any errors or warnings in this structure.</p>
620
621  </div>
622 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="ShadeImage">ShadeImage</a></h2>
623 <div class="doc-section">
624
625 <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>
626
627 <p>The format of the ShadeImage method is:</p>
628
629 <pre class="code">
630   Image *ShadeImage(const Image *image,const MagickBooleanType gray,
631     const double azimuth,const double elevation,ExceptionInfo *exception)
632 </pre>
633
634 <p>A description of each parameter follows:</p>
635
636 <h5>image</h5>
637 <p>the image.</p>
638
639 <h5>gray</h5>
640 <p>A value other than zero shades the intensity of each pixel.</p>
641
642 <h5>azimuth, elevation</h5>
643 <p>Define the light source direction.</p>
644
645 <h5>exception</h5>
646 <p>return any errors or warnings in this structure.</p>
647
648  </div>
649 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="SharpenImage">SharpenImage</a></h2>
650 <div class="doc-section">
651
652 <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>
653
654 <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>
655
656 <p>The format of the SharpenImage method is:</p>
657
658 <pre class="code">
659       Image *SharpenImage(const Image *image,const double radius,
660   const double sigma,ExceptionInfo *exception)
661       Image *SharpenImageChannel(const Image *image,const ChannelType channel,
662   const double radius,const double sigma,ExceptionInfo *exception)
663 </pre>
664
665 <p>A description of each parameter follows:</p>
666
667 <h5>image</h5>
668 <p>the image.</p>
669
670 <h5>channel</h5>
671 <p>the channel type.</p>
672
673 <h5>radius</h5>
674 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
675
676 <h5>sigma</h5>
677 <p>the standard deviation of the Laplacian, in pixels.</p>
678
679 <h5>exception</h5>
680 <p>return any errors or warnings in this structure.</p>
681
682  </div>
683 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="SpreadImage">SpreadImage</a></h2>
684 <div class="doc-section">
685
686 <p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p>
687
688 <p>The format of the SpreadImage method is:</p>
689
690 <pre class="code">
691   Image *SpreadImage(const Image *image,const double radius,
692     ExceptionInfo *exception)
693 </pre>
694
695 <p>A description of each parameter follows:</p>
696
697 <h5>image</h5>
698 <p>the image.</p>
699
700 <h5>radius</h5>
701 <p>Choose a random pixel in a neighborhood of this extent.</p>
702
703 <h5>exception</h5>
704 <p>return any errors or warnings in this structure.</p>
705
706  </div>
707 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="UnsharpMaskImage">UnsharpMaskImage</a></h2>
708 <div class="doc-section">
709
710 <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>
711
712 <p>The format of the UnsharpMaskImage method is:</p>
713
714 <pre class="code">
715       Image *UnsharpMaskImage(const Image *image,const double radius,
716   const double sigma,const double amount,const double threshold,
717   ExceptionInfo *exception)
718       Image *UnsharpMaskImageChannel(const Image *image,
719   const ChannelType channel,const double radius,const double sigma,
720   const double amount,const double threshold,ExceptionInfo *exception)
721 </pre>
722
723 <p>A description of each parameter follows:</p>
724
725 <h5>image</h5>
726 <p>the image.</p>
727
728 <h5>channel</h5>
729 <p>the channel type.</p>
730
731 <h5>radius</h5>
732 <p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
733
734 <h5>sigma</h5>
735 <p>the standard deviation of the Gaussian, in pixels.</p>
736
737 <h5>amount</h5>
738 <p>the percentage of the difference between the original and the blur image that is added back into the original.</p>
739
740 <h5>threshold</h5>
741 <p>the threshold in pixels needed to apply the diffence amount.</p>
742
743 <h5>exception</h5>
744 <p>return any errors or warnings in this structure.</p>
745
746  </div>
747
748 </div>
749
750 <div id="linkbar">
751     <span id="linkbar-west"> </span>
752
753     <span id="linkbar-center">
754       <a href="../../discourse-server">Discourse Server</a> •
755       <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
756       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a> •
757       <a href="http://jqmagick.imagemagick.org/">JqMagick</a>
758     </span>
759     <span id="linkbar-east"> </span>
760 </div>
761 <div class="footer">
762   <span id="footer-west">©  1999-2015 ImageMagick Studio LLC</span>
763   <span id="footer-east"> <a href="../../www/contact.html">Contact the Wizards</a></span>
764 </div>
765 <div style="clear: both; margin: 0; width: 100%; "></div>
766 </body>
767 </html>