blob: 5c32e208c55f1b644f73a63f5d29336a67340cb0 [file] [log] [blame]
cristyf3bb4782009-09-08 13:10:04 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
5 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
6 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
7 <style type="text/css" media="screen,projection"><!--
8 @import url("../../www/magick.css");
9 --></style>
cristy3ed852e2009-09-05 21:47:34 +000010 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
11 <title>ImageMagick: MagickCore, C API for ImageMagick: Add an Effect</title>
12 <meta http-equiv="Content-Language" content="en-US"/>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
15 <meta name="Generator" content="PHP"/>
16 <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"/>
17 <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."/>
18 <meta name="Rating" content="GENERAL"/>
19 <meta name="Robots" content="INDEX, FOLLOW"/>
20 <meta name="Generator" content="ImageMagick Studio LLC"/>
21 <meta name="Author" content="ImageMagick Studio LLC"/>
22 <meta name="Revisit-after" content="2 DAYS"/>
23 <meta name="Resource-type" content="document"/>
24 <meta name="Copyright" content="Copyright (c) 1999-2009 ImageMagick Studio LLC"/>
25 <meta name="Distribution" content="Global"/>
cristyf3bb4782009-09-08 13:10:04 +000026</head>
27
28<body id="www-imagemagick-org">
29<div class="titlebar">
30<a href="../../index.html">
31 <img src="../../images/script.png" alt="[ImageMagick]"
32 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
33<a href="http://www.networkredux.com">
34 <img src="../../images/networkredux.png" alt="[sponsor]"
35 style="margin: 45px auto; border: 0px; float: left;" /></a>
36<a href="http://www.imagemagick.org/discourse-server/">
37 <img src="../../images/logo.jpg" alt=""
38 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
39<a href="../../index.html">
40 <img src="../../images/sprite.jpg" alt=""
41 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
42</div>
43
44<div class="eastbar">
45
cristy3ed852e2009-09-05 21:47:34 +000046<div class="menu">
47 <a href="../../index.html">About ImageMagick</a>
48</div>
cristyf3bb4782009-09-08 13:10:04 +000049<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000050<div class="menu">
51 <a href="../../www/command-line-tools.html">Command-line Tools</a>
52</div>
53<div class="sub">
54 <a href="../../www/command-line-processing.html">Processing</a>
55</div>
56<div class="sub">
57 <a href="../../www/command-line-options.html">Options</a>
58</div>
59<div class="sub">
60 <a href="http://www.imagemagick.org/Usage/">Usage</a>
61</div>
62<div class="menu">
63 <a href="../../www/api.html">Program Interfaces</a>
64</div>
65<div class="sub">
66 <a href="../../www/magick-wand.html">MagickWand</a>
67</div>
68<div class="sub">
69 <a href="../../www/magick-core.html">MagickCore</a>
70</div>
71<div class="sub">
72 <a href="../../www/perl-magick.html">PerlMagick</a>
73</div>
74<div class="sub">
75 <a href="../../Magick++/">Magick++</a>
76</div>
77<div class="menu">
78 <a href="../../www/architecture.html">Architecture</a>
79</div>
cristyf3bb4782009-09-08 13:10:04 +000080<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000081<div class="menu">
82 <a href="../../www/install-source.html">Install from Source</a>
83</div>
84<div class="sub">
85 <a href="../../www/install-source.html#unix">Unix</a>
86</div>
87<div class="sub">
88 <a href="../../www/install-source.html#windows">Windows</a>
89 </div>
90<div class="menu">
91 <a href="../../www/binary-releases.html">Binary Releases</a>
92</div>
93<div class="sub">
94 <a href="../../www/binary-releases.html#unix">Unix</a>
95</div>
96<div class="sub">
97 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
98</div>
99<div class="sub">
100 <a href="../../www/binary-releases.html#windows">Windows</a>
101</div>
102<div class="menu">
103 <a href="../../www/resources.html">Resources</a>
104</div>
cristyf3bb4782009-09-08 13:10:04 +0000105<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000106<div class="menu">
107 <a href="../../www/download.html">Download</a>
108</div>
cristyf3bb4782009-09-08 13:10:04 +0000109<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000110<div class="menu">
111 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
112</div>
cristyf3bb4782009-09-08 13:10:04 +0000113<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000114<div class="menu">
115 <a href="../../www/sitemap.html">Site Map</a>
116</div>
117<div class="sub">
118 <a href="../../www/links.html">Links</a>
119</div>
cristyf3bb4782009-09-08 13:10:04 +0000120<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000121<div class="menu">
122 <a href="../../www/sponsors.html">Sponsors:</a>
123
124<div class="sponsbox">
125<div class="sponsor">
cristyb4c03bb2009-09-27 13:55:46 +0000126 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristyc49f7992009-09-22 22:48:40 +0000127</div>
128<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000129 <a href="http://www.goyax.de">Börse</a><!-- 201001000240 Gewiese digital-finance.de -->
130</div>
131<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000132 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
133</div>
134<div class="sponsor">
135 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 200911010120 -->
136</div>
137<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000138 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
139</div>
140<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000141 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201002010120 Buchhorn -->
cristy3ed852e2009-09-05 21:47:34 +0000142</div>
143</div>
144</div>
cristyf3bb4782009-09-08 13:10:04 +0000145
146
147</div>
148
149<div class="main">
150
cristy3ed852e2009-09-05 21:47:34 +0000151<p class="navigation-index">[<a href="#AdaptiveBlurImage">AdaptiveBlurImage</a> &bull; <a href="#AdaptiveSharpenImage">AdaptiveSharpenImage</a> &bull; <a href="#BlurImage">BlurImage</a> &bull; <a href="#DespeckleImage">DespeckleImage</a> &bull; <a href="#EdgeImage">EdgeImage</a> &bull; <a href="#EmbossImage">EmbossImage</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>
152
153<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
154_8c.html" target="source" name="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
155<div class="doc-section">
156
157<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>
158
159<p>The format of the AdaptiveBlurImage method is:</p>
160
161<pre class="code">
162 Image *AdaptiveBlurImage(const Image *image,const double radius,
163 const double sigma,ExceptionInfo *exception)
164 Image *AdaptiveBlurImageChannel(const Image *image,
165 const ChannelType channel,double radius,const double sigma,
166 ExceptionInfo *exception)
167</pre>
168
169<p>A description of each parameter follows:</p></ol>
170
171<h5>image</h5>
172<ol><p>the image.</p></ol>
173
174<h5>channel</h5>
175<ol><p>the channel type.</p></ol>
176
177<h5>radius</h5>
178<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
179
180<h5>sigma</h5>
181<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
182
183<h5>exception</h5>
184<ol><p>return any errors or warnings in this structure.</p></ol>
185
186 </div>
187<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
188_8c.html" target="source" name="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
189<div class="doc-section">
190
191<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>
192
193<p>The format of the AdaptiveSharpenImage method is:</p>
194
195<pre class="code">
196 Image *AdaptiveSharpenImage(const Image *image,const double radius,
197 const double sigma,ExceptionInfo *exception)
198 Image *AdaptiveSharpenImageChannel(const Image *image,
199 const ChannelType channel,double radius,const double sigma,
200 ExceptionInfo *exception)
201</pre>
202
203<p>A description of each parameter follows:</p></ol>
204
205<h5>image</h5>
206<ol><p>the image.</p></ol>
207
208<h5>channel</h5>
209<ol><p>the channel type.</p></ol>
210
211<h5>radius</h5>
212<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
213
214<h5>sigma</h5>
215<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
216
217<h5>exception</h5>
218<ol><p>return any errors or warnings in this structure.</p></ol>
219
220 </div>
221<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
222_8c.html" target="source" name="BlurImage">BlurImage</a></h2>
223<div class="doc-section">
224
225<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>
226
227<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>
228
229<p>The format of the BlurImage method is:</p>
230
231<pre class="code">
232 Image *BlurImage(const Image *image,const double radius,
233 const double sigma,ExceptionInfo *exception)
234 Image *BlurImageChannel(const Image *image,const ChannelType channel,
235 const double radius,const double sigma,ExceptionInfo *exception)
236</pre>
237
238<p>A description of each parameter follows:</p></ol>
239
240<h5>image</h5>
241<ol><p>the image.</p></ol>
242
243<h5>channel</h5>
244<ol><p>the channel type.</p></ol>
245
246<h5>radius</h5>
247<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
248
249<h5>sigma</h5>
250<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
251
252<h5>exception</h5>
253<ol><p>return any errors or warnings in this structure.</p></ol>
254
255 </div>
256<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
257_8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
258<div class="doc-section">
259
260<p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
261
262<p>The format of the DespeckleImage method is:</p>
263
264<pre class="code">
265 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
266</pre>
267
268<p>A description of each parameter follows:</p></ol>
269
270<h5>image</h5>
271<ol><p>the image.</p></ol>
272
273<h5>exception</h5>
274<ol><p>return any errors or warnings in this structure.</p></ol>
275
276 </div>
277<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
278_8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
279<div class="doc-section">
280
281<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>
282
283<p>The format of the EdgeImage method is:</p>
284
285<pre class="code">
286 Image *EdgeImage(const Image *image,const double radius,
287 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>radius</h5>
296<ol><p>the radius of the pixel neighborhood.</p></ol>
297
298<h5>exception</h5>
299<ol><p>return any errors or warnings in this structure.</p></ol>
300
301 </div>
302<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
303_8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
304<div class="doc-section">
305
306<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>
307
308<p>The format of the EmbossImage method is:</p>
309
310<pre class="code">
311 Image *EmbossImage(const Image *image,const double radius,
312 const double sigma,ExceptionInfo *exception)
313</pre>
314
315<p>A description of each parameter follows:</p></ol>
316
317<h5>image</h5>
318<ol><p>the image.</p></ol>
319
320<h5>radius</h5>
321<ol><p>the radius of the pixel neighborhood.</p></ol>
322
323<h5>sigma</h5>
324<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
325
326<h5>exception</h5>
327<ol><p>return any errors or warnings in this structure.</p></ol>
328
329 </div>
330<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
331_8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
332<div class="doc-section">
333
334<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>
335
336<p>The format of the GaussianBlurImage method is:</p>
337
338<pre class="code">
339 Image *GaussianBlurImage(const Image *image,onst double radius,
340 const double sigma,ExceptionInfo *exception)
341 Image *GaussianBlurImageChannel(const Image *image,
342 const ChannelType channel,const double radius,const double sigma,
343 ExceptionInfo *exception)
344</pre>
345
346<p>A description of each parameter follows:</p></ol>
347
348<h5>image</h5>
349<ol><p>the image.</p></ol>
350
351<h5>channel</h5>
352<ol><p>the channel type.</p></ol>
353
354<h5>radius</h5>
355<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
356
357<h5>sigma</h5>
358<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
359
360<h5>exception</h5>
361<ol><p>return any errors or warnings in this structure.</p></ol>
362
363 </div>
364<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
365_8c.html" target="source" name="MedianFilterImage">MedianFilterImage</a></h2>
366<div class="doc-section">
367
368<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>
369
370<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>
371
372<p>The format of the MedianFilterImage method is:</p>
373
374<pre class="code">
375 Image *MedianFilterImage(const Image *image,const double radius,
376 ExceptionInfo *exception)
377</pre>
378
379<p>A description of each parameter follows:</p></ol>
380
381<h5>image</h5>
382<ol><p>the image.</p></ol>
383
384<h5>radius</h5>
385<ol><p>the radius of the pixel neighborhood.</p></ol>
386
387<h5>exception</h5>
388<ol><p>return any errors or warnings in this structure.</p></ol>
389
390 </div>
391<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
392_8c.html" target="source" name="MotionBlurImage">MotionBlurImage</a></h2>
393<div class="doc-section">
394
395<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>
396
397<p>Andrew Protano contributed this effect.</p></ol>
398
399<p>The format of the MotionBlurImage method is:</p>
400
401<pre class="code">
402 Image *MotionBlurImage(const Image *image,const double radius,
403 const double sigma,const double angle,ExceptionInfo *exception)
404 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
405 const double radius,const double sigma,const double angle,
406 ExceptionInfo *exception)
407</pre>
408
409<p>A description of each parameter follows:</p></ol>
410
411<h5>image</h5>
412<ol><p>the image.</p></ol>
413
414<h5>channel</h5>
415<ol><p>the channel type.</p></ol>
416
417<h5>radius</h5>
418<ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
419<h5>radius</h5>
420<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
421
422<h5>sigma</h5>
423<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
424
425<h5>angle</h5>
426<ol><p>Apply the effect along this angle.</p></ol>
427
428<h5>exception</h5>
429<ol><p>return any errors or warnings in this structure.</p></ol>
430
431 </div>
432<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
433_8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
434<div class="doc-section">
435
436<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>
437
438<p>The format of the PreviewImages method is:</p>
439
440<pre class="code">
441 Image *PreviewImages(const Image *image,const PreviewType preview,
442 ExceptionInfo *exception)
443</pre>
444
445<p>A description of each parameter follows:</p></ol>
446
447<h5>image</h5>
448<ol><p>the image.</p></ol>
449
450<h5>preview</h5>
451<ol><p>the image processing operation.</p></ol>
452
453<h5>exception</h5>
454<ol><p>return any errors or warnings in this structure.</p></ol>
455
456 </div>
457<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
458_8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
459<div class="doc-section">
460
461<p>RadialBlurImage() applies a radial blur to the image.</p></ol>
462
463<p>Andrew Protano contributed this effect.</p></ol>
464
465<p>The format of the RadialBlurImage method is:</p>
466
467<pre class="code">
468 Image *RadialBlurImage(const Image *image,const double angle,
469 ExceptionInfo *exception)
470 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
471 const double angle,ExceptionInfo *exception)
472</pre>
473
474<p>A description of each parameter follows:</p></ol>
475
476<h5>image</h5>
477<ol><p>the image.</p></ol>
478
479<h5>channel</h5>
480<ol><p>the channel type.</p></ol>
481
482<h5>angle</h5>
483<ol><p>the angle of the radial blur.</p></ol>
484
485<h5>exception</h5>
486<ol><p>return any errors or warnings in this structure.</p></ol>
487
488 </div>
489<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
490_8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
491<div class="doc-section">
492
493<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>
494
495<p>The format of the ReduceNoiseImage method is:</p>
496
497<pre class="code">
498 Image *ReduceNoiseImage(const Image *image,const double radius,
499 ExceptionInfo *exception)
500</pre>
501
502<p>A description of each parameter follows:</p></ol>
503
504<h5>image</h5>
505<ol><p>the image.</p></ol>
506
507<h5>radius</h5>
508<ol><p>the radius of the pixel neighborhood.</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="SelectiveBlurImage">SelectiveBlurImage</a></h2>
516<div class="doc-section">
517
518<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>
519
520<p>The format of the SelectiveBlurImage method is:</p>
521
522<pre class="code">
523 Image *SelectiveBlurImage(const Image *image,const double radius,
524 const double sigma,const double threshold,ExceptionInfo *exception)
525 Image *SelectiveBlurImageChannel(const Image *image,
526 const ChannelType channel,const double radius,const double sigma,
527 const double threshold,ExceptionInfo *exception)
528</pre>
529
530<p>A description of each parameter follows:</p></ol>
531
532<h5>image</h5>
533<ol><p>the image.</p></ol>
534
535<h5>channel</h5>
536<ol><p>the channel type.</p></ol>
537
538<h5>radius</h5>
539<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
540
541<h5>sigma</h5>
542<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
543
544<h5>threshold</h5>
545<ol><p>only pixels within this contrast threshold are included in the blur operation.</p></ol>
546
547<h5>exception</h5>
548<ol><p>return any errors or warnings in this structure.</p></ol>
549
550 </div>
551<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
552_8c.html" target="source" name="ShadeImage">ShadeImage</a></h2>
553<div class="doc-section">
554
555<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>
556
557<p>The format of the ShadeImage method is:</p>
558
559<pre class="code">
560 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
561 const double azimuth,const double elevation,ExceptionInfo *exception)
562</pre>
563
564<p>A description of each parameter follows:</p></ol>
565
566<h5>image</h5>
567<ol><p>the image.</p></ol>
568
569<h5>gray</h5>
570<ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
571
572<h5>azimuth, elevation</h5>
573<ol><p>Define the light source direction.</p></ol>
574
575<h5>exception</h5>
576<ol><p>return any errors or warnings in this structure.</p></ol>
577
578 </div>
579<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
580_8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
581<div class="doc-section">
582
583<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>
584
585<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>
586
587<p>The format of the SharpenImage method is:</p>
588
589<pre class="code">
590 Image *SharpenImage(const Image *image,const double radius,
591 const double sigma,ExceptionInfo *exception)
592 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
593 const double radius,const double sigma,ExceptionInfo *exception)
594</pre>
595
596<p>A description of each parameter follows:</p></ol>
597
598<h5>image</h5>
599<ol><p>the image.</p></ol>
600
601<h5>channel</h5>
602<ol><p>the channel type.</p></ol>
603
604<h5>radius</h5>
605<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
606
607<h5>sigma</h5>
608<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
609
610<h5>exception</h5>
611<ol><p>return any errors or warnings in this structure.</p></ol>
612
613 </div>
614<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
615_8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
616<div class="doc-section">
617
618<p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
619
620<p>The format of the SpreadImage method is:</p>
621
622<pre class="code">
623 Image *SpreadImage(const Image *image,const double radius,
624 ExceptionInfo *exception)
625</pre>
626
627<p>A description of each parameter follows:</p></ol>
628
629<h5>image</h5>
630<ol><p>the image.</p></ol>
631
632<h5>radius</h5>
633<ol><p>Choose a random pixel in a neighborhood of this extent.</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="UnsharpMaskImage">UnsharpMaskImage</a></h2>
641<div class="doc-section">
642
643<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>
644
645<p>The format of the UnsharpMaskImage method is:</p>
646
647<pre class="code">
648 Image *UnsharpMaskImage(const Image *image,const double radius,
649 const double sigma,const double amount,const double threshold,
650 ExceptionInfo *exception)
651 Image *UnsharpMaskImageChannel(const Image *image,
652 const ChannelType channel,const double radius,const double sigma,
653 const double amount,const double threshold,ExceptionInfo *exception)
654</pre>
655
656<p>A description of each parameter follows:</p></ol>
657
658<h5>image</h5>
659<ol><p>the image.</p></ol>
660
661<h5>channel</h5>
662<ol><p>the channel type.</p></ol>
663
664<h5>radius</h5>
665<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
666
667<h5>sigma</h5>
668<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
669
670<h5>amount</h5>
671<ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
672
673<h5>threshold</h5>
674<ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
675
676<h5>exception</h5>
677<ol><p>return any errors or warnings in this structure.</p></ol>
678
679 </div>
cristyf3bb4782009-09-08 13:10:04 +0000680
681</div>
682
683<div id="linkbar">
684 <!-- <span id="linkbar-west">&nbsp;</span> -->
685 <span id="linkbar-center">
686 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
687 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
cristyc49f7992009-09-22 22:48:40 +0000688 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000689 </span>
690 <span id="linkbar-east">&nbsp;</span>
691 </div>
692 <div class="footer">
693 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
694 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
695 </div>
696 <div style="clear: both; margin: 0; width: 100%; "></div>
697</body>
698</html>