1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
\r
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
\r
7 <title>ImageMagick: MagickCore, C API for ImageMagick: Add an Effect</title>
8 <meta http-equiv="Content-Language" content="en-US"/>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
11 <meta name="Application-name" content="ImageMagick"/>
12 <meta name="Description" content="ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images."/>
13 <meta name="Application-url" content="http://www.imagemagick.org"/>
14 <meta name="Generator" content="PHP"/>
15 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, add, an, effect, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
16 <meta name="Rating" content="GENERAL"/>
17 <meta name="Robots" content="INDEX, FOLLOW"/>
18 <meta name="Generator" content="ImageMagick Studio LLC"/>
19 <meta name="Author" content="ImageMagick Studio LLC"/>
20 <meta name="Revisit-after" content="2 DAYS"/>
21 <meta name="Resource-type" content="document"/>
22 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
23 <meta name="Distribution" content="Global"/>
24 <link rel="icon" href="../../images/wand.png"/>
25 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
26 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
\r
27 <style type="text/css" media="all">
\r
28 @import url("../../www/magick.css");
\r
30 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
\r
31 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
\r
32 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
\r
33 <script type="text/javascript">
\r
34 $(document).ready(function() {
\r
35 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
\r
36 'transitionIn' : 'elastic',
\r
37 'transitionOut' : 'elastic',
\r
38 'overlayShow' : false,
\r
45 <body id="www-imagemagick-org">
\r
46 <div class="titlebar">
\r
47 <a href="../../index.html">
\r
48 <img src="../../images/script.png" alt="[ImageMagick]"
\r
49 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
\r
50 <a href="http://www.networkredux.com">
\r
51 <img src="../../images/networkredux.png" alt="[sponsor]"
\r
52 style="margin: 45px auto; border: 0px; float: left;" /></a>
\r
53 <a href="http://www.imagemagick.org/discourse-server/">
\r
54 <img src="../../images/logo.jpg" alt=""
\r
55 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
\r
56 <a href="../../index.html">
\r
57 <img src="../../images/sprite.jpg" alt=""
\r
58 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
\r
61 <div class="westbar">
\r
64 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
66 <div class="sep"></div>
\r
68 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
71 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
74 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
77 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
79 <div class="sep"></div>
\r
81 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
84 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
87 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
90 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
93 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
96 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
99 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
102 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
105 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
107 <div class="sep"></div>
\r
109 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
112 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
115 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
118 <a title="Resources" href="../../www/resources.html">Resources</a>
121 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
124 <a title="Download" href="../../www/download.html">Download</a>
126 <div class="sep"></div>
\r
128 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
130 <div class="sep"></div>
\r
132 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
135 <a title="Site Map: Links" href="../../www/links.html">Links</a>
137 <div class="sep"></div>
\r
139 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
141 <div class="sponsbox">
142 <div class="sponsor">
143 <a title="Sponsor: Notebook Reparatur Berlin" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur Berlin</a><!-- 2011040100025 gabi.schulze-->
145 <div class="sponsor">
146 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
148 <div class="sponsor">
149 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
151 <div class="sponsor">
152 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
158 <div class="eastbar">
\r
159 <script type="text/javascript">
\r
161 google_ad_client = "pub-3129977114552745";
\r
162 google_ad_slot = "0574824969";
\r
163 google_ad_width = 160;
\r
164 google_ad_height = 600;
\r
167 <script type="text/javascript"
\r
168 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
\r
176 <p class="navigation-index">[<a href="#AdaptiveBlurImage">AdaptiveBlurImage</a> • <a href="#AdaptiveSharpenImage">AdaptiveSharpenImage</a> • <a href="#BlurImage">BlurImage</a> • <a href="#ConvolveImage">ConvolveImage</a> • <a href="#DespeckleImage">DespeckleImage</a> • <a href="#EdgeImage">EdgeImage</a> • <a href="#EmbossImage">EmbossImage</a> • <a href="#FilterImage">FilterImage</a> • <a href="#GaussianBlurImage">GaussianBlurImage</a> • <a href="#MedianFilterImage">MedianFilterImage</a> • <a href="#MotionBlurImage">MotionBlurImage</a> • <a href="#PreviewImage">PreviewImage</a> • <a href="#RadialBlurImage">RadialBlurImage</a> • <a href="#ReduceNoiseImage">ReduceNoiseImage</a> • <a href="#SelectiveBlurImage">SelectiveBlurImage</a> • <a href="#ShadeImage">ShadeImage</a> • <a href="#SharpenImage">SharpenImage</a> • <a href="#SpreadImage">SpreadImage</a> • <a href="#UnsharpMaskImage">UnsharpMaskImage</a>]</p>
178 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
179 _8c.html" target="source" name="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
180 <div class="doc-section">
182 <p>AdaptiveBlurImage() adaptively blurs the image by blurring less intensely near image edges and more intensely far from edges. We blur the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and AdaptiveBlurImage() selects a suitable radius for you.</p></ol>
184 <p>The format of the AdaptiveBlurImage method is:</p>
187 Image *AdaptiveBlurImage(const Image *image,const double radius,
188 const double sigma,ExceptionInfo *exception)
189 Image *AdaptiveBlurImageChannel(const Image *image,
190 const ChannelType channel,double radius,const double sigma,
191 ExceptionInfo *exception)
194 <p>A description of each parameter follows:</p></ol>
197 <ol><p>the image.</p></ol>
200 <ol><p>the channel type.</p></ol>
203 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
206 <ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
209 <ol><p>return any errors or warnings in this structure.</p></ol>
212 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
213 _8c.html" target="source" name="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
214 <div class="doc-section">
216 <p>AdaptiveSharpenImage() adaptively sharpens the image by sharpening more intensely near image edges and less intensely far from edges. We sharpen the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and AdaptiveSharpenImage() selects a suitable radius for you.</p></ol>
218 <p>The format of the AdaptiveSharpenImage method is:</p>
221 Image *AdaptiveSharpenImage(const Image *image,const double radius,
222 const double sigma,ExceptionInfo *exception)
223 Image *AdaptiveSharpenImageChannel(const Image *image,
224 const ChannelType channel,double radius,const double sigma,
225 ExceptionInfo *exception)
228 <p>A description of each parameter follows:</p></ol>
231 <ol><p>the image.</p></ol>
234 <ol><p>the channel type.</p></ol>
237 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
240 <ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
243 <ol><p>return any errors or warnings in this structure.</p></ol>
246 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
247 _8c.html" target="source" name="BlurImage">BlurImage</a></h2>
248 <div class="doc-section">
250 <p>BlurImage() blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and BlurImage() selects a suitable radius for you.</p></ol>
252 <p>BlurImage() differs from GaussianBlurImage() in that it uses a separable kernel which is faster but mathematically equivalent to the non-separable kernel.</p></ol>
254 <p>The format of the BlurImage method is:</p>
257 Image *BlurImage(const Image *image,const double radius,
258 const double sigma,ExceptionInfo *exception)
259 Image *BlurImageChannel(const Image *image,const ChannelType channel,
260 const double radius,const double sigma,ExceptionInfo *exception)
263 <p>A description of each parameter follows:</p></ol>
266 <ol><p>the image.</p></ol>
269 <ol><p>the channel type.</p></ol>
272 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
275 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
278 <ol><p>return any errors or warnings in this structure.</p></ol>
281 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
282 _8c.html" target="source" name="ConvolveImage">ConvolveImage</a></h2>
283 <div class="doc-section">
285 <p>ConvolveImage() applies a custom convolution kernel to the image.</p></ol>
287 <p>The format of the ConvolveImage method is:</p>
290 Image *ConvolveImage(const Image *image,const size_t order,
291 const double *kernel,ExceptionInfo *exception)
292 Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
293 const size_t order,const double *kernel,ExceptionInfo *exception)
296 <p>A description of each parameter follows:</p></ol>
299 <ol><p>the image.</p></ol>
302 <ol><p>the channel type.</p></ol>
305 <ol><p>the number of columns and rows in the filter kernel.</p></ol>
308 <ol><p>An array of double representing the convolution kernel.</p></ol>
311 <ol><p>return any errors or warnings in this structure.</p></ol>
314 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
315 _8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
316 <div class="doc-section">
318 <p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
320 <p>The format of the DespeckleImage method is:</p>
323 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
326 <p>A description of each parameter follows:</p></ol>
329 <ol><p>the image.</p></ol>
332 <ol><p>return any errors or warnings in this structure.</p></ol>
335 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
336 _8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
337 <div class="doc-section">
339 <p>EdgeImage() finds edges in an image. Radius defines the radius of the convolution filter. Use a radius of 0 and EdgeImage() selects a suitable radius for you.</p></ol>
341 <p>The format of the EdgeImage method is:</p>
344 Image *EdgeImage(const Image *image,const double radius,
345 ExceptionInfo *exception)
348 <p>A description of each parameter follows:</p></ol>
351 <ol><p>the image.</p></ol>
354 <ol><p>the radius of the pixel neighborhood.</p></ol>
357 <ol><p>return any errors or warnings in this structure.</p></ol>
360 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
361 _8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
362 <div class="doc-section">
364 <p>EmbossImage() returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Emboss() selects a suitable radius for you.</p></ol>
366 <p>The format of the EmbossImage method is:</p>
369 Image *EmbossImage(const Image *image,const double radius,
370 const double sigma,ExceptionInfo *exception)
373 <p>A description of each parameter follows:</p></ol>
376 <ol><p>the image.</p></ol>
379 <ol><p>the radius of the pixel neighborhood.</p></ol>
382 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
385 <ol><p>return any errors or warnings in this structure.</p></ol>
388 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
389 _8c.html" target="source" name="FilterImage">FilterImage</a></h2>
390 <div class="doc-section">
392 <p>FilterImage() applies a custom convolution kernel to the image.</p></ol>
394 <p>The format of the FilterImage method is:</p>
397 Image *FilterImage(const Image *image,const KernelInfo *kernel,
398 ExceptionInfo *exception)
399 Image *FilterImageChannel(const Image *image,const ChannelType channel,
400 const KernelInfo *kernel,ExceptionInfo *exception)
403 <p>A description of each parameter follows:</p></ol>
406 <ol><p>the image.</p></ol>
409 <ol><p>the channel type.</p></ol>
412 <ol><p>the filtering kernel.</p></ol>
415 <ol><p>return any errors or warnings in this structure.</p></ol>
418 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
419 _8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
420 <div class="doc-section">
422 <p>GaussianBlurImage() blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and GaussianBlurImage() selects a suitable radius for you</p></ol>
424 <p>The format of the GaussianBlurImage method is:</p>
427 Image *GaussianBlurImage(const Image *image,onst double radius,
428 const double sigma,ExceptionInfo *exception)
429 Image *GaussianBlurImageChannel(const Image *image,
430 const ChannelType channel,const double radius,const double sigma,
431 ExceptionInfo *exception)
434 <p>A description of each parameter follows:</p></ol>
437 <ol><p>the image.</p></ol>
440 <ol><p>the channel type.</p></ol>
443 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
446 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
449 <ol><p>return any errors or warnings in this structure.</p></ol>
452 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
453 _8c.html" target="source" name="MedianFilterImage">MedianFilterImage</a></h2>
454 <div class="doc-section">
456 <p>MedianFilterImage() applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.</p></ol>
458 <p>The algorithm was contributed by Mike Edmonds and implements an insertion sort for selecting median color-channel values. For more on this algorithm see "Skip Lists: A probabilistic Alternative to Balanced Trees" by William Pugh in the June 1990 of Communications of the ACM.</p></ol>
460 <p>The format of the MedianFilterImage method is:</p>
463 Image *MedianFilterImage(const Image *image,const double radius,
464 ExceptionInfo *exception)
467 <p>A description of each parameter follows:</p></ol>
470 <ol><p>the image.</p></ol>
473 <ol><p>the radius of the pixel neighborhood.</p></ol>
476 <ol><p>return any errors or warnings in this structure.</p></ol>
479 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
480 _8c.html" target="source" name="MotionBlurImage">MotionBlurImage</a></h2>
481 <div class="doc-section">
483 <p>MotionBlurImage() simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.</p></ol>
485 <p>Andrew Protano contributed this effect.</p></ol>
487 <p>The format of the MotionBlurImage method is:</p>
490 Image *MotionBlurImage(const Image *image,const double radius,
491 const double sigma,const double angle,ExceptionInfo *exception)
492 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
493 const double radius,const double sigma,const double angle,
494 ExceptionInfo *exception)
497 <p>A description of each parameter follows:</p></ol>
500 <ol><p>the image.</p></ol>
503 <ol><p>the channel type.</p></ol>
506 <ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
508 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
511 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
514 <ol><p>Apply the effect along this angle.</p></ol>
517 <ol><p>return any errors or warnings in this structure.</p></ol>
520 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
521 _8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
522 <div class="doc-section">
524 <p>PreviewImage() tiles 9 thumbnails of the specified image with an image processing operation applied with varying parameters. This may be helpful pin-pointing an appropriate parameter for a particular image processing operation.</p></ol>
526 <p>The format of the PreviewImages method is:</p>
529 Image *PreviewImages(const Image *image,const PreviewType preview,
530 ExceptionInfo *exception)
533 <p>A description of each parameter follows:</p></ol>
536 <ol><p>the image.</p></ol>
539 <ol><p>the image processing operation.</p></ol>
542 <ol><p>return any errors or warnings in this structure.</p></ol>
545 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
546 _8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
547 <div class="doc-section">
549 <p>RadialBlurImage() applies a radial blur to the image.</p></ol>
551 <p>Andrew Protano contributed this effect.</p></ol>
553 <p>The format of the RadialBlurImage method is:</p>
556 Image *RadialBlurImage(const Image *image,const double angle,
557 ExceptionInfo *exception)
558 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
559 const double angle,ExceptionInfo *exception)
562 <p>A description of each parameter follows:</p></ol>
565 <ol><p>the image.</p></ol>
568 <ol><p>the channel type.</p></ol>
571 <ol><p>the angle of the radial blur.</p></ol>
574 <ol><p>return any errors or warnings in this structure.</p></ol>
577 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
578 _8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
579 <div class="doc-section">
581 <p>ReduceNoiseImage() smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and ReduceNoise() selects a suitable radius for you.</p></ol>
583 <p>The format of the ReduceNoiseImage method is:</p>
586 Image *ReduceNoiseImage(const Image *image,const double radius,
587 ExceptionInfo *exception)
590 <p>A description of each parameter follows:</p></ol>
593 <ol><p>the image.</p></ol>
596 <ol><p>the radius of the pixel neighborhood.</p></ol>
599 <ol><p>return any errors or warnings in this structure.</p></ol>
602 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
603 _8c.html" target="source" name="SelectiveBlurImage">SelectiveBlurImage</a></h2>
604 <div class="doc-section">
606 <p>SelectiveBlurImage() selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold.</p></ol>
608 <p>The format of the SelectiveBlurImage method is:</p>
611 Image *SelectiveBlurImage(const Image *image,const double radius,
612 const double sigma,const double threshold,ExceptionInfo *exception)
613 Image *SelectiveBlurImageChannel(const Image *image,
614 const ChannelType channel,const double radius,const double sigma,
615 const double threshold,ExceptionInfo *exception)
618 <p>A description of each parameter follows:</p></ol>
621 <ol><p>the image.</p></ol>
624 <ol><p>the channel type.</p></ol>
627 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
630 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
633 <ol><p>only pixels within this contrast threshold are included in the blur operation.</p></ol>
636 <ol><p>return any errors or warnings in this structure.</p></ol>
639 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
640 _8c.html" target="source" name="ShadeImage">ShadeImage</a></h2>
641 <div class="doc-section">
643 <p>ShadeImage() shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis.</p></ol>
645 <p>The format of the ShadeImage method is:</p>
648 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
649 const double azimuth,const double elevation,ExceptionInfo *exception)
652 <p>A description of each parameter follows:</p></ol>
655 <ol><p>the image.</p></ol>
658 <ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
660 <h5>azimuth, elevation</h5>
661 <ol><p>Define the light source direction.</p></ol>
664 <ol><p>return any errors or warnings in this structure.</p></ol>
667 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
668 _8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
669 <div class="doc-section">
671 <p>SharpenImage() sharpens the image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and SharpenImage() selects a suitable radius for you.</p></ol>
673 <p>Using a separable kernel would be faster, but the negative weights cancel out on the corners of the kernel producing often undesirable ringing in the filtered result; this can be avoided by using a 2D gaussian shaped image sharpening kernel instead.</p></ol>
675 <p>The format of the SharpenImage method is:</p>
678 Image *SharpenImage(const Image *image,const double radius,
679 const double sigma,ExceptionInfo *exception)
680 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
681 const double radius,const double sigma,ExceptionInfo *exception)
684 <p>A description of each parameter follows:</p></ol>
687 <ol><p>the image.</p></ol>
690 <ol><p>the channel type.</p></ol>
693 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
696 <ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
699 <ol><p>return any errors or warnings in this structure.</p></ol>
702 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
703 _8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
704 <div class="doc-section">
706 <p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
708 <p>The format of the SpreadImage method is:</p>
711 Image *SpreadImage(const Image *image,const double radius,
712 ExceptionInfo *exception)
715 <p>A description of each parameter follows:</p></ol>
718 <ol><p>the image.</p></ol>
721 <ol><p>Choose a random pixel in a neighborhood of this extent.</p></ol>
724 <ol><p>return any errors or warnings in this structure.</p></ol>
727 <h2><a href="http://www.imagemagick.org/api/MagickCore/effect
728 _8c.html" target="source" name="UnsharpMaskImage">UnsharpMaskImage</a></h2>
729 <div class="doc-section">
731 <p>UnsharpMaskImage() sharpens one or more image channels. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and UnsharpMaskImage() selects a suitable radius for you.</p></ol>
733 <p>The format of the UnsharpMaskImage method is:</p>
736 Image *UnsharpMaskImage(const Image *image,const double radius,
737 const double sigma,const double amount,const double threshold,
738 ExceptionInfo *exception)
739 Image *UnsharpMaskImageChannel(const Image *image,
740 const ChannelType channel,const double radius,const double sigma,
741 const double amount,const double threshold,ExceptionInfo *exception)
744 <p>A description of each parameter follows:</p></ol>
747 <ol><p>the image.</p></ol>
750 <ol><p>the channel type.</p></ol>
753 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
756 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
759 <ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
762 <ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
765 <ol><p>return any errors or warnings in this structure.</p></ol>
772 <span id="linkbar-west"> </span>
\r
773 <span id="linkbar-center">
\r
774 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> •
\r
775 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
\r
777 <span id="linkbar-east"> </span>
\r
779 <div class="footer">
\r
780 <span id="footer-west">© 1999-2011 ImageMagick Studio LLC</span>
\r
781 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
\r
783 <div style="clear: both; margin: 0; width: 100%; "></div>
\r
784 <script type="text/javascript">
\r
785 var _gaq = _gaq || [];
\r
786 _gaq.push(['_setAccount', 'UA-17690367-1']);
\r
787 _gaq.push(['_trackPageview']);
\r
790 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
\r
791 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
\r
792 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
\r