]> 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" \r
2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">\r
4 <head>\r
5   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
6   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
7   <title>ImageMagick: MagickCore, C API for ImageMagick: Add an Effect</title>
8   <meta http-equiv="Content-Language" content="en-US"/>
9   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
11   <meta name="Application-name" content="ImageMagick"/>
12   <meta name="Description" content="ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images."/>
13   <meta name="Application-url" content="http://www.imagemagick.org"/>
14   <meta name="Generator" content="PHP"/>
15   <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, add, an, effect, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
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-2011 ImageMagick Studio LLC"/>
23   <meta name="Distribution" content="Global"/>
24   <link rel="icon" href="../../images/wand.png"/>
25   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/x-icon"/>
26   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
27   <style type="text/css" media="all">\r
28     @import url("../../www/magick.css");\r
29   </style>\r
30   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>\r
31   <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
32   <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
33   <script type="text/javascript">\r
34     $(document).ready(function() {\r
35       $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({\r
36         'transitionIn'  : 'elastic',\r
37         'transitionOut' : 'elastic',\r
38         'overlayShow'   : false,\r
39         'opacity'       : true\r
40       });\r
41     });\r
42   </script>\r
43 </head>\r
44 \r
45 <body id="www-imagemagick-org">\r
46 <div class="titlebar">\r
47 <a href="../../index.html">\r
48   <img src="../../images/script.png" alt="[ImageMagick]"\r
49   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
50 <a href="http://www.networkredux.com">\r
51   <img src="../../images/networkredux.png" alt="[sponsor]"\r
52   style="margin: 45px auto; border: 0px; float: left;" /></a>\r
53 <a href="http://www.imagemagick.org/discourse-server/">\r
54   <img src="../../images/logo.jpg" alt=""\r
55   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
56 <a href="../../index.html">\r
57   <img src="../../images/sprite.jpg" alt=""\r
58   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
59 </div>\r
60 \r
61 <div class="westbar">\r
62 \r
63 <div class="menu">
64   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
65 </div>
66 <div class="sep"></div>\r
67 <div class="menu">
68   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
69 </div>
70 <div class="sub">
71     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
72 </div>
73 <div class="sub">
74     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
75 </div>
76 <div class="sub">
77     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
78 </div>
79 <div class="sep"></div>\r
80 <div class="menu">
81   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
82 </div>
83 <div class="sub">
84     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
85 </div>
86 <div class="sub">
87     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
88 </div>
89 <div class="sub">
90     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
91 </div>
92 <div class="menu">
93   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
94 </div>
95 <div class="sub">
96     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
97 </div>
98 <div class="sub">
99     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
100 </div>
101 <div class="sub">
102     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
103 </div>
104 <div class="sub">
105     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
106 </div>
107 <div class="sep"></div>\r
108 <div  class="menu">
109    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
110 </div>
111 <div class="sub">
112     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
113 </div>
114 <div class="sub">
115     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
116  </div>
117 <div class="menu">
118   <a title="Resources" href="../../www/resources.html">Resources</a>
119 </div>
120 <div class="menu">
121   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
122 </div>
123 <div class="menu">
124   <a title="Download" href="../../www/download.html">Download</a>
125 </div>
126 <div class="sep"></div>\r
127 <div class="menu">
128   <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
129 </div>
130 <div class="sep"></div>\r
131 <div class="menu">
132   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
133 </div>
134 <div  class="sub">
135   <a title="Site Map: Links" href="../../www/links.html">Links</a>
136 </div>
137 <div class="sep"></div>\r
138 <div  class="menu">
139   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
140
141 <div class="sponsbox">
142 <div  class="sponsor">
143    <a title="Sponsor: Notebook Reparatur Berlin" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur Berlin</a><!-- 2011040100025 gabi.schulze-->
144 </div>
145 <div  class="sponsor">
146   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
147 </div>
148 <div  class="sponsor">
149   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
150 </div>
151 <div  class="sponsor">
152   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
153 </div>
154 </div>
155 </div>
156 </div>\r
157 \r
158 <div class="eastbar">\r
159   <script type="text/javascript">\r
160   <!--\r
161     google_ad_client = "pub-3129977114552745";\r
162     google_ad_slot = "0574824969";\r
163     google_ad_width = 160;\r
164     google_ad_height = 600;\r
165   //-->\r
166   </script>\r
167   <script type="text/javascript"\r
168     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
169   </script>\r
170 </div>\r
171 \r
172 <div class="main">\r
173 \r
174 <h1>Module effect
175  Methods</h1>
176 <p class="navigation-index">[<a href="#AdaptiveBlurImage">AdaptiveBlurImage</a> &bull; <a href="#AdaptiveSharpenImage">AdaptiveSharpenImage</a> &bull; <a href="#BlurImage">BlurImage</a> &bull; <a href="#ConvolveImage">ConvolveImage</a> &bull; <a href="#DespeckleImage">DespeckleImage</a> &bull; <a href="#EdgeImage">EdgeImage</a> &bull; <a href="#EmbossImage">EmbossImage</a> &bull; <a href="#FilterImage">FilterImage</a> &bull; <a href="#GaussianBlurImage">GaussianBlurImage</a> &bull; <a href="#MedianFilterImage">MedianFilterImage</a> &bull; <a href="#MotionBlurImage">MotionBlurImage</a> &bull; <a href="#PreviewImage">PreviewImage</a> &bull; <a href="#RadialBlurImage">RadialBlurImage</a> &bull; <a href="#ReduceNoiseImage">ReduceNoiseImage</a> &bull; <a href="#SelectiveBlurImage">SelectiveBlurImage</a> &bull; <a href="#ShadeImage">ShadeImage</a> &bull; <a href="#SharpenImage">SharpenImage</a> &bull; <a href="#SpreadImage">SpreadImage</a> &bull; <a href="#UnsharpMaskImage">UnsharpMaskImage</a>]</p>
177
178 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
179 _8c.html" target="source" name="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
180 <div class="doc-section">
181
182 <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></ol>
183
184 <p>The format of the AdaptiveBlurImage method is:</p>
185
186 <pre class="code">
187   Image *AdaptiveBlurImage(const Image *image,const double radius,
188     const double sigma,ExceptionInfo *exception)
189   Image *AdaptiveBlurImageChannel(const Image *image,
190     const ChannelType channel,double radius,const double sigma,
191     ExceptionInfo *exception)
192 </pre>
193
194 <p>A description of each parameter follows:</p></ol>
195
196 <h5>image</h5>
197 <ol><p>the image.</p></ol>
198
199 <h5>channel</h5>
200 <ol><p>the channel type.</p></ol>
201
202 <h5>radius</h5>
203 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
204
205 <h5>sigma</h5>
206 <ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
207
208 <h5>exception</h5>
209 <ol><p>return any errors or warnings in this structure.</p></ol>
210
211  </div>
212 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
213 _8c.html" target="source" name="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
214 <div class="doc-section">
215
216 <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></ol>
217
218 <p>The format of the AdaptiveSharpenImage method is:</p>
219
220 <pre class="code">
221   Image *AdaptiveSharpenImage(const Image *image,const double radius,
222     const double sigma,ExceptionInfo *exception)
223   Image *AdaptiveSharpenImageChannel(const Image *image,
224     const ChannelType channel,double radius,const double sigma,
225     ExceptionInfo *exception)
226 </pre>
227
228 <p>A description of each parameter follows:</p></ol>
229
230 <h5>image</h5>
231 <ol><p>the image.</p></ol>
232
233 <h5>channel</h5>
234 <ol><p>the channel type.</p></ol>
235
236 <h5>radius</h5>
237 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
238
239 <h5>sigma</h5>
240 <ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
241
242 <h5>exception</h5>
243 <ol><p>return any errors or warnings in this structure.</p></ol>
244
245  </div>
246 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
247 _8c.html" target="source" name="BlurImage">BlurImage</a></h2>
248 <div class="doc-section">
249
250 <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></ol>
251
252 <p>BlurImage() differs from GaussianBlurImage() in that it uses a separable kernel which is faster but mathematically equivalent to the non-separable kernel.</p></ol>
253
254 <p>The format of the BlurImage method is:</p>
255
256 <pre class="code">
257   Image *BlurImage(const Image *image,const double radius,
258     const double sigma,ExceptionInfo *exception)
259   Image *BlurImageChannel(const Image *image,const ChannelType channel,
260     const double radius,const double sigma,ExceptionInfo *exception)
261 </pre>
262
263 <p>A description of each parameter follows:</p></ol>
264
265 <h5>image</h5>
266 <ol><p>the image.</p></ol>
267
268 <h5>channel</h5>
269 <ol><p>the channel type.</p></ol>
270
271 <h5>radius</h5>
272 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
273
274 <h5>sigma</h5>
275 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
276
277 <h5>exception</h5>
278 <ol><p>return any errors or warnings in this structure.</p></ol>
279
280  </div>
281 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
282 _8c.html" target="source" name="ConvolveImage">ConvolveImage</a></h2>
283 <div class="doc-section">
284
285 <p>ConvolveImage() applies a custom convolution kernel to the image.</p></ol>
286
287 <p>The format of the ConvolveImage method is:</p>
288
289 <pre class="code">
290   Image *ConvolveImage(const Image *image,const size_t order,
291     const double *kernel,ExceptionInfo *exception)
292   Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
293     const size_t order,const double *kernel,ExceptionInfo *exception)
294 </pre>
295
296 <p>A description of each parameter follows:</p></ol>
297
298 <h5>image</h5>
299 <ol><p>the image.</p></ol>
300
301 <h5>channel</h5>
302 <ol><p>the channel type.</p></ol>
303
304 <h5>order</h5>
305 <ol><p>the number of columns and rows in the filter kernel.</p></ol>
306
307 <h5>kernel</h5>
308 <ol><p>An array of double representing the convolution kernel.</p></ol>
309
310 <h5>exception</h5>
311 <ol><p>return any errors or warnings in this structure.</p></ol>
312
313  </div>
314 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
315 _8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
316 <div class="doc-section">
317
318 <p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
319
320 <p>The format of the DespeckleImage method is:</p>
321
322 <pre class="code">
323   Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
324 </pre>
325
326 <p>A description of each parameter follows:</p></ol>
327
328 <h5>image</h5>
329 <ol><p>the image.</p></ol>
330
331 <h5>exception</h5>
332 <ol><p>return any errors or warnings in this structure.</p></ol>
333
334  </div>
335 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
336 _8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
337 <div class="doc-section">
338
339 <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></ol>
340
341 <p>The format of the EdgeImage method is:</p>
342
343 <pre class="code">
344   Image *EdgeImage(const Image *image,const double radius,
345     ExceptionInfo *exception)
346 </pre>
347
348 <p>A description of each parameter follows:</p></ol>
349
350 <h5>image</h5>
351 <ol><p>the image.</p></ol>
352
353 <h5>radius</h5>
354 <ol><p>the radius of the pixel neighborhood.</p></ol>
355
356 <h5>exception</h5>
357 <ol><p>return any errors or warnings in this structure.</p></ol>
358
359  </div>
360 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
361 _8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
362 <div class="doc-section">
363
364 <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></ol>
365
366 <p>The format of the EmbossImage method is:</p>
367
368 <pre class="code">
369   Image *EmbossImage(const Image *image,const double radius,
370     const double sigma,ExceptionInfo *exception)
371 </pre>
372
373 <p>A description of each parameter follows:</p></ol>
374
375 <h5>image</h5>
376 <ol><p>the image.</p></ol>
377
378 <h5>radius</h5>
379 <ol><p>the radius of the pixel neighborhood.</p></ol>
380
381 <h5>sigma</h5>
382 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
383
384 <h5>exception</h5>
385 <ol><p>return any errors or warnings in this structure.</p></ol>
386
387  </div>
388 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
389 _8c.html" target="source" name="FilterImage">FilterImage</a></h2>
390 <div class="doc-section">
391
392 <p>FilterImage() applies a custom convolution kernel to the image.</p></ol>
393
394 <p>The format of the FilterImage method is:</p>
395
396 <pre class="code">
397   Image *FilterImage(const Image *image,const KernelInfo *kernel,
398     ExceptionInfo *exception)
399   Image *FilterImageChannel(const Image *image,const ChannelType channel,
400     const KernelInfo *kernel,ExceptionInfo *exception)
401 </pre>
402
403 <p>A description of each parameter follows:</p></ol>
404
405 <h5>image</h5>
406 <ol><p>the image.</p></ol>
407
408 <h5>channel</h5>
409 <ol><p>the channel type.</p></ol>
410
411 <h5>kernel</h5>
412 <ol><p>the filtering kernel.</p></ol>
413
414 <h5>exception</h5>
415 <ol><p>return any errors or warnings in this structure.</p></ol>
416
417  </div>
418 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
419 _8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
420 <div class="doc-section">
421
422 <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></ol>
423
424 <p>The format of the GaussianBlurImage method is:</p>
425
426 <pre class="code">
427   Image *GaussianBlurImage(const Image *image,onst double radius,
428     const double sigma,ExceptionInfo *exception)
429   Image *GaussianBlurImageChannel(const Image *image,
430     const ChannelType channel,const double radius,const double sigma,
431     ExceptionInfo *exception)
432 </pre>
433
434 <p>A description of each parameter follows:</p></ol>
435
436 <h5>image</h5>
437 <ol><p>the image.</p></ol>
438
439 <h5>channel</h5>
440 <ol><p>the channel type.</p></ol>
441
442 <h5>radius</h5>
443 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
444
445 <h5>sigma</h5>
446 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
447
448 <h5>exception</h5>
449 <ol><p>return any errors or warnings in this structure.</p></ol>
450
451  </div>
452 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
453 _8c.html" target="source" name="MedianFilterImage">MedianFilterImage</a></h2>
454 <div class="doc-section">
455
456 <p>MedianFilterImage() applies a digital filter that improves the quality of a noisy image.  Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.</p></ol>
457
458 <p>The algorithm was contributed by Mike Edmonds and implements an insertion sort for selecting median color-channel values.  For more on this algorithm see "Skip Lists: A probabilistic Alternative to Balanced Trees" by William Pugh in the June 1990 of Communications of the ACM.</p></ol>
459
460 <p>The format of the MedianFilterImage method is:</p>
461
462 <pre class="code">
463   Image *MedianFilterImage(const Image *image,const double radius,
464     ExceptionInfo *exception)
465 </pre>
466
467 <p>A description of each parameter follows:</p></ol>
468
469 <h5>image</h5>
470 <ol><p>the image.</p></ol>
471
472 <h5>radius</h5>
473 <ol><p>the radius of the pixel neighborhood.</p></ol>
474
475 <h5>exception</h5>
476 <ol><p>return any errors or warnings in this structure.</p></ol>
477
478  </div>
479 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
480 _8c.html" target="source" name="MotionBlurImage">MotionBlurImage</a></h2>
481 <div class="doc-section">
482
483 <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></ol>
484
485 <p>Andrew Protano contributed this effect.</p></ol>
486
487 <p>The format of the MotionBlurImage method is:</p>
488
489 <pre class="code">
490       Image *MotionBlurImage(const Image *image,const double radius,
491   const double sigma,const double angle,ExceptionInfo *exception)
492       Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
493   const double radius,const double sigma,const double angle,
494   ExceptionInfo *exception)
495 </pre>
496
497 <p>A description of each parameter follows:</p></ol>
498
499 <h5>image</h5>
500 <ol><p>the image.</p></ol>
501
502 <h5>channel</h5>
503 <ol><p>the channel type.</p></ol>
504
505 <h5>radius</h5>
506 <ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
507 <h5>radius</h5>
508 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
509
510 <h5>sigma</h5>
511 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
512
513 <h5>angle</h5>
514 <ol><p>Apply the effect along this angle.</p></ol>
515
516 <h5>exception</h5>
517 <ol><p>return any errors or warnings in this structure.</p></ol>
518
519  </div>
520 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
521 _8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
522 <div class="doc-section">
523
524 <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></ol>
525
526 <p>The format of the PreviewImages method is:</p>
527
528 <pre class="code">
529   Image *PreviewImages(const Image *image,const PreviewType preview,
530     ExceptionInfo *exception)
531 </pre>
532
533 <p>A description of each parameter follows:</p></ol>
534
535 <h5>image</h5>
536 <ol><p>the image.</p></ol>
537
538 <h5>preview</h5>
539 <ol><p>the image processing operation.</p></ol>
540
541 <h5>exception</h5>
542 <ol><p>return any errors or warnings in this structure.</p></ol>
543
544  </div>
545 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
546 _8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
547 <div class="doc-section">
548
549 <p>RadialBlurImage() applies a radial blur to the image.</p></ol>
550
551 <p>Andrew Protano contributed this effect.</p></ol>
552
553 <p>The format of the RadialBlurImage method is:</p>
554
555 <pre class="code">
556       Image *RadialBlurImage(const Image *image,const double angle,
557   ExceptionInfo *exception)
558       Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
559   const double angle,ExceptionInfo *exception)
560 </pre>
561
562 <p>A description of each parameter follows:</p></ol>
563
564 <h5>image</h5>
565 <ol><p>the image.</p></ol>
566
567 <h5>channel</h5>
568 <ol><p>the channel type.</p></ol>
569
570 <h5>angle</h5>
571 <ol><p>the angle of the radial blur.</p></ol>
572
573 <h5>exception</h5>
574 <ol><p>return any errors or warnings in this structure.</p></ol>
575
576  </div>
577 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
578 _8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
579 <div class="doc-section">
580
581 <p>ReduceNoiseImage() smooths the contours of an image while still preserving edge information.  The algorithm works by replacing each pixel with its neighbor closest in value.  A neighbor is defined by radius.  Use a radius of 0 and ReduceNoise() selects a suitable radius for you.</p></ol>
582
583 <p>The format of the ReduceNoiseImage method is:</p>
584
585 <pre class="code">
586   Image *ReduceNoiseImage(const Image *image,const double radius,
587     ExceptionInfo *exception)
588 </pre>
589
590 <p>A description of each parameter follows:</p></ol>
591
592 <h5>image</h5>
593 <ol><p>the image.</p></ol>
594
595 <h5>radius</h5>
596 <ol><p>the radius of the pixel neighborhood.</p></ol>
597
598 <h5>exception</h5>
599 <ol><p>return any errors or warnings in this structure.</p></ol>
600
601  </div>
602 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
603 _8c.html" target="source" name="SelectiveBlurImage">SelectiveBlurImage</a></h2>
604 <div class="doc-section">
605
606 <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></ol>
607
608 <p>The format of the SelectiveBlurImage method is:</p>
609
610 <pre class="code">
611   Image *SelectiveBlurImage(const Image *image,const double radius,
612     const double sigma,const double threshold,ExceptionInfo *exception)
613   Image *SelectiveBlurImageChannel(const Image *image,
614     const ChannelType channel,const double radius,const double sigma,
615     const double threshold,ExceptionInfo *exception)
616 </pre>
617
618 <p>A description of each parameter follows:</p></ol>
619
620 <h5>image</h5>
621 <ol><p>the image.</p></ol>
622
623 <h5>channel</h5>
624 <ol><p>the channel type.</p></ol>
625
626 <h5>radius</h5>
627 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
628
629 <h5>sigma</h5>
630 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
631
632 <h5>threshold</h5>
633 <ol><p>only pixels within this contrast threshold are included in the blur operation.</p></ol>
634
635 <h5>exception</h5>
636 <ol><p>return any errors or warnings in this structure.</p></ol>
637
638  </div>
639 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
640 _8c.html" target="source" name="ShadeImage">ShadeImage</a></h2>
641 <div class="doc-section">
642
643 <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></ol>
644
645 <p>The format of the ShadeImage method is:</p>
646
647 <pre class="code">
648   Image *ShadeImage(const Image *image,const MagickBooleanType gray,
649     const double azimuth,const double elevation,ExceptionInfo *exception)
650 </pre>
651
652 <p>A description of each parameter follows:</p></ol>
653
654 <h5>image</h5>
655 <ol><p>the image.</p></ol>
656
657 <h5>gray</h5>
658 <ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
659
660 <h5>azimuth, elevation</h5>
661 <ol><p>Define the light source direction.</p></ol>
662
663 <h5>exception</h5>
664 <ol><p>return any errors or warnings in this structure.</p></ol>
665
666  </div>
667 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
668 _8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
669 <div class="doc-section">
670
671 <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></ol>
672
673 <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></ol>
674
675 <p>The format of the SharpenImage method is:</p>
676
677 <pre class="code">
678       Image *SharpenImage(const Image *image,const double radius,
679   const double sigma,ExceptionInfo *exception)
680       Image *SharpenImageChannel(const Image *image,const ChannelType channel,
681   const double radius,const double sigma,ExceptionInfo *exception)
682 </pre>
683
684 <p>A description of each parameter follows:</p></ol>
685
686 <h5>image</h5>
687 <ol><p>the image.</p></ol>
688
689 <h5>channel</h5>
690 <ol><p>the channel type.</p></ol>
691
692 <h5>radius</h5>
693 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
694
695 <h5>sigma</h5>
696 <ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
697
698 <h5>exception</h5>
699 <ol><p>return any errors or warnings in this structure.</p></ol>
700
701  </div>
702 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
703 _8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
704 <div class="doc-section">
705
706 <p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
707
708 <p>The format of the SpreadImage method is:</p>
709
710 <pre class="code">
711   Image *SpreadImage(const Image *image,const double radius,
712     ExceptionInfo *exception)
713 </pre>
714
715 <p>A description of each parameter follows:</p></ol>
716
717 <h5>image</h5>
718 <ol><p>the image.</p></ol>
719
720 <h5>radius</h5>
721 <ol><p>Choose a random pixel in a neighborhood of this extent.</p></ol>
722
723 <h5>exception</h5>
724 <ol><p>return any errors or warnings in this structure.</p></ol>
725
726  </div>
727 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
728 _8c.html" target="source" name="UnsharpMaskImage">UnsharpMaskImage</a></h2>
729 <div class="doc-section">
730
731 <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></ol>
732
733 <p>The format of the UnsharpMaskImage method is:</p>
734
735 <pre class="code">
736       Image *UnsharpMaskImage(const Image *image,const double radius,
737   const double sigma,const double amount,const double threshold,
738   ExceptionInfo *exception)
739       Image *UnsharpMaskImageChannel(const Image *image,
740   const ChannelType channel,const double radius,const double sigma,
741   const double amount,const double threshold,ExceptionInfo *exception)
742 </pre>
743
744 <p>A description of each parameter follows:</p></ol>
745
746 <h5>image</h5>
747 <ol><p>the image.</p></ol>
748
749 <h5>channel</h5>
750 <ol><p>the channel type.</p></ol>
751
752 <h5>radius</h5>
753 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
754
755 <h5>sigma</h5>
756 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
757
758 <h5>amount</h5>
759 <ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
760
761 <h5>threshold</h5>
762 <ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
763
764 <h5>exception</h5>
765 <ol><p>return any errors or warnings in this structure.</p></ol>
766
767  </div>
768 \r
769 </div>\r
770 \r
771 <div id="linkbar">\r
772     <span id="linkbar-west">&nbsp;</span>\r
773     <span id="linkbar-center">\r
774       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
775       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
776     </span>\r
777     <span id="linkbar-east">&nbsp;</span>\r
778   </div>\r
779   <div class="footer">\r
780     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
781     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
782   </div>\r
783   <div style="clear: both; margin: 0; width: 100%; "></div>\r
784   <script type="text/javascript">\r
785     var _gaq = _gaq || [];\r
786     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
787     _gaq.push(['_trackPageview']);\r
788 \r
789     (function() {\r
790       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
791       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
792       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
793     })();\r
794   </script>\r
795 </body>\r
796 </html>\r