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