blob: 90fb6ccfdeb6182ea2db56e652da0ebddefc282b [file] [log] [blame]
cristy06f63f22012-10-31 00:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html version="-//W3C//DTD XHTML 1.1//EN"
4 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="http://www.w3.org/1999/xhtml
7 http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
8<head>
9 <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
cristy8ee7f242013-06-20 16:08:44 +000010 <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4"/>
cristyffb69ed2010-12-25 00:06:48 +000011 <title>ImageMagick: MagickCore, C API for ImageMagick: Add an Effect</title>
cristy751980d2012-06-03 23:18:35 +000012 <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="application-name" content="ImageMagick"/>
cristy8ee7f242013-06-20 16:08:44 +000016 <meta name="description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats. In addition, resize, rotate, shear, distort or transform images automagically."/>
cristy751980d2012-06-03 23:18:35 +000017 <meta name="application-url" content="http://www.imagemagick.org"/>
18 <meta name="generator" content="PHP"/>
cristy8ee7f242013-06-20 16:08:44 +000019 <meta name="keywords" content="magickcore, c, api, for, imagemagick:, add, an, effect, ImageMagick, PerlMagick, image processing, OpenMP, software development library, image, photo, software, Magick++, MagickWand"/>
cristy751980d2012-06-03 23:18:35 +000020 <meta name="rating" content="GENERAL"/>
21 <meta name="robots" content="INDEX, FOLLOW"/>
22 <meta name="generator" content="ImageMagick Studio LLC"/>
23 <meta name="author" content="ImageMagick Studio LLC"/>
24 <meta name="revisit-after" content="2 DAYS"/>
25 <meta name="resource-type" content="document"/>
cristy72da67d2013-02-24 21:40:48 +000026 <meta name="copyright" content="Copyright (c) 1999-2012 ImageMagick Studio LLC"/>
cristy751980d2012-06-03 23:18:35 +000027 <meta name="distribution" content="Global"/>
cristy72da67d2013-02-24 21:40:48 +000028 <link rel="icon" href="../../images/wand.png"/>
29 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
cristy417eeb12013-07-28 18:48:22 +000030 <link rel="canonical" href="../../index.html" />
cristy06f63f22012-10-31 00:50:07 +000031 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy8ee7f242013-06-20 16:08:44 +000032
33 <!-- Add jQuery library -->
34 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
35
36 <!-- Add mousewheel plugin (this is optional) -->
37 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script>
38
39 <!-- Add fancyBox -->
40 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/jquery.fancybox.css?v=2.0.6" type="text/css" media="screen" />
41 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/jquery.fancybox.pack.js?v=2.0.6"></script>
42
43 <!-- Optionally add helpers - button, thumbnail and/or media -->
44 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.2" type="text/css" media="screen" />
45 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.2"></script>
46 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.0"></script>
47
48 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=2.0.6" type="text/css" media="screen" />
49 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=2.0.6"></script>
50
cristy72da67d2013-02-24 21:40:48 +000051 <script type="text/javascript">
cristy8ee7f242013-06-20 16:08:44 +000052 $(document).ready(function() {
53 $(".fancybox").fancybox();
54 });
cristy72da67d2013-02-24 21:40:48 +000055 </script>
cristy8ee7f242013-06-20 16:08:44 +000056
57 <!-- ImageMagick style -->
58 <style type="text/css" media="all">
59 @import url("../../www/magick.css");
60 </style>
cristy06f63f22012-10-31 00:50:07 +000061</head>
62
63<body id="www-imagemagick-org">
cristy8ee7f242013-06-20 16:08:44 +000064
65<script>
66 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
67 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
68 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
cristy417eeb12013-07-28 18:48:22 +000069 })(window,document,'offline-script','//www.google-analytics.com/analytics.js','ga');
cristy8ee7f242013-06-20 16:08:44 +000070
71 ga('create', 'UA-40133312-1', 'imagemagick.org');
72 ga('send', 'pageview');
73</script>
74
cristy06f63f22012-10-31 00:50:07 +000075<div class="titlebar">
76<div style="margin: 17px auto; float: left;">
77 <script type="text/javascript">
78 <!--
79 google_ad_client = "pub-3129977114552745";
80 google_ad_slot = "5439289906";
81 google_ad_width = 728;
82 google_ad_height = 90;
83 //-->
84 </script>
85 <script type="text/javascript"
cristy417eeb12013-07-28 18:48:22 +000086 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
cristy06f63f22012-10-31 00:50:07 +000087 </script>
88</div>
cristy417eeb12013-07-28 18:48:22 +000089<a href="../../discourse-server">
cristy72da67d2013-02-24 21:40:48 +000090 <img src="../../images/logo.jpg"
cristy06f63f22012-10-31 00:50:07 +000091 alt="ImageMagick Logo"
92 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy8ee7f242013-06-20 16:08:44 +000093<a href="../../index.html">
cristy72da67d2013-02-24 21:40:48 +000094 <img src="../../images/sprite.jpg"
cristy06f63f22012-10-31 00:50:07 +000095 alt="ImageMagick Sprite"
96 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
97</div>
98
99<div class="westbar">
100
cristy3ed852e2009-09-05 21:47:34 +0000101<div class="menu">
cristy8ee7f242013-06-20 16:08:44 +0000102 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +0000103</div>
cristy3ed852e2009-09-05 21:47:34 +0000104<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000105 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
cristybb503372010-05-27 20:51:26 +0000106</div>
107<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000108 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
cristybb503372010-05-27 20:51:26 +0000109</div>
110<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000111 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
cristybb503372010-05-27 20:51:26 +0000112</div>
113<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000114 <a title="Binary Release: iOS" href="../../www/binary-releases.html#iOS">iOS</a>
cristyda16f162011-02-19 23:52:17 +0000115</div>
116<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000117 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
cristybb503372010-05-27 20:51:26 +0000118</div>
cristy06f63f22012-10-31 00:50:07 +0000119<div class="sep"></div>
cristybb503372010-05-27 20:51:26 +0000120<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000121 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +0000122</div>
123<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000124 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +0000125</div>
126<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000127 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +0000128</div>
129<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000130 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +0000131</div>
132<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000133 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +0000134</div>
135<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000136 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +0000137</div>
138<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000139 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +0000140</div>
141<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000142 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
144<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000145 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +0000146</div>
cristy06f63f22012-10-31 00:50:07 +0000147<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000148<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000149 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +0000150</div>
151<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000152 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +0000153</div>
154<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000155 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000156 </div>
157<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000158 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000159</div>
cristybb503372010-05-27 20:51:26 +0000160<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000161 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
cristybb503372010-05-27 20:51:26 +0000162</div>
cristy3ed852e2009-09-05 21:47:34 +0000163<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000164 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000165</div>
cristy06f63f22012-10-31 00:50:07 +0000166<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000167<div class="menu">
cristy3dfa2192013-02-24 22:46:05 +0000168 <a title="Search" href="http://www.imagemagick.org/script/search.php">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000169</div>
cristy06f63f22012-10-31 00:50:07 +0000170<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000171<div class="menu">
cristyd8833bf2013-02-24 22:14:53 +0000172 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000173</div>
174<div class="sub">
cristyd8833bf2013-02-24 22:14:53 +0000175 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000176</div>
cristy06f63f22012-10-31 00:50:07 +0000177<div class="sep"></div>
cristy8ee7f242013-06-20 16:08:44 +0000178<div class="menu">
179 <a title="Support ImageMagick Development" href="../../www/support.html">Support ImageMagick Development</a>
cristy3ed852e2009-09-05 21:47:34 +0000180</div>
cristy06f63f22012-10-31 00:50:07 +0000181</div>
182
183<div class="eastbar">
cristy06f63f22012-10-31 00:50:07 +0000184 <script type="text/javascript">
cristy8ee7f242013-06-20 16:08:44 +0000185 /* <![CDATA[ */
cristy06f63f22012-10-31 00:50:07 +0000186 (function() {
cristy8ee7f242013-06-20 16:08:44 +0000187 var po = document.createElement('offline-script'), t = document.getElementsByTagName('offline-script')[0];
188 po.type = 'text/javascript';
189 po.async = true;
190 po.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
191 var script = document.getElementsByTagName('offline-script')[0];
192 script.parentNode.insertBefore(po, script);
cristy06f63f22012-10-31 00:50:07 +0000193 })();
cristy8ee7f242013-06-20 16:08:44 +0000194 /* ]]> */
cristy06f63f22012-10-31 00:50:07 +0000195 </script>
cristy417eeb12013-07-28 18:48:22 +0000196 <div> <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="../../index.html"></a></div>
cristy8ee7f242013-06-20 16:08:44 +0000197 <noscript>
198 <a href="http://flattr.com/thing/947300/Convert-Edit-And-Compose-Images" target="_blank">
199 <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" width="93" height="20" border="0" /></a>
200 </noscript>
201 <div class="g-plusone" id="gplusone"></div>
202 <script type="text/javascript">
203 /* <![CDATA[ */
204 window.___gcfg = {
205 lang: 'en-US'
206 };
207
208 (function() {
209 var po = document.createElement('offline-script');
210 po.type = 'text/javascript';
211 po.async = true;
cristy417eeb12013-07-28 18:48:22 +0000212 po.src = 'https://apis.google.com/js/plusone.js';
cristy8ee7f242013-06-20 16:08:44 +0000213 var script = document.getElementsByTagName('offline-script')[0];
214 script.parentNode.insertBefore(po, script);
215 })();
216 var gplusone = document.getElementById("gplusone");
217 gplusone.setAttribute("data-size","medium");
218 gplusone.setAttribute("data-count","true");
219 /* ]]> */
220 </script>
cristy06f63f22012-10-31 00:50:07 +0000221</div>
222
223<div class="main">
224
cristy20398432011-08-11 01:31:50 +0000225<h1>Module effect Methods</h1>
cristydba8f1d2013-07-28 13:49:24 +0000226<p class="navigation-index">[<a href="effect.html#AdaptiveBlurImage">AdaptiveBlurImage</a> &#8226; <a href="effect.html#AdaptiveSharpenImage">AdaptiveSharpenImage</a> &#8226; <a href="effect.html#BlurImage">BlurImage</a> &#8226; <a href="effect.html#ConvolveImage">ConvolveImage</a> &#8226; <a href="effect.html#DespeckleImage">DespeckleImage</a> &#8226; <a href="effect.html#EdgeImage">EdgeImage</a> &#8226; <a href="effect.html#EmbossImage">EmbossImage</a> &#8226; <a href="effect.html#FilterImage">FilterImage</a> &#8226; <a href="effect.html#GaussianBlurImage">GaussianBlurImage</a> &#8226; <a href="effect.html#MotionBlurImage">MotionBlurImage</a> &#8226; <a href="effect.html#PreviewImage">PreviewImage</a> &#8226; <a href="effect.html#RadialBlurImage">RadialBlurImage</a> &#8226; <a href="effect.html#SelectiveBlurImage">SelectiveBlurImage</a> &#8226; <a href="effect.html#ShadeImage">ShadeImage</a> &#8226; <a href="effect.html#SharpenImage">SharpenImage</a> &#8226; <a href="effect.html#SpreadImage">SpreadImage</a> &#8226; <a href="effect.html#UnsharpMaskImage">UnsharpMaskImage</a>]</p>
cristy6f77f692011-02-15 15:31:39 +0000227
cristy20398432011-08-11 01:31:50 +0000228<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
229<div class="doc-section">
230
231<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>
232
233<p>The format of the AdaptiveBlurImage method is:</p>
234
235<pre class="code">
236 Image *AdaptiveBlurImage(const Image *image,const double radius,
237 const double sigma,ExceptionInfo *exception)
238 Image *AdaptiveBlurImageChannel(const Image *image,
239 const ChannelType channel,double radius,const double sigma,
240 ExceptionInfo *exception)
241</pre>
242
243<p>A description of each parameter follows:</p>
244
245<h5>image</h5>
246<p>the image.</p>
247
248<h5>channel</h5>
249<p>the channel type.</p>
250
251<h5>radius</h5>
252<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
253
254<h5>sigma</h5>
255<p>the standard deviation of the Laplacian, in pixels.</p>
256
257<h5>exception</h5>
258<p>return any errors or warnings in this structure.</p>
259
260 </div>
261<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
262<div class="doc-section">
263
264<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>
265
266<p>The format of the AdaptiveSharpenImage method is:</p>
267
268<pre class="code">
269 Image *AdaptiveSharpenImage(const Image *image,const double radius,
270 const double sigma,ExceptionInfo *exception)
271 Image *AdaptiveSharpenImageChannel(const Image *image,
272 const ChannelType channel,double radius,const double sigma,
273 ExceptionInfo *exception)
274</pre>
275
276<p>A description of each parameter follows:</p>
277
278<h5>image</h5>
279<p>the image.</p>
280
281<h5>channel</h5>
282<p>the channel type.</p>
283
284<h5>radius</h5>
285<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
286
287<h5>sigma</h5>
288<p>the standard deviation of the Laplacian, in pixels.</p>
289
290<h5>exception</h5>
291<p>return any errors or warnings in this structure.</p>
292
293 </div>
294<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="BlurImage">BlurImage</a></h2>
295<div class="doc-section">
296
297<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>
298
cristy20398432011-08-11 01:31:50 +0000299<p>The format of the BlurImage method is:</p>
300
301<pre class="code">
302 Image *BlurImage(const Image *image,const double radius,
303 const double sigma,ExceptionInfo *exception)
304 Image *BlurImageChannel(const Image *image,const ChannelType channel,
305 const double radius,const double sigma,ExceptionInfo *exception)
306</pre>
307
308<p>A description of each parameter follows:</p>
309
310<h5>image</h5>
311<p>the image.</p>
312
313<h5>channel</h5>
314<p>the channel type.</p>
315
316<h5>radius</h5>
317<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
318
319<h5>sigma</h5>
320<p>the standard deviation of the Gaussian, in pixels.</p>
321
322<h5>exception</h5>
323<p>return any errors or warnings in this structure.</p>
324
325 </div>
326<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="ConvolveImage">ConvolveImage</a></h2>
327<div class="doc-section">
328
329<p>ConvolveImage() applies a custom convolution kernel to the image.</p>
330
331<p>The format of the ConvolveImage method is:</p>
332
333<pre class="code">
334 Image *ConvolveImage(const Image *image,const size_t order,
335 const double *kernel,ExceptionInfo *exception)
336 Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
337 const size_t order,const double *kernel,ExceptionInfo *exception)
338</pre>
339
340<p>A description of each parameter follows:</p>
341
342<h5>image</h5>
343<p>the image.</p>
344
345<h5>channel</h5>
346<p>the channel type.</p>
347
348<h5>order</h5>
349<p>the number of columns and rows in the filter kernel.</p>
350
351<h5>kernel</h5>
352<p>An array of double representing the convolution kernel.</p>
353
354<h5>exception</h5>
355<p>return any errors or warnings in this structure.</p>
356
357 </div>
358<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="DespeckleImage">DespeckleImage</a></h2>
359<div class="doc-section">
360
cristyeed6cb62012-01-28 19:38:34 +0000361<p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image. A speckle removing filter uses a complementary hulling technique (raising pixels that are darker than their surrounding neighbors, then complementarily lowering pixels that are brighter than their surrounding neighbors) to reduce the speckle index of that image (reference Crimmins speckle removal).</p>
cristy20398432011-08-11 01:31:50 +0000362
363<p>The format of the DespeckleImage method is:</p>
364
365<pre class="code">
366 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
367</pre>
368
369<p>A description of each parameter follows:</p>
370
371<h5>image</h5>
372<p>the image.</p>
373
374<h5>exception</h5>
375<p>return any errors or warnings in this structure.</p>
376
377 </div>
378<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="EdgeImage">EdgeImage</a></h2>
379<div class="doc-section">
380
381<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>
382
383<p>The format of the EdgeImage method is:</p>
384
385<pre class="code">
386 Image *EdgeImage(const Image *image,const double radius,
387 ExceptionInfo *exception)
388</pre>
389
390<p>A description of each parameter follows:</p>
391
392<h5>image</h5>
393<p>the image.</p>
394
395<h5>radius</h5>
396<p>the radius of the pixel neighborhood.</p>
397
398<h5>exception</h5>
399<p>return any errors or warnings in this structure.</p>
400
401 </div>
402<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="EmbossImage">EmbossImage</a></h2>
403<div class="doc-section">
404
405<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>
406
407<p>The format of the EmbossImage method is:</p>
408
409<pre class="code">
410 Image *EmbossImage(const Image *image,const double radius,
411 const double sigma,ExceptionInfo *exception)
412</pre>
413
414<p>A description of each parameter follows:</p>
415
416<h5>image</h5>
417<p>the image.</p>
418
419<h5>radius</h5>
420<p>the radius of the pixel neighborhood.</p>
421
422<h5>sigma</h5>
423<p>the standard deviation of the Gaussian, in pixels.</p>
424
425<h5>exception</h5>
426<p>return any errors or warnings in this structure.</p>
427
428 </div>
429<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="FilterImage">FilterImage</a></h2>
430<div class="doc-section">
431
432<p>FilterImage() applies a custom convolution kernel to the image.</p>
433
434<p>The format of the FilterImage method is:</p>
435
436<pre class="code">
437 Image *FilterImage(const Image *image,const KernelInfo *kernel,
438 ExceptionInfo *exception)
439 Image *FilterImageChannel(const Image *image,const ChannelType channel,
440 const KernelInfo *kernel,ExceptionInfo *exception)
441</pre>
442
443<p>A description of each parameter follows:</p>
444
445<h5>image</h5>
446<p>the image.</p>
447
448<h5>channel</h5>
449<p>the channel type.</p>
450
451<h5>kernel</h5>
452<p>the filtering kernel.</p>
453
454<h5>exception</h5>
455<p>return any errors or warnings in this structure.</p>
456
457 </div>
458<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="GaussianBlurImage">GaussianBlurImage</a></h2>
459<div class="doc-section">
460
461<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>
462
463<p>The format of the GaussianBlurImage method is:</p>
464
465<pre class="code">
466 Image *GaussianBlurImage(const Image *image,onst double radius,
467 const double sigma,ExceptionInfo *exception)
468 Image *GaussianBlurImageChannel(const Image *image,
469 const ChannelType channel,const double radius,const double sigma,
470 ExceptionInfo *exception)
471</pre>
472
473<p>A description of each parameter follows:</p>
474
475<h5>image</h5>
476<p>the image.</p>
477
478<h5>channel</h5>
479<p>the channel type.</p>
480
481<h5>radius</h5>
482<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
483
484<h5>sigma</h5>
485<p>the standard deviation of the Gaussian, in pixels.</p>
486
487<h5>exception</h5>
488<p>return any errors or warnings in this structure.</p>
489
490 </div>
491<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="MotionBlurImage">MotionBlurImage</a></h2>
492<div class="doc-section">
493
494<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>
495
496<p>Andrew Protano contributed this effect.</p>
497
498<p>The format of the MotionBlurImage method is:</p>
499
500<pre class="code">
501 Image *MotionBlurImage(const Image *image,const double radius,
502 const double sigma,const double angle,ExceptionInfo *exception)
503 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
504 const double radius,const double sigma,const double angle,
505 ExceptionInfo *exception)
506</pre>
507
508<p>A description of each parameter follows:</p>
509
510<h5>image</h5>
511<p>the image.</p>
512
513<h5>channel</h5>
514<p>the channel type.</p>
515
516<h5>radius</h5>
cristy20398432011-08-11 01:31:50 +0000517<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
518
519<h5>sigma</h5>
520<p>the standard deviation of the Gaussian, in pixels.</p>
521
522<h5>angle</h5>
523<p>Apply the effect along this angle.</p>
524
525<h5>exception</h5>
526<p>return any errors or warnings in this structure.</p>
527
528 </div>
529<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="PreviewImage">PreviewImage</a></h2>
530<div class="doc-section">
531
532<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>
533
534<p>The format of the PreviewImages method is:</p>
535
536<pre class="code">
537 Image *PreviewImages(const Image *image,const PreviewType preview,
538 ExceptionInfo *exception)
539</pre>
540
541<p>A description of each parameter follows:</p>
542
543<h5>image</h5>
544<p>the image.</p>
545
546<h5>preview</h5>
547<p>the image processing operation.</p>
548
549<h5>exception</h5>
550<p>return any errors or warnings in this structure.</p>
551
552 </div>
553<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="RadialBlurImage">RadialBlurImage</a></h2>
554<div class="doc-section">
555
556<p>RadialBlurImage() applies a radial blur to the image.</p>
557
558<p>Andrew Protano contributed this effect.</p>
559
560<p>The format of the RadialBlurImage method is:</p>
561
562<pre class="code">
563 Image *RadialBlurImage(const Image *image,const double angle,
564 ExceptionInfo *exception)
565 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
566 const double angle,ExceptionInfo *exception)
567</pre>
568
569<p>A description of each parameter follows:</p>
570
571<h5>image</h5>
572<p>the image.</p>
573
574<h5>channel</h5>
575<p>the channel type.</p>
576
577<h5>angle</h5>
578<p>the angle of the radial blur.</p>
579
580<h5>exception</h5>
581<p>return any errors or warnings in this structure.</p>
582
583 </div>
584<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="SelectiveBlurImage">SelectiveBlurImage</a></h2>
585<div class="doc-section">
586
587<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>
588
589<p>The format of the SelectiveBlurImage method is:</p>
590
591<pre class="code">
592 Image *SelectiveBlurImage(const Image *image,const double radius,
593 const double sigma,const double threshold,ExceptionInfo *exception)
594 Image *SelectiveBlurImageChannel(const Image *image,
595 const ChannelType channel,const double radius,const double sigma,
596 const double threshold,ExceptionInfo *exception)
597</pre>
598
599<p>A description of each parameter follows:</p>
600
601<h5>image</h5>
602<p>the image.</p>
603
604<h5>channel</h5>
605<p>the channel type.</p>
606
607<h5>radius</h5>
608<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
609
610<h5>sigma</h5>
611<p>the standard deviation of the Gaussian, in pixels.</p>
612
613<h5>threshold</h5>
614<p>only pixels within this contrast threshold are included in the blur operation.</p>
615
616<h5>exception</h5>
617<p>return any errors or warnings in this structure.</p>
618
619 </div>
620<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="ShadeImage">ShadeImage</a></h2>
621<div class="doc-section">
622
623<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>
624
625<p>The format of the ShadeImage method is:</p>
626
627<pre class="code">
628 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
629 const double azimuth,const double elevation,ExceptionInfo *exception)
630</pre>
631
632<p>A description of each parameter follows:</p>
633
634<h5>image</h5>
635<p>the image.</p>
636
637<h5>gray</h5>
638<p>A value other than zero shades the intensity of each pixel.</p>
639
640<h5>azimuth, elevation</h5>
641<p>Define the light source direction.</p>
642
643<h5>exception</h5>
644<p>return any errors or warnings in this structure.</p>
645
646 </div>
647<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="SharpenImage">SharpenImage</a></h2>
648<div class="doc-section">
649
650<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>
651
652<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>
653
654<p>The format of the SharpenImage method is:</p>
655
656<pre class="code">
657 Image *SharpenImage(const Image *image,const double radius,
658 const double sigma,ExceptionInfo *exception)
659 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
660 const double radius,const double sigma,ExceptionInfo *exception)
661</pre>
662
663<p>A description of each parameter follows:</p>
664
665<h5>image</h5>
666<p>the image.</p>
667
668<h5>channel</h5>
669<p>the channel type.</p>
670
671<h5>radius</h5>
672<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
673
674<h5>sigma</h5>
675<p>the standard deviation of the Laplacian, in pixels.</p>
676
677<h5>exception</h5>
678<p>return any errors or warnings in this structure.</p>
679
680 </div>
681<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="SpreadImage">SpreadImage</a></h2>
682<div class="doc-section">
683
684<p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p>
685
686<p>The format of the SpreadImage method is:</p>
687
688<pre class="code">
689 Image *SpreadImage(const Image *image,const double radius,
690 ExceptionInfo *exception)
691</pre>
692
693<p>A description of each parameter follows:</p>
694
695<h5>image</h5>
696<p>the image.</p>
697
698<h5>radius</h5>
699<p>Choose a random pixel in a neighborhood of this extent.</p>
700
701<h5>exception</h5>
702<p>return any errors or warnings in this structure.</p>
703
704 </div>
cristy20398432011-08-11 01:31:50 +0000705<h2><a href="http://www.imagemagick.org/api/MagickCore/effect_8c.html" id="UnsharpMaskImage">UnsharpMaskImage</a></h2>
706<div class="doc-section">
707
708<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>
709
710<p>The format of the UnsharpMaskImage method is:</p>
711
712<pre class="code">
713 Image *UnsharpMaskImage(const Image *image,const double radius,
714 const double sigma,const double amount,const double threshold,
715 ExceptionInfo *exception)
716 Image *UnsharpMaskImageChannel(const Image *image,
717 const ChannelType channel,const double radius,const double sigma,
cristy8ee7f242013-06-20 16:08:44 +0000718 const double gain,const double threshold,ExceptionInfo *exception)
cristy20398432011-08-11 01:31:50 +0000719</pre>
720
721<p>A description of each parameter follows:</p>
722
723<h5>image</h5>
724<p>the image.</p>
725
726<h5>channel</h5>
727<p>the channel type.</p>
728
729<h5>radius</h5>
730<p>the radius of the Gaussian, in pixels, not counting the center pixel.</p>
731
732<h5>sigma</h5>
733<p>the standard deviation of the Gaussian, in pixels.</p>
734
cristy8ee7f242013-06-20 16:08:44 +0000735<h5>gain</h5>
cristy20398432011-08-11 01:31:50 +0000736<p>the percentage of the difference between the original and the blur image that is added back into the original.</p>
737
738<h5>threshold</h5>
cristy8ee7f242013-06-20 16:08:44 +0000739<p>the threshold in pixels needed to apply the diffence gain.</p>
cristy20398432011-08-11 01:31:50 +0000740
741<h5>exception</h5>
742<p>return any errors or warnings in this structure.</p>
743
744 </div>
cristy06f63f22012-10-31 00:50:07 +0000745
746</div>
747
748<div id="linkbar">
cristyac1b4322013-07-28 13:58:06 +0000749 <span id="linkbar-west"> </span>
cristy8ee7f242013-06-20 16:08:44 +0000750
cristy06f63f22012-10-31 00:50:07 +0000751 <span id="linkbar-center">
cristy417eeb12013-07-28 18:48:22 +0000752 <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> &#8226;
753 <a href="../../discourse-server">Discourse Server</a> &#8226;
cristydba8f1d2013-07-28 13:49:24 +0000754 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a> &#8226;
cristy8ee7f242013-06-20 16:08:44 +0000755 <a href="http://jqmagick.imagemagick.org/">JqMagick</a>
cristy06f63f22012-10-31 00:50:07 +0000756 </span>
cristyac1b4322013-07-28 13:58:06 +0000757 <span id="linkbar-east"> </span>
cristy06f63f22012-10-31 00:50:07 +0000758 </div>
759 <div class="footer">
cristyac1b4322013-07-28 13:58:06 +0000760 <span id="footer-west">© 1999-2013 ImageMagick Studio LLC</span>
cristyd8833bf2013-02-24 22:14:53 +0000761 <span id="footer-east"> <a href="../../www/contact.html">Contact the Wizards</a></span>
cristy06f63f22012-10-31 00:50:07 +0000762 </div>
763 <div style="clear: both; margin: 0; width: 100%; "></div>
cristy06f63f22012-10-31 00:50:07 +0000764</body>
765</html>