blob: a67a10bf3380bd7c220fc1fa27f021729393d413 [file] [log] [blame]
cristyf3bb4782009-09-08 13:10:04 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
cristy1f9e1ed2009-11-18 04:09:38 +00005 <meta http-equiv="Content-Type" value="application/xhtml+xml" />
cristyf3bb4782009-09-08 13:10:04 +00006 <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"/>
25 <meta name="Copyright" content="Copyright (c) 1999-2009 ImageMagick Studio LLC"/>
26 <meta name="Distribution" content="Global"/>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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">
cristy5f2356f2009-11-16 00:40:46 +0000127 <a href="http://www.abi-stoff.de/abizeitung/" title="Abibuch">Abizeitung</a><!-- 20101101000200 -->
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">
cristy0f61e612009-11-10 20:03:57 +0000133 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201004010120 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">
cristyf3bb4782009-09-08 13:10:04 +0000142 <a href="http://www.goyax.de">Börse</a><!-- 201001000240 Gewiese digital-finance.de -->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
144<div class="sponsor">
145 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
146</div>
147<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000148 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
149</div>
cristy3ed852e2009-09-05 21:47:34 +0000150</div>
151</div>
cristyf3bb4782009-09-08 13:10:04 +0000152
153
154</div>
155
156<div class="main">
157
cristy3ed852e2009-09-05 21:47:34 +0000158<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="#ConvolveImage">ConvolveImage</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>
159
160<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
161_8c.html" target="source" name="AddNoiseImage">AddNoiseImage</a></h2>
162<div class="doc-section">
163
164<p>AddNoiseImage() adds random noise to the image.</p></ol>
165
166<p>The format of the AddNoiseImage method is:</p>
167
168<pre class="code">
169 Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
170 ExceptionInfo *exception)
171 Image *AddNoiseImageChannel(const Image *image,const ChannelType channel,
172 const NoiseType noise_type,ExceptionInfo *exception)
173</pre>
174
175<p>A description of each parameter follows:</p></ol>
176
177<h5>image</h5>
178<ol><p>the image.</p></ol>
179
180<h5>channel</h5>
181<ol><p>the channel type.</p></ol>
182
183<h5>noise_type</h5>
184<ol><p>The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.</p></ol>
185
186<h5>exception</h5>
187<ol><p>return any errors or warnings in this structure.</p></ol>
188
189 </div>
190<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
191_8c.html" target="source" name="BlueShiftImage">BlueShiftImage</a></h2>
192<div class="doc-section">
193
194<p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p></ol>
195
196<p>The format of the BlueShiftImage method is:</p>
197
198<pre class="code">
199 Image *BlueShiftImage(const Image *image,const double factor,
200 ExceptionInfo *exception)
201</pre>
202
203<p>A description of each parameter follows:</p></ol>
204
205<h5>image</h5>
206<ol><p>the image.</p></ol>
207
208<h5>factor</h5>
209<ol><p>the shift factor.</p></ol>
210
211<h5>exception</h5>
212<ol><p>return any errors or warnings in this structure.</p></ol>
213
214 </div>
215<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
216_8c.html" target="source" name="CharcoalImage">CharcoalImage</a></h2>
217<div class="doc-section">
218
219<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>
220
221<p>The format of the CharcoalImage method is:</p>
222
223<pre class="code">
224 Image *CharcoalImage(const Image *image,const double radius,
225 const double sigma,ExceptionInfo *exception)
226</pre>
227
228<p>A description of each parameter follows:</p></ol>
229
230<h5>image</h5>
231<ol><p>the image.</p></ol>
232
233<h5>radius</h5>
234<ol><p>the radius of the pixel neighborhood.</p></ol>
235
236<h5>sigma</h5>
237<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
238
239<h5>exception</h5>
240<ol><p>return any errors or warnings in this structure.</p></ol>
241
242 </div>
243<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
244_8c.html" target="source" name="ColorizeImage">ColorizeImage</a></h2>
245<div class="doc-section">
246
247<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>
248
249<p>The format of the ColorizeImage method is:</p>
250
251<pre class="code">
252 Image *ColorizeImage(const Image *image,const char *opacity,
253 const PixelPacket colorize,ExceptionInfo *exception)
254</pre>
255
256<p>A description of each parameter follows:</p></ol>
257
258<h5>image</h5>
259<ol><p>the image.</p></ol>
260
261<h5>opacity</h5>
262<ol><p>A character string indicating the level of opacity as a percentage.</p></ol>
263
264<h5>colorize</h5>
265<ol><p>A color value.</p></ol>
266
267<h5>exception</h5>
268<ol><p>return any errors or warnings in this structure.</p></ol>
269
270 </div>
271<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
272_8c.html" target="source" name="ConvolveImage">ConvolveImage</a></h2>
273<div class="doc-section">
274
275<p>ConvolveImage() applies a custom convolution kernel to the image.</p></ol>
276
277<p>The format of the ConvolveImage method is:</p>
278
279<pre class="code">
280 Image *ConvolveImage(const Image *image,const unsigned long order,
281 const double *kernel,ExceptionInfo *exception)
282 Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
283 const unsigned long order,const double *kernel,
284 ExceptionInfo *exception)
285</pre>
286
287<p>A description of each parameter follows:</p></ol>
288
289<h5>image</h5>
290<ol><p>the image.</p></ol>
291
292<h5>channel</h5>
293<ol><p>the channel type.</p></ol>
294
295<h5>order</h5>
296<ol><p>the number of columns and rows in the filter kernel.</p></ol>
297
298<h5>kernel</h5>
299<ol><p>An array of double representing the convolution kernel.</p></ol>
300
301<h5>exception</h5>
302<ol><p>return any errors or warnings in this structure.</p></ol>
303
304 </div>
305<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
306_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
307<div class="doc-section">
308
309<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>
310
311<p>The format of the EvaluateImageChannel method is:</p>
312
313<pre class="code">
314 MagickBooleanType EvaluateImage(Image *image,
315 const MagickEvaluateOperator op,const double value,
316 ExceptionInfo *exception)
317 MagickBooleanType EvaluateImageChannel(Image *image,
318 const ChannelType channel,const MagickEvaluateOperator op,
319 const double value,ExceptionInfo *exception)
320</pre>
321
322<p>A description of each parameter follows:</p></ol>
323
324<h5>image</h5>
325<ol><p>the image.</p></ol>
326
327<h5>channel</h5>
328<ol><p>the channel.</p></ol>
329
330<h5>op</h5>
331<ol><p>A channel op.</p></ol>
332
333<h5>value</h5>
334<ol><p>A value value.</p></ol>
335
336<h5>exception</h5>
337<ol><p>return any errors or warnings in this structure.</p></ol>
338
339 </div>
340<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
341_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
342<div class="doc-section">
343
344<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>
345
346<p>The format of the FunctionImageChannel method is:</p>
347
348<pre class="code">
349 MagickBooleanType FunctionImage(Image *image,
350 const MagickFunction function,const long number_parameters,
351 const double *parameters,ExceptionInfo *exception)
352 MagickBooleanType FunctionImageChannel(Image *image,
353 const ChannelType channel,const MagickFunction function,
354 const long number_parameters,const double *argument,
355 ExceptionInfo *exception)
356</pre>
357
358<p>A description of each parameter follows:</p></ol>
359
360<h5>image</h5>
361<ol><p>the image.</p></ol>
362
363<h5>channel</h5>
364<ol><p>the channel.</p></ol>
365
366<h5>function</h5>
367<ol><p>A channel function.</p></ol>
368
369<h5>parameters</h5>
370<ol><p>one or more parameters.</p></ol>
371
372<h5>exception</h5>
373<ol><p>return any errors or warnings in this structure.</p></ol>
374
375 </div>
376<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
377_8c.html" target="source" name="FxImage">FxImage</a></h2>
378<div class="doc-section">
379
380<p>FxImage() applies a mathematical expression to the specified image.</p></ol>
381
382<p>The format of the FxImage method is:</p>
383
384<pre class="code">
385 Image *FxImage(const Image *image,const char *expression,
386 ExceptionInfo *exception)
387 Image *FxImageChannel(const Image *image,const ChannelType channel,
388 const char *expression,ExceptionInfo *exception)
389</pre>
390
391<p>A description of each parameter follows:</p></ol>
392
393<h5>image</h5>
394<ol><p>the image.</p></ol>
395
396<h5>channel</h5>
397<ol><p>the channel.</p></ol>
398
399<h5>expression</h5>
400<ol><p>A mathematical expression.</p></ol>
401
402<h5>exception</h5>
403<ol><p>return any errors or warnings in this structure.</p></ol>
404
405 </div>
406<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
407_8c.html" target="source" name="ImplodeImage">ImplodeImage</a></h2>
408<div class="doc-section">
409
410<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>
411
412<p>The format of the ImplodeImage method is:</p>
413
414<pre class="code">
415 Image *ImplodeImage(const Image *image,const double amount,
416 ExceptionInfo *exception)
417</pre>
418
419<p>A description of each parameter follows:</p></ol>
420
421<h5>implode_image</h5>
422<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>
423
424<h5>image</h5>
425<ol><p>the image.</p></ol>
426
427<h5>amount</h5>
428<ol><p>Define the extent of the implosion.</p></ol>
429
430<h5>exception</h5>
431<ol><p>return any errors or warnings in this structure.</p></ol>
432
433 </div>
434<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
435_8c.html" target="source" name="The MorphImages">The MorphImages</a></h2>
436<div class="doc-section">
437
438<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>
439
440<p>The format of the MorphImage method is:</p>
441
442<pre class="code">
443 Image *MorphImages(const Image *image,const unsigned long number_frames,
444 ExceptionInfo *exception)
445</pre>
446
447<p>A description of each parameter follows:</p></ol>
448
449<h5>image</h5>
450<ol><p>the image.</p></ol>
451
452<h5>number_frames</h5>
453<ol><p>Define the number of in-between image to generate. The more in-between frames, the smoother the morph.</p></ol>
454
455<h5>exception</h5>
456<ol><p>return any errors or warnings in this structure.</p></ol>
457
458 </div>
459<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
460_8c.html" target="source" name="PlasmaImage">PlasmaImage</a></h2>
461<div class="doc-section">
462
463<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>
464
465<p>The format of the PlasmaImage method is:</p>
466
467<pre class="code">
468 MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
469 unsigned long attenuate,unsigned long depth)
470</pre>
471
472<p>A description of each parameter follows:</p></ol>
473
474<h5>image</h5>
475<ol><p>the image.</p></ol>
476
477<h5>segment</h5>
478<ol><p> Define the region to apply plasma fractals values.</p></ol>
479
480<h5>attenuate</h5>
481<ol><p>Define the plasmattenuation factor.</p></ol>
482
483<h5>depth</h5>
484<ol><p>Limit the plasma recursion depth.</p></ol>
485
486 </div>
487<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
488_8c.html" target="source" name="PolaroidImage">PolaroidImage</a></h2>
489<div class="doc-section">
490
491<p>PolaroidImage() simulates a Polaroid picture.</p></ol>
492
493<p>The format of the AnnotateImage method is:</p>
494
495<pre class="code">
496 Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
497 const double angle,ExceptionInfo exception)
498</pre>
499
500<p>A description of each parameter follows:</p></ol>
501
502<h5>image</h5>
503<ol><p>the image.</p></ol>
504
505<h5>draw_info</h5>
506<ol><p>the draw info.</p></ol>
507
508<h5>angle</h5>
509<ol><p>Apply the effect along this angle.</p></ol>
510
511<h5>exception</h5>
512<ol><p>return any errors or warnings in this structure.</p></ol>
513
514 </div>
515<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
516_8c.html" target="source" name="RecolorImage">RecolorImage</a></h2>
517<div class="doc-section">
518
519<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>
520
521<p>The format of the RecolorImage method is:</p>
522
523<pre class="code">
524 Image *RecolorImage(const Image *image,const unsigned long order,
525 const double *color_matrix,ExceptionInfo *exception)
526</pre>
527
528<p>A description of each parameter follows:</p></ol>
529
530<h5>image</h5>
531<ol><p>the image.</p></ol>
532
533<h5>order</h5>
534<ol><p>the number of columns and rows in the recolor matrix.</p></ol>
535
536<h5>color_matrix</h5>
537<ol><p>An array of double representing the recolor matrix.</p></ol>
538
539<h5>exception</h5>
540<ol><p>return any errors or warnings in this structure.</p></ol>
541
542 </div>
543<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
544_8c.html" target="source" name="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
545<div class="doc-section">
546
547<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>
548
549<p>The format of the SepiaToneImage method is:</p>
550
551<pre class="code">
552 Image *SepiaToneImage(const Image *image,const double threshold,
553 ExceptionInfo *exception)
554</pre>
555
556<p>A description of each parameter follows:</p></ol>
557
558<h5>image</h5>
559<ol><p>the image.</p></ol>
560
561<h5>threshold</h5>
562<ol><p>the tone threshold.</p></ol>
563
564<h5>exception</h5>
565<ol><p>return any errors or warnings in this structure.</p></ol>
566
567 </div>
568<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
569_8c.html" target="source" name="ShadowImage">ShadowImage</a></h2>
570<div class="doc-section">
571
572<p>ShadowImage() simulates a shadow from the specified image and returns it.</p></ol>
573
574<p>The format of the ShadowImage method is:</p>
575
576<pre class="code">
577 Image *ShadowImage(const Image *image,const double opacity,
578 const double sigma,const long x_offset,const long y_offset,
579 ExceptionInfo *exception)
580</pre>
581
582<p>A description of each parameter follows:</p></ol>
583
584<h5>image</h5>
585<ol><p>the image.</p></ol>
586
587<h5>opacity</h5>
588<ol><p>percentage transparency.</p></ol>
589
590<h5>sigma</h5>
591<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
592
593<h5>x_offset</h5>
594<ol><p>the shadow x-offset.</p></ol>
595
596<h5>y_offset</h5>
597<ol><p>the shadow y-offset.</p></ol>
598
599<h5>exception</h5>
600<ol><p>return any errors or warnings in this structure.</p></ol>
601
602 </div>
603<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
604_8c.html" target="source" name="SketchImage">SketchImage</a></h2>
605<div class="doc-section">
606
607<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>
608
609<p>The format of the SketchImage method is:</p>
610
611<pre class="code">
612 Image *SketchImage(const Image *image,const double radius,
613 const double sigma,const double angle,ExceptionInfo *exception)
614</pre>
615
616<p>A description of each parameter follows:</p></ol>
617
618<h5>image</h5>
619<ol><p>the image.</p></ol>
620
621<h5>radius</h5>
622<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
623
624<h5>sigma</h5>
625<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
626
627<h5>angle</h5>
628<ol><p>Apply the effect along this angle.</p></ol>
629
630<h5>exception</h5>
631<ol><p>return any errors or warnings in this structure.</p></ol>
632
633 </div>
634<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
635_8c.html" target="source" name="SolarizeImage">SolarizeImage</a></h2>
636<div class="doc-section">
637
638<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>
639
640<p>The format of the SolarizeImage method is:</p>
641
642<pre class="code">
643 MagickBooleanType SolarizeImage(Image *image,const double threshold)
644</pre>
645
646<p>A description of each parameter follows:</p></ol>
647
648<h5>image</h5>
649<ol><p>the image.</p></ol>
650
651<h5>threshold</h5>
652<ol><p>Define the extent of the solarization.</p></ol>
653
654 </div>
655<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
656_8c.html" target="source" name="SteganoImage">SteganoImage</a></h2>
657<div class="doc-section">
658
659<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>
660
661<p>The format of the SteganoImage method is:</p>
662
663<pre class="code">
664 Image *SteganoImage(const Image *image,Image *watermark,
665 ExceptionInfo *exception)
666</pre>
667
668<p>A description of each parameter follows:</p></ol>
669
670<h5>image</h5>
671<ol><p>the image.</p></ol>
672
673<h5>watermark</h5>
674<ol><p>the watermark image.</p></ol>
675
676<h5>exception</h5>
677<ol><p>return any errors or warnings in this structure.</p></ol>
678
679 </div>
680<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
681_8c.html" target="source" name="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
682<div class="doc-section">
683
684<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>
685
686<p>The format of the StereoAnaglyphImage method is:</p>
687
688<pre class="code">
689 Image *StereoImage(const Image *left_image,const Image *right_image,
690 ExceptionInfo *exception)
691 Image *StereoAnaglyphImage(const Image *left_image,
692 const Image *right_image,const long x_offset,const long y_offset,
693 ExceptionInfo *exception)
694</pre>
695
696<p>A description of each parameter follows:</p></ol>
697
698<h5>left_image</h5>
699<ol><p>the left image.</p></ol>
700
701<h5>right_image</h5>
702<ol><p>the right image.</p></ol>
703
704<h5>exception</h5>
705<ol><p>return any errors or warnings in this structure.</p></ol>
706
707<h5>x_offset</h5>
708<ol><p>amount, in pixels, by which the left image is offset to the right of the right image.</p></ol>
709
710<h5>y_offset</h5>
711<ol><p>amount, in pixels, by which the left image is offset to the bottom of the right image.</p></ol>
712
713
714 </div>
715<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
716_8c.html" target="source" name="SwirlImage">SwirlImage</a></h2>
717<div class="doc-section">
718
719<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>
720
721<p>The format of the SwirlImage method is:</p>
722
723<pre class="code">
724 Image *SwirlImage(const Image *image,double degrees,
725 ExceptionInfo *exception)
726</pre>
727
728<p>A description of each parameter follows:</p></ol>
729
730<h5>image</h5>
731<ol><p>the image.</p></ol>
732
733<h5>degrees</h5>
734<ol><p>Define the tightness of the swirling effect.</p></ol>
735
736<h5>exception</h5>
737<ol><p>return any errors or warnings in this structure.</p></ol>
738
739 </div>
740<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
741_8c.html" target="source" name="TintImage">TintImage</a></h2>
742<div class="doc-section">
743
744<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>
745
746<p>The format of the TintImage method is:</p>
747
748<pre class="code">
749 Image *TintImage(const Image *image,const char *opacity,
750 const PixelPacket tint,ExceptionInfo *exception)
751</pre>
752
753<p>A description of each parameter follows:</p></ol>
754
755<h5>image</h5>
756<ol><p>the image.</p></ol>
757
758<h5>opacity</h5>
759<ol><p>A color value used for tinting.</p></ol>
760
761<h5>tint</h5>
762<ol><p>A color value used for tinting.</p></ol>
763
764<h5>exception</h5>
765<ol><p>return any errors or warnings in this structure.</p></ol>
766
767 </div>
768<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
769_8c.html" target="source" name="VignetteImage">VignetteImage</a></h2>
770<div class="doc-section">
771
772<p>VignetteImage() softens the edges of the image in vignette style.</p></ol>
773
774<p>The format of the VignetteImage method is:</p>
775
776<pre class="code">
777 Image *VignetteImage(const Image *image,const double radius,
778 const double sigma,const long x,const long y,ExceptionInfo *exception)
779</pre>
780
781<p>A description of each parameter follows:</p></ol>
782
783<h5>image</h5>
784<ol><p>the image.</p></ol>
785
786<h5>radius</h5>
787<ol><p>the radius of the pixel neighborhood.</p></ol>
788
789<h5>sigma</h5>
790<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
791
792<h5>x, y</h5>
793<ol><p>Define the x and y ellipse offset.</p></ol>
794
795<h5>exception</h5>
796<ol><p>return any errors or warnings in this structure.</p></ol>
797
798 </div>
799<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
800_8c.html" target="source" name="WaveImage">WaveImage</a></h2>
801<div class="doc-section">
802
803<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>
804
805<p>The format of the WaveImage method is:</p>
806
807<pre class="code">
808 Image *WaveImage(const Image *image,const double amplitude,
809 const double wave_length,ExceptionInfo *exception)
810</pre>
811
812<p>A description of each parameter follows:</p></ol>
813
814<h5>image</h5>
815<ol><p>the image.</p></ol>
816
817<h5>amplitude, wave_length</h5>
818<ol><p>Define the amplitude and wave length of the sine wave.</p></ol>
819
820<h5>exception</h5>
821<ol><p>return any errors or warnings in this structure.</p></ol>
822
823 </div>
cristyf3bb4782009-09-08 13:10:04 +0000824
825</div>
826
827<div id="linkbar">
828 <!-- <span id="linkbar-west">&nbsp;</span> -->
829 <span id="linkbar-center">
830 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
831 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
cristy1f9e1ed2009-11-18 04:09:38 +0000832 <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000833 </span>
834 <span id="linkbar-east">&nbsp;</span>
835 </div>
836 <div class="footer">
837 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
838 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
839 </div>
840 <div style="clear: both; margin: 0; width: 100%; "></div>
841</body>
842</html>