blob: c4f7fb962bdbd66c8d0d41cdfd571f294142b1b2 [file] [log] [blame]
cristy2cc51bc2010-03-06 17:29:36 +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 http-equiv="Content-Type" value="application/xhtml+xml" />
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
8 <style type="text/css" media="screen,projection"><!--
9 @import url("../../www/magick.css");
10 --></style>
cristy3ed852e2009-09-05 21:47:34 +000011 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Add a Special Effect</title>
13 <meta http-equiv="Content-Language" content="en-US"/>
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16 <meta name="Generator" content="PHP"/>
17 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, add, a, special, effect, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
18 <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."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
cristy16af1cb2009-12-11 21:38:29 +000025 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000026 <meta name="Distribution" content="Global"/>
cristy2cc51bc2010-03-06 17:29:36 +000027</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
45<div class="eastbar">
46
cristy3ed852e2009-09-05 21:47:34 +000047<div class="menu">
48 <a href="../../index.html">About ImageMagick</a>
49</div>
cristy2cc51bc2010-03-06 17:29:36 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
52 <a href="../../www/command-line-tools.html">Command-line Tools</a>
53</div>
54<div class="sub">
55 <a href="../../www/command-line-processing.html">Processing</a>
56</div>
57<div class="sub">
58 <a href="../../www/command-line-options.html">Options</a>
59</div>
60<div class="sub">
61 <a href="http://www.imagemagick.org/Usage/">Usage</a>
62</div>
63<div class="menu">
64 <a href="../../www/api.html">Program Interfaces</a>
65</div>
66<div class="sub">
67 <a href="../../www/magick-wand.html">MagickWand</a>
68</div>
69<div class="sub">
70 <a href="../../www/magick-core.html">MagickCore</a>
71</div>
72<div class="sub">
73 <a href="../../www/perl-magick.html">PerlMagick</a>
74</div>
75<div class="sub">
76 <a href="../../Magick++/">Magick++</a>
77</div>
78<div class="menu">
79 <a href="../../www/architecture.html">Architecture</a>
80</div>
cristy2cc51bc2010-03-06 17:29:36 +000081<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000082<div class="menu">
83 <a href="../../www/install-source.html">Install from Source</a>
84</div>
85<div class="sub">
86 <a href="../../www/install-source.html#unix">Unix</a>
87</div>
88<div class="sub">
89 <a href="../../www/install-source.html#windows">Windows</a>
90 </div>
91<div class="menu">
92 <a href="../../www/binary-releases.html">Binary Releases</a>
93</div>
94<div class="sub">
95 <a href="../../www/binary-releases.html#unix">Unix</a>
96</div>
97<div class="sub">
98 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
99</div>
100<div class="sub">
101 <a href="../../www/binary-releases.html#windows">Windows</a>
102</div>
103<div class="menu">
104 <a href="../../www/resources.html">Resources</a>
105</div>
cristy2cc51bc2010-03-06 17:29:36 +0000106<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
108 <a href="../../www/download.html">Download</a>
109</div>
cristy2cc51bc2010-03-06 17:29:36 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
112 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
113</div>
cristy2cc51bc2010-03-06 17:29:36 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
116 <a href="../../www/sitemap.html">Site Map</a>
117</div>
118<div class="sub">
119 <a href="../../www/links.html">Links</a>
120</div>
cristy2cc51bc2010-03-06 17:29:36 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
123 <a href="../../www/sponsors.html">Sponsors:</a>
124
125<div class="sponsbox">
126<div class="sponsor">
cristy8f900122010-03-05 15:26:31 +0000127 <a href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
128</div>
129<div class="sponsor">
cristy1f9e1ed2009-11-18 04:09:38 +0000130 <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
131</div>
132<div class="sponsor">
cristycdbe2742010-02-07 19:30:44 +0000133 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
cristyb4c03bb2009-09-27 13:55:46 +0000134</div>
135<div class="sponsor">
cristy0f61e612009-11-10 20:03:57 +0000136 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
cristy916e1922009-10-01 12:52:47 +0000137</div>
138<div class="sponsor">
cristyb4c03bb2009-09-27 13:55:46 +0000139 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristyc49f7992009-09-22 22:48:40 +0000140</div>
141<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000142 <a href="http://www.goyax.de">Börse</a><!-- 201004010240 Gewiese digital-finance.de -->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
144<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000145 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000146</div>
cristy3ed852e2009-09-05 21:47:34 +0000147</div>
148</div>
cristy2cc51bc2010-03-06 17:29:36 +0000149
150
151</div>
152
153<div class="main">
154
cristy6b636652009-12-05 17:16:11 +0000155<p class="navigation-index">[<a href="#AddNoiseImage">AddNoiseImage</a> &bull; <a href="#BlueShiftImage">BlueShiftImage</a> &bull; <a href="#CharcoalImage">CharcoalImage</a> &bull; <a href="#ColorizeImage">ColorizeImage</a> &bull; <a href="#EvaluateImage">EvaluateImage</a> &bull; <a href="#FunctionImage">FunctionImage</a> &bull; <a href="#FxImage">FxImage</a> &bull; <a href="#ImplodeImage">ImplodeImage</a> &bull; <a href="#The MorphImages">The MorphImages</a> &bull; <a href="#PlasmaImage">PlasmaImage</a> &bull; <a href="#PolaroidImage">PolaroidImage</a> &bull; <a href="#RecolorImage">RecolorImage</a> &bull; <a href="#MagickSepiaToneImage">MagickSepiaToneImage</a> &bull; <a href="#ShadowImage">ShadowImage</a> &bull; <a href="#SketchImage">SketchImage</a> &bull; <a href="#SolarizeImage">SolarizeImage</a> &bull; <a href="#SteganoImage">SteganoImage</a> &bull; <a href="#StereoAnaglyphImage">StereoAnaglyphImage</a> &bull; <a href="#SwirlImage">SwirlImage</a> &bull; <a href="#TintImage">TintImage</a> &bull; <a href="#VignetteImage">VignetteImage</a> &bull; <a href="#WaveImage">WaveImage</a>]</p>
cristy3ed852e2009-09-05 21:47:34 +0000156
157<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
158_8c.html" target="source" name="AddNoiseImage">AddNoiseImage</a></h2>
159<div class="doc-section">
160
161<p>AddNoiseImage() adds random noise to the image.</p></ol>
162
163<p>The format of the AddNoiseImage method is:</p>
164
165<pre class="code">
166 Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
167 ExceptionInfo *exception)
168 Image *AddNoiseImageChannel(const Image *image,const ChannelType channel,
169 const NoiseType noise_type,ExceptionInfo *exception)
170</pre>
171
172<p>A description of each parameter follows:</p></ol>
173
174<h5>image</h5>
175<ol><p>the image.</p></ol>
176
177<h5>channel</h5>
178<ol><p>the channel type.</p></ol>
179
180<h5>noise_type</h5>
181<ol><p>The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.</p></ol>
182
183<h5>exception</h5>
184<ol><p>return any errors or warnings in this structure.</p></ol>
185
186 </div>
187<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
188_8c.html" target="source" name="BlueShiftImage">BlueShiftImage</a></h2>
189<div class="doc-section">
190
191<p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p></ol>
192
193<p>The format of the BlueShiftImage method is:</p>
194
195<pre class="code">
196 Image *BlueShiftImage(const Image *image,const double factor,
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>factor</h5>
206<ol><p>the shift factor.</p></ol>
207
208<h5>exception</h5>
209<ol><p>return any errors or warnings in this structure.</p></ol>
210
211 </div>
212<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
213_8c.html" target="source" name="CharcoalImage">CharcoalImage</a></h2>
214<div class="doc-section">
215
216<p>CharcoalImage() creates a new image that is a copy of an existing one with the edge highlighted. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p></ol>
217
218<p>The format of the CharcoalImage method is:</p>
219
220<pre class="code">
221 Image *CharcoalImage(const Image *image,const double radius,
222 const double sigma,ExceptionInfo *exception)
223</pre>
224
225<p>A description of each parameter follows:</p></ol>
226
227<h5>image</h5>
228<ol><p>the image.</p></ol>
229
230<h5>radius</h5>
231<ol><p>the radius of the pixel neighborhood.</p></ol>
232
233<h5>sigma</h5>
234<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
235
236<h5>exception</h5>
237<ol><p>return any errors or warnings in this structure.</p></ol>
238
239 </div>
240<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
241_8c.html" target="source" name="ColorizeImage">ColorizeImage</a></h2>
242<div class="doc-section">
243
244<p>ColorizeImage() blends the fill color with each pixel in the image. A percentage blend is specified with opacity. Control the application of different color components by specifying a different percentage for each component (e.g. 90/100/10 is 90 red, 100 green, and 10 blue).</p></ol>
245
246<p>The format of the ColorizeImage method is:</p>
247
248<pre class="code">
249 Image *ColorizeImage(const Image *image,const char *opacity,
250 const PixelPacket colorize,ExceptionInfo *exception)
251</pre>
252
253<p>A description of each parameter follows:</p></ol>
254
255<h5>image</h5>
256<ol><p>the image.</p></ol>
257
258<h5>opacity</h5>
259<ol><p>A character string indicating the level of opacity as a percentage.</p></ol>
260
261<h5>colorize</h5>
262<ol><p>A color value.</p></ol>
263
264<h5>exception</h5>
265<ol><p>return any errors or warnings in this structure.</p></ol>
266
267 </div>
268<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
cristy3ed852e2009-09-05 21:47:34 +0000269_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
270<div class="doc-section">
271
272<p>EvaluateImage() applies a value to the image with an arithmetic, relational, or logical operator to an image. Use these operations to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.</p></ol>
273
274<p>The format of the EvaluateImageChannel method is:</p>
275
276<pre class="code">
277 MagickBooleanType EvaluateImage(Image *image,
278 const MagickEvaluateOperator op,const double value,
279 ExceptionInfo *exception)
280 MagickBooleanType EvaluateImageChannel(Image *image,
281 const ChannelType channel,const MagickEvaluateOperator op,
282 const double value,ExceptionInfo *exception)
283</pre>
284
285<p>A description of each parameter follows:</p></ol>
286
287<h5>image</h5>
288<ol><p>the image.</p></ol>
289
290<h5>channel</h5>
291<ol><p>the channel.</p></ol>
292
293<h5>op</h5>
294<ol><p>A channel op.</p></ol>
295
296<h5>value</h5>
297<ol><p>A value value.</p></ol>
298
299<h5>exception</h5>
300<ol><p>return any errors or warnings in this structure.</p></ol>
301
302 </div>
303<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
304_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
305<div class="doc-section">
306
307<p>FunctionImage() applies a value to the image with an arithmetic, relational, or logical operator to an image. Use these operations to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.</p></ol>
308
309<p>The format of the FunctionImageChannel method is:</p>
310
311<pre class="code">
312 MagickBooleanType FunctionImage(Image *image,
313 const MagickFunction function,const long number_parameters,
314 const double *parameters,ExceptionInfo *exception)
315 MagickBooleanType FunctionImageChannel(Image *image,
316 const ChannelType channel,const MagickFunction function,
317 const long number_parameters,const double *argument,
318 ExceptionInfo *exception)
319</pre>
320
321<p>A description of each parameter follows:</p></ol>
322
323<h5>image</h5>
324<ol><p>the image.</p></ol>
325
326<h5>channel</h5>
327<ol><p>the channel.</p></ol>
328
329<h5>function</h5>
330<ol><p>A channel function.</p></ol>
331
332<h5>parameters</h5>
333<ol><p>one or more parameters.</p></ol>
334
335<h5>exception</h5>
336<ol><p>return any errors or warnings in this structure.</p></ol>
337
338 </div>
339<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
340_8c.html" target="source" name="FxImage">FxImage</a></h2>
341<div class="doc-section">
342
343<p>FxImage() applies a mathematical expression to the specified image.</p></ol>
344
345<p>The format of the FxImage method is:</p>
346
347<pre class="code">
348 Image *FxImage(const Image *image,const char *expression,
349 ExceptionInfo *exception)
350 Image *FxImageChannel(const Image *image,const ChannelType channel,
351 const char *expression,ExceptionInfo *exception)
352</pre>
353
354<p>A description of each parameter follows:</p></ol>
355
356<h5>image</h5>
357<ol><p>the image.</p></ol>
358
359<h5>channel</h5>
360<ol><p>the channel.</p></ol>
361
362<h5>expression</h5>
363<ol><p>A mathematical expression.</p></ol>
364
365<h5>exception</h5>
366<ol><p>return any errors or warnings in this structure.</p></ol>
367
368 </div>
369<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
370_8c.html" target="source" name="ImplodeImage">ImplodeImage</a></h2>
371<div class="doc-section">
372
373<p>ImplodeImage() creates a new image that is a copy of an existing one with the image pixels "implode" by the specified percentage. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p></ol>
374
375<p>The format of the ImplodeImage method is:</p>
376
377<pre class="code">
378 Image *ImplodeImage(const Image *image,const double amount,
379 ExceptionInfo *exception)
380</pre>
381
382<p>A description of each parameter follows:</p></ol>
383
384<h5>implode_image</h5>
385<ol><p>Method ImplodeImage returns a pointer to the image after it is implode. A null image is returned if there is a memory shortage.</p></ol>
386
387<h5>image</h5>
388<ol><p>the image.</p></ol>
389
390<h5>amount</h5>
391<ol><p>Define the extent of the implosion.</p></ol>
392
393<h5>exception</h5>
394<ol><p>return any errors or warnings in this structure.</p></ol>
395
396 </div>
397<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
398_8c.html" target="source" name="The MorphImages">The MorphImages</a></h2>
399<div class="doc-section">
400
401<p>The MorphImages() method requires a minimum of two images. The first image is transformed into the second by a number of intervening images as specified by frames.</p></ol>
402
403<p>The format of the MorphImage method is:</p>
404
405<pre class="code">
406 Image *MorphImages(const Image *image,const unsigned long number_frames,
407 ExceptionInfo *exception)
408</pre>
409
410<p>A description of each parameter follows:</p></ol>
411
412<h5>image</h5>
413<ol><p>the image.</p></ol>
414
415<h5>number_frames</h5>
416<ol><p>Define the number of in-between image to generate. The more in-between frames, the smoother the morph.</p></ol>
417
418<h5>exception</h5>
419<ol><p>return any errors or warnings in this structure.</p></ol>
420
421 </div>
422<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
423_8c.html" target="source" name="PlasmaImage">PlasmaImage</a></h2>
424<div class="doc-section">
425
426<p>PlasmaImage() initializes an image with plasma fractal values. The image must be initialized with a base color and the random number generator seeded before this method is called.</p></ol>
427
428<p>The format of the PlasmaImage method is:</p>
429
430<pre class="code">
431 MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
432 unsigned long attenuate,unsigned long depth)
433</pre>
434
435<p>A description of each parameter follows:</p></ol>
436
437<h5>image</h5>
438<ol><p>the image.</p></ol>
439
440<h5>segment</h5>
441<ol><p> Define the region to apply plasma fractals values.</p></ol>
442
443<h5>attenuate</h5>
444<ol><p>Define the plasmattenuation factor.</p></ol>
445
446<h5>depth</h5>
447<ol><p>Limit the plasma recursion depth.</p></ol>
448
449 </div>
450<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
451_8c.html" target="source" name="PolaroidImage">PolaroidImage</a></h2>
452<div class="doc-section">
453
454<p>PolaroidImage() simulates a Polaroid picture.</p></ol>
455
456<p>The format of the AnnotateImage method is:</p>
457
458<pre class="code">
459 Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
460 const double angle,ExceptionInfo exception)
461</pre>
462
463<p>A description of each parameter follows:</p></ol>
464
465<h5>image</h5>
466<ol><p>the image.</p></ol>
467
468<h5>draw_info</h5>
469<ol><p>the draw info.</p></ol>
470
471<h5>angle</h5>
472<ol><p>Apply the effect along this angle.</p></ol>
473
474<h5>exception</h5>
475<ol><p>return any errors or warnings in this structure.</p></ol>
476
477 </div>
478<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
479_8c.html" target="source" name="RecolorImage">RecolorImage</a></h2>
480<div class="doc-section">
481
482<p>RecolorImage() translate, scale, shear, or rotate image colors. Although you can use variable sized matrices, typically you use a 5 x 5 for an RGBA image and a 6x6 for CMYKA. Populate the last row with normalized values to translate.</p></ol>
483
484<p>The format of the RecolorImage method is:</p>
485
486<pre class="code">
487 Image *RecolorImage(const Image *image,const unsigned long order,
488 const double *color_matrix,ExceptionInfo *exception)
489</pre>
490
491<p>A description of each parameter follows:</p></ol>
492
493<h5>image</h5>
494<ol><p>the image.</p></ol>
495
496<h5>order</h5>
497<ol><p>the number of columns and rows in the recolor matrix.</p></ol>
498
499<h5>color_matrix</h5>
500<ol><p>An array of double representing the recolor matrix.</p></ol>
501
502<h5>exception</h5>
503<ol><p>return any errors or warnings in this structure.</p></ol>
504
505 </div>
506<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
507_8c.html" target="source" name="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
508<div class="doc-section">
509
510<p>MagickSepiaToneImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the sepia toning. A threshold of 80 is a good starting point for a reasonable tone.</p></ol>
511
512<p>The format of the SepiaToneImage method is:</p>
513
514<pre class="code">
515 Image *SepiaToneImage(const Image *image,const double threshold,
516 ExceptionInfo *exception)
517</pre>
518
519<p>A description of each parameter follows:</p></ol>
520
521<h5>image</h5>
522<ol><p>the image.</p></ol>
523
524<h5>threshold</h5>
525<ol><p>the tone threshold.</p></ol>
526
527<h5>exception</h5>
528<ol><p>return any errors or warnings in this structure.</p></ol>
529
530 </div>
531<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
532_8c.html" target="source" name="ShadowImage">ShadowImage</a></h2>
533<div class="doc-section">
534
535<p>ShadowImage() simulates a shadow from the specified image and returns it.</p></ol>
536
537<p>The format of the ShadowImage method is:</p>
538
539<pre class="code">
540 Image *ShadowImage(const Image *image,const double opacity,
541 const double sigma,const long x_offset,const long y_offset,
542 ExceptionInfo *exception)
543</pre>
544
545<p>A description of each parameter follows:</p></ol>
546
547<h5>image</h5>
548<ol><p>the image.</p></ol>
549
550<h5>opacity</h5>
551<ol><p>percentage transparency.</p></ol>
552
553<h5>sigma</h5>
554<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
555
556<h5>x_offset</h5>
557<ol><p>the shadow x-offset.</p></ol>
558
559<h5>y_offset</h5>
560<ol><p>the shadow y-offset.</p></ol>
561
562<h5>exception</h5>
563<ol><p>return any errors or warnings in this structure.</p></ol>
564
565 </div>
566<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
567_8c.html" target="source" name="SketchImage">SketchImage</a></h2>
568<div class="doc-section">
569
570<p>SketchImage() simulates a pencil sketch. 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 SketchImage() selects a suitable radius for you. Angle gives the angle of the sketch.</p></ol>
571
572<p>The format of the SketchImage method is:</p>
573
574<pre class="code">
575 Image *SketchImage(const Image *image,const double radius,
576 const double sigma,const double angle,ExceptionInfo *exception)
577</pre>
578
579<p>A description of each parameter follows:</p></ol>
580
581<h5>image</h5>
582<ol><p>the image.</p></ol>
583
584<h5>radius</h5>
585<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
586
587<h5>sigma</h5>
588<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
589
590<h5>angle</h5>
591<ol><p>Apply the effect along this angle.</p></ol>
592
593<h5>exception</h5>
594<ol><p>return any errors or warnings in this structure.</p></ol>
595
596 </div>
597<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
598_8c.html" target="source" name="SolarizeImage">SolarizeImage</a></h2>
599<div class="doc-section">
600
601<p>SolarizeImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.</p></ol>
602
603<p>The format of the SolarizeImage method is:</p>
604
605<pre class="code">
606 MagickBooleanType SolarizeImage(Image *image,const double threshold)
607</pre>
608
609<p>A description of each parameter follows:</p></ol>
610
611<h5>image</h5>
612<ol><p>the image.</p></ol>
613
614<h5>threshold</h5>
615<ol><p>Define the extent of the solarization.</p></ol>
616
617 </div>
618<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
619_8c.html" target="source" name="SteganoImage">SteganoImage</a></h2>
620<div class="doc-section">
621
622<p>SteganoImage() hides a digital watermark within the image. Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.</p></ol>
623
624<p>The format of the SteganoImage method is:</p>
625
626<pre class="code">
627 Image *SteganoImage(const Image *image,Image *watermark,
628 ExceptionInfo *exception)
629</pre>
630
631<p>A description of each parameter follows:</p></ol>
632
633<h5>image</h5>
634<ol><p>the image.</p></ol>
635
636<h5>watermark</h5>
637<ol><p>the watermark image.</p></ol>
638
639<h5>exception</h5>
640<ol><p>return any errors or warnings in this structure.</p></ol>
641
642 </div>
643<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
644_8c.html" target="source" name="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
645<div class="doc-section">
646
647<p>StereoAnaglyphImage() combines two images and produces a single image that is the composite of a left and right image of a stereo pair. Special red-green stereo glasses are required to view this effect.</p></ol>
648
649<p>The format of the StereoAnaglyphImage method is:</p>
650
651<pre class="code">
652 Image *StereoImage(const Image *left_image,const Image *right_image,
653 ExceptionInfo *exception)
654 Image *StereoAnaglyphImage(const Image *left_image,
655 const Image *right_image,const long x_offset,const long y_offset,
656 ExceptionInfo *exception)
657</pre>
658
659<p>A description of each parameter follows:</p></ol>
660
661<h5>left_image</h5>
662<ol><p>the left image.</p></ol>
663
664<h5>right_image</h5>
665<ol><p>the right image.</p></ol>
666
667<h5>exception</h5>
668<ol><p>return any errors or warnings in this structure.</p></ol>
669
670<h5>x_offset</h5>
671<ol><p>amount, in pixels, by which the left image is offset to the right of the right image.</p></ol>
672
673<h5>y_offset</h5>
674<ol><p>amount, in pixels, by which the left image is offset to the bottom of the right image.</p></ol>
675
676
677 </div>
678<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
679_8c.html" target="source" name="SwirlImage">SwirlImage</a></h2>
680<div class="doc-section">
681
682<p>SwirlImage() swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.</p></ol>
683
684<p>The format of the SwirlImage method is:</p>
685
686<pre class="code">
687 Image *SwirlImage(const Image *image,double degrees,
688 ExceptionInfo *exception)
689</pre>
690
691<p>A description of each parameter follows:</p></ol>
692
693<h5>image</h5>
694<ol><p>the image.</p></ol>
695
696<h5>degrees</h5>
697<ol><p>Define the tightness of the swirling effect.</p></ol>
698
699<h5>exception</h5>
700<ol><p>return any errors or warnings in this structure.</p></ol>
701
702 </div>
703<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
704_8c.html" target="source" name="TintImage">TintImage</a></h2>
705<div class="doc-section">
706
707<p>TintImage() applies a color vector to each pixel in the image. The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighting function is f(x)=(1-(4.0*((x-0.5)*(x-0.5))))</p></ol>
708
709<p>The format of the TintImage method is:</p>
710
711<pre class="code">
712 Image *TintImage(const Image *image,const char *opacity,
713 const PixelPacket tint,ExceptionInfo *exception)
714</pre>
715
716<p>A description of each parameter follows:</p></ol>
717
718<h5>image</h5>
719<ol><p>the image.</p></ol>
720
721<h5>opacity</h5>
722<ol><p>A color value used for tinting.</p></ol>
723
724<h5>tint</h5>
725<ol><p>A color value used for tinting.</p></ol>
726
727<h5>exception</h5>
728<ol><p>return any errors or warnings in this structure.</p></ol>
729
730 </div>
731<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
732_8c.html" target="source" name="VignetteImage">VignetteImage</a></h2>
733<div class="doc-section">
734
735<p>VignetteImage() softens the edges of the image in vignette style.</p></ol>
736
737<p>The format of the VignetteImage method is:</p>
738
739<pre class="code">
740 Image *VignetteImage(const Image *image,const double radius,
741 const double sigma,const long x,const long y,ExceptionInfo *exception)
742</pre>
743
744<p>A description of each parameter follows:</p></ol>
745
746<h5>image</h5>
747<ol><p>the image.</p></ol>
748
749<h5>radius</h5>
750<ol><p>the radius of the pixel neighborhood.</p></ol>
751
752<h5>sigma</h5>
753<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
754
755<h5>x, y</h5>
756<ol><p>Define the x and y ellipse offset.</p></ol>
757
758<h5>exception</h5>
759<ol><p>return any errors or warnings in this structure.</p></ol>
760
761 </div>
762<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
763_8c.html" target="source" name="WaveImage">WaveImage</a></h2>
764<div class="doc-section">
765
766<p>WaveImage() creates a "ripple" effect in the image by shifting the pixels vertically along a sine wave whose amplitude and wavelength is specified by the given parameters.</p></ol>
767
768<p>The format of the WaveImage method is:</p>
769
770<pre class="code">
771 Image *WaveImage(const Image *image,const double amplitude,
772 const double wave_length,ExceptionInfo *exception)
773</pre>
774
775<p>A description of each parameter follows:</p></ol>
776
777<h5>image</h5>
778<ol><p>the image.</p></ol>
779
780<h5>amplitude, wave_length</h5>
781<ol><p>Define the amplitude and wave length of the sine wave.</p></ol>
782
783<h5>exception</h5>
784<ol><p>return any errors or warnings in this structure.</p></ol>
785
786 </div>
cristy2cc51bc2010-03-06 17:29:36 +0000787
788</div>
789
790<div id="linkbar">
791 <!-- <span id="linkbar-west">&nbsp;</span> -->
792 <span id="linkbar-center">
793 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
794 <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
795 </span>
796 <span id="linkbar-east">&nbsp;</span>
797 </div>
798 <div class="footer">
799 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
800 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
801 </div>
802 <div style="clear: both; margin: 0; width: 100%; "></div>
803</body>
804</html>