blob: 3413fb6c9379096c811bb5604d1140e3454c4418 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +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>
10 <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"/>
26</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
46<div class="menu">
47 <a href="../../index.html">About ImageMagick</a>
48</div>
49<div class="sep"></div>
50<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>
80<div class="sep"></div>
81<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>
105<div class="sep"></div>
106<div class="menu">
107 <a href="../../www/download.html">Download</a>
108</div>
109<div class="sep"></div>
110<div class="menu">
111 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
112</div>
113<div class="sep"></div>
114<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>
120<div class="sep"></div>
121<div class="menu">
122 <a href="../../www/sponsors.html">Sponsors:</a>
123
124<div class="sponsbox">
125<div class="sponsor">
126 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
127</div>
128<div class="sponsor">
129 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 200911010120 -->
130</div>
131<div class="sponsor">
132 <a href="http://www.print24.de/">Druckerei</a><!-- 200911010480 -->
133</div>
134<div class="sponsor">
135 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
136</div>
137<div class="sponsor">
138 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201001010120 Buchhorn -->
139</div>
140</div>
141</div>
142
143
144</div>
145
146<div class="main">
147
148<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>
149
150<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
151_8c.html" target="source" name="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
152<div class="doc-section">
153
154<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>
155
156<p>The format of the AdaptiveBlurImage method is:</p>
157
158<pre class="code">
159 Image *AdaptiveBlurImage(const Image *image,const double radius,
160 const double sigma,ExceptionInfo *exception)
161 Image *AdaptiveBlurImageChannel(const Image *image,
162 const ChannelType channel,double radius,const double sigma,
163 ExceptionInfo *exception)
164</pre>
165
166<p>A description of each parameter follows:</p></ol>
167
168<h5>image</h5>
169<ol><p>the image.</p></ol>
170
171<h5>channel</h5>
172<ol><p>the channel type.</p></ol>
173
174<h5>radius</h5>
175<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
176
177<h5>sigma</h5>
178<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
179
180<h5>exception</h5>
181<ol><p>return any errors or warnings in this structure.</p></ol>
182
183 </div>
184<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
185_8c.html" target="source" name="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
186<div class="doc-section">
187
188<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>
189
190<p>The format of the AdaptiveSharpenImage method is:</p>
191
192<pre class="code">
193 Image *AdaptiveSharpenImage(const Image *image,const double radius,
194 const double sigma,ExceptionInfo *exception)
195 Image *AdaptiveSharpenImageChannel(const Image *image,
196 const ChannelType channel,double radius,const double sigma,
197 ExceptionInfo *exception)
198</pre>
199
200<p>A description of each parameter follows:</p></ol>
201
202<h5>image</h5>
203<ol><p>the image.</p></ol>
204
205<h5>channel</h5>
206<ol><p>the channel type.</p></ol>
207
208<h5>radius</h5>
209<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
210
211<h5>sigma</h5>
212<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
213
214<h5>exception</h5>
215<ol><p>return any errors or warnings in this structure.</p></ol>
216
217 </div>
218<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
219_8c.html" target="source" name="BlurImage">BlurImage</a></h2>
220<div class="doc-section">
221
222<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>
223
224<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>
225
226<p>The format of the BlurImage method is:</p>
227
228<pre class="code">
229 Image *BlurImage(const Image *image,const double radius,
230 const double sigma,ExceptionInfo *exception)
231 Image *BlurImageChannel(const Image *image,const ChannelType channel,
232 const double radius,const double sigma,ExceptionInfo *exception)
233</pre>
234
235<p>A description of each parameter follows:</p></ol>
236
237<h5>image</h5>
238<ol><p>the image.</p></ol>
239
240<h5>channel</h5>
241<ol><p>the channel type.</p></ol>
242
243<h5>radius</h5>
244<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
245
246<h5>sigma</h5>
247<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
248
249<h5>exception</h5>
250<ol><p>return any errors or warnings in this structure.</p></ol>
251
252 </div>
253<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
254_8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
255<div class="doc-section">
256
257<p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
258
259<p>The format of the DespeckleImage method is:</p>
260
261<pre class="code">
262 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
263</pre>
264
265<p>A description of each parameter follows:</p></ol>
266
267<h5>image</h5>
268<ol><p>the image.</p></ol>
269
270<h5>exception</h5>
271<ol><p>return any errors or warnings in this structure.</p></ol>
272
273 </div>
274<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
275_8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
276<div class="doc-section">
277
278<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>
279
280<p>The format of the EdgeImage method is:</p>
281
282<pre class="code">
283 Image *EdgeImage(const Image *image,const double radius,
284 ExceptionInfo *exception)
285</pre>
286
287<p>A description of each parameter follows:</p></ol>
288
289<h5>image</h5>
290<ol><p>the image.</p></ol>
291
292<h5>radius</h5>
293<ol><p>the radius of the pixel neighborhood.</p></ol>
294
295<h5>exception</h5>
296<ol><p>return any errors or warnings in this structure.</p></ol>
297
298 </div>
299<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
300_8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
301<div class="doc-section">
302
303<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>
304
305<p>The format of the EmbossImage method is:</p>
306
307<pre class="code">
308 Image *EmbossImage(const Image *image,const double radius,
309 const double sigma,ExceptionInfo *exception)
310</pre>
311
312<p>A description of each parameter follows:</p></ol>
313
314<h5>image</h5>
315<ol><p>the image.</p></ol>
316
317<h5>radius</h5>
318<ol><p>the radius of the pixel neighborhood.</p></ol>
319
320<h5>sigma</h5>
321<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
322
323<h5>exception</h5>
324<ol><p>return any errors or warnings in this structure.</p></ol>
325
326 </div>
327<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
328_8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
329<div class="doc-section">
330
331<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>
332
333<p>The format of the GaussianBlurImage method is:</p>
334
335<pre class="code">
336 Image *GaussianBlurImage(const Image *image,onst double radius,
337 const double sigma,ExceptionInfo *exception)
338 Image *GaussianBlurImageChannel(const Image *image,
339 const ChannelType channel,const double radius,const double sigma,
340 ExceptionInfo *exception)
341</pre>
342
343<p>A description of each parameter follows:</p></ol>
344
345<h5>image</h5>
346<ol><p>the image.</p></ol>
347
348<h5>channel</h5>
349<ol><p>the channel type.</p></ol>
350
351<h5>radius</h5>
352<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
353
354<h5>sigma</h5>
355<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
356
357<h5>exception</h5>
358<ol><p>return any errors or warnings in this structure.</p></ol>
359
360 </div>
361<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
362_8c.html" target="source" name="MedianFilterImage">MedianFilterImage</a></h2>
363<div class="doc-section">
364
365<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>
366
367<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>
368
369<p>The format of the MedianFilterImage method is:</p>
370
371<pre class="code">
372 Image *MedianFilterImage(const Image *image,const double radius,
373 ExceptionInfo *exception)
374</pre>
375
376<p>A description of each parameter follows:</p></ol>
377
378<h5>image</h5>
379<ol><p>the image.</p></ol>
380
381<h5>radius</h5>
382<ol><p>the radius of the pixel neighborhood.</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="MotionBlurImage">MotionBlurImage</a></h2>
390<div class="doc-section">
391
392<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>
393
394<p>Andrew Protano contributed this effect.</p></ol>
395
396<p>The format of the MotionBlurImage method is:</p>
397
398<pre class="code">
399 Image *MotionBlurImage(const Image *image,const double radius,
400 const double sigma,const double angle,ExceptionInfo *exception)
401 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
402 const double radius,const double sigma,const double angle,
403 ExceptionInfo *exception)
404</pre>
405
406<p>A description of each parameter follows:</p></ol>
407
408<h5>image</h5>
409<ol><p>the image.</p></ol>
410
411<h5>channel</h5>
412<ol><p>the channel type.</p></ol>
413
414<h5>radius</h5>
415<ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
416<h5>radius</h5>
417<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
418
419<h5>sigma</h5>
420<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
421
422<h5>angle</h5>
423<ol><p>Apply the effect along this angle.</p></ol>
424
425<h5>exception</h5>
426<ol><p>return any errors or warnings in this structure.</p></ol>
427
428 </div>
429<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
430_8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
431<div class="doc-section">
432
433<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>
434
435<p>The format of the PreviewImages method is:</p>
436
437<pre class="code">
438 Image *PreviewImages(const Image *image,const PreviewType preview,
439 ExceptionInfo *exception)
440</pre>
441
442<p>A description of each parameter follows:</p></ol>
443
444<h5>image</h5>
445<ol><p>the image.</p></ol>
446
447<h5>preview</h5>
448<ol><p>the image processing operation.</p></ol>
449
450<h5>exception</h5>
451<ol><p>return any errors or warnings in this structure.</p></ol>
452
453 </div>
454<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
455_8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
456<div class="doc-section">
457
458<p>RadialBlurImage() applies a radial blur to the image.</p></ol>
459
460<p>Andrew Protano contributed this effect.</p></ol>
461
462<p>The format of the RadialBlurImage method is:</p>
463
464<pre class="code">
465 Image *RadialBlurImage(const Image *image,const double angle,
466 ExceptionInfo *exception)
467 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
468 const double angle,ExceptionInfo *exception)
469</pre>
470
471<p>A description of each parameter follows:</p></ol>
472
473<h5>image</h5>
474<ol><p>the image.</p></ol>
475
476<h5>channel</h5>
477<ol><p>the channel type.</p></ol>
478
479<h5>angle</h5>
480<ol><p>the angle of the radial blur.</p></ol>
481
482<h5>exception</h5>
483<ol><p>return any errors or warnings in this structure.</p></ol>
484
485 </div>
486<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
487_8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
488<div class="doc-section">
489
490<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>
491
492<p>The format of the ReduceNoiseImage method is:</p>
493
494<pre class="code">
495 Image *ReduceNoiseImage(const Image *image,const double radius,
496 ExceptionInfo *exception)
497</pre>
498
499<p>A description of each parameter follows:</p></ol>
500
501<h5>image</h5>
502<ol><p>the image.</p></ol>
503
504<h5>radius</h5>
505<ol><p>the radius of the pixel neighborhood.</p></ol>
506
507<h5>exception</h5>
508<ol><p>return any errors or warnings in this structure.</p></ol>
509
510 </div>
511<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
512_8c.html" target="source" name="SelectiveBlurImage">SelectiveBlurImage</a></h2>
513<div class="doc-section">
514
515<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>
516
517<p>The format of the SelectiveBlurImage method is:</p>
518
519<pre class="code">
520 Image *SelectiveBlurImage(const Image *image,const double radius,
521 const double sigma,const double threshold,ExceptionInfo *exception)
522 Image *SelectiveBlurImageChannel(const Image *image,
523 const ChannelType channel,const double radius,const double sigma,
524 const double threshold,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>channel</h5>
533<ol><p>the channel type.</p></ol>
534
535<h5>radius</h5>
536<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
537
538<h5>sigma</h5>
539<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
540
541<h5>threshold</h5>
542<ol><p>only pixels within this contrast threshold are included in the blur operation.</p></ol>
543
544<h5>exception</h5>
545<ol><p>return any errors or warnings in this structure.</p></ol>
546
547 </div>
548<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
549_8c.html" target="source" name="ShadeImage">ShadeImage</a></h2>
550<div class="doc-section">
551
552<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>
553
554<p>The format of the ShadeImage method is:</p>
555
556<pre class="code">
557 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
558 const double azimuth,const double elevation,ExceptionInfo *exception)
559</pre>
560
561<p>A description of each parameter follows:</p></ol>
562
563<h5>image</h5>
564<ol><p>the image.</p></ol>
565
566<h5>gray</h5>
567<ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
568
569<h5>azimuth, elevation</h5>
570<ol><p>Define the light source direction.</p></ol>
571
572<h5>exception</h5>
573<ol><p>return any errors or warnings in this structure.</p></ol>
574
575 </div>
576<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
577_8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
578<div class="doc-section">
579
580<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>
581
582<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>
583
584<p>The format of the SharpenImage method is:</p>
585
586<pre class="code">
587 Image *SharpenImage(const Image *image,const double radius,
588 const double sigma,ExceptionInfo *exception)
589 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
590 const double radius,const double sigma,ExceptionInfo *exception)
591</pre>
592
593<p>A description of each parameter follows:</p></ol>
594
595<h5>image</h5>
596<ol><p>the image.</p></ol>
597
598<h5>channel</h5>
599<ol><p>the channel type.</p></ol>
600
601<h5>radius</h5>
602<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
603
604<h5>sigma</h5>
605<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
606
607<h5>exception</h5>
608<ol><p>return any errors or warnings in this structure.</p></ol>
609
610 </div>
611<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
612_8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
613<div class="doc-section">
614
615<p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
616
617<p>The format of the SpreadImage method is:</p>
618
619<pre class="code">
620 Image *SpreadImage(const Image *image,const double radius,
621 ExceptionInfo *exception)
622</pre>
623
624<p>A description of each parameter follows:</p></ol>
625
626<h5>image</h5>
627<ol><p>the image.</p></ol>
628
629<h5>radius</h5>
630<ol><p>Choose a random pixel in a neighborhood of this extent.</p></ol>
631
632<h5>exception</h5>
633<ol><p>return any errors or warnings in this structure.</p></ol>
634
635 </div>
636<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
637_8c.html" target="source" name="UnsharpMaskImage">UnsharpMaskImage</a></h2>
638<div class="doc-section">
639
640<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>
641
642<p>The format of the UnsharpMaskImage method is:</p>
643
644<pre class="code">
645 Image *UnsharpMaskImage(const Image *image,const double radius,
646 const double sigma,const double amount,const double threshold,
647 ExceptionInfo *exception)
648 Image *UnsharpMaskImageChannel(const Image *image,
649 const ChannelType channel,const double radius,const double sigma,
650 const double amount,const double threshold,ExceptionInfo *exception)
651</pre>
652
653<p>A description of each parameter follows:</p></ol>
654
655<h5>image</h5>
656<ol><p>the image.</p></ol>
657
658<h5>channel</h5>
659<ol><p>the channel type.</p></ol>
660
661<h5>radius</h5>
662<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
663
664<h5>sigma</h5>
665<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
666
667<h5>amount</h5>
668<ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
669
670<h5>threshold</h5>
671<ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
672
673<h5>exception</h5>
674<ol><p>return any errors or warnings in this structure.</p></ol>
675
676 </div>
677
678</div>
679
680<div id="linkbar">
681 <!-- <span id="linkbar-west">&nbsp;</span> -->
682 <span id="linkbar-center">
683 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
684 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
685 <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
686 </span>
687 <span id="linkbar-east">&nbsp;</span>
688 </div>
689 <div class="footer">
690 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
691 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
692 </div>
693 <div style="clear: both; margin: 0; width: 100%; "></div>
694</body>
695</html>