blob: ef8529c7be653138d969168cabdb627aeb890638 [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>
5 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
6 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
7 <style type="text/css" media="screen,projection"><!--
8 @import url("../../www/magick.css");
9 --></style>
cristy3ed852e2009-09-05 21:47:34 +000010 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
11 <title>ImageMagick: MagickCore, C API for ImageMagick: Add a Special Effect</title>
12 <meta http-equiv="Content-Language" content="en-US"/>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
15 <meta name="Generator" content="PHP"/>
16 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, add, a, special, effect, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
17 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
18 <meta name="Rating" content="GENERAL"/>
19 <meta name="Robots" content="INDEX, FOLLOW"/>
20 <meta name="Generator" content="ImageMagick Studio LLC"/>
21 <meta name="Author" content="ImageMagick Studio LLC"/>
22 <meta name="Revisit-after" content="2 DAYS"/>
23 <meta name="Resource-type" content="document"/>
24 <meta name="Copyright" content="Copyright (c) 1999-2009 ImageMagick Studio LLC"/>
25 <meta name="Distribution" content="Global"/>
cristyf3bb4782009-09-08 13:10:04 +000026</head>
27
28<body id="www-imagemagick-org">
29<div class="titlebar">
30<a href="../../index.html">
31 <img src="../../images/script.png" alt="[ImageMagick]"
32 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
33<a href="http://www.networkredux.com">
34 <img src="../../images/networkredux.png" alt="[sponsor]"
35 style="margin: 45px auto; border: 0px; float: left;" /></a>
36<a href="http://www.imagemagick.org/discourse-server/">
37 <img src="../../images/logo.jpg" alt=""
38 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
39<a href="../../index.html">
40 <img src="../../images/sprite.jpg" alt=""
41 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
42</div>
43
44<div class="eastbar">
45
cristy3ed852e2009-09-05 21:47:34 +000046<div class="menu">
47 <a href="../../index.html">About ImageMagick</a>
48</div>
cristyf3bb4782009-09-08 13:10:04 +000049<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000050<div class="menu">
51 <a href="../../www/command-line-tools.html">Command-line Tools</a>
52</div>
53<div class="sub">
54 <a href="../../www/command-line-processing.html">Processing</a>
55</div>
56<div class="sub">
57 <a href="../../www/command-line-options.html">Options</a>
58</div>
59<div class="sub">
60 <a href="http://www.imagemagick.org/Usage/">Usage</a>
61</div>
62<div class="menu">
63 <a href="../../www/api.html">Program Interfaces</a>
64</div>
65<div class="sub">
66 <a href="../../www/magick-wand.html">MagickWand</a>
67</div>
68<div class="sub">
69 <a href="../../www/magick-core.html">MagickCore</a>
70</div>
71<div class="sub">
72 <a href="../../www/perl-magick.html">PerlMagick</a>
73</div>
74<div class="sub">
75 <a href="../../Magick++/">Magick++</a>
76</div>
77<div class="menu">
78 <a href="../../www/architecture.html">Architecture</a>
79</div>
cristyf3bb4782009-09-08 13:10:04 +000080<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000081<div class="menu">
82 <a href="../../www/install-source.html">Install from Source</a>
83</div>
84<div class="sub">
85 <a href="../../www/install-source.html#unix">Unix</a>
86</div>
87<div class="sub">
88 <a href="../../www/install-source.html#windows">Windows</a>
89 </div>
90<div class="menu">
91 <a href="../../www/binary-releases.html">Binary Releases</a>
92</div>
93<div class="sub">
94 <a href="../../www/binary-releases.html#unix">Unix</a>
95</div>
96<div class="sub">
97 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
98</div>
99<div class="sub">
100 <a href="../../www/binary-releases.html#windows">Windows</a>
101</div>
102<div class="menu">
103 <a href="../../www/resources.html">Resources</a>
104</div>
cristyf3bb4782009-09-08 13:10:04 +0000105<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000106<div class="menu">
107 <a href="../../www/download.html">Download</a>
108</div>
cristyf3bb4782009-09-08 13:10:04 +0000109<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000110<div class="menu">
111 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
112</div>
cristyf3bb4782009-09-08 13:10:04 +0000113<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000114<div class="menu">
115 <a href="../../www/sitemap.html">Site Map</a>
116</div>
117<div class="sub">
118 <a href="../../www/links.html">Links</a>
119</div>
cristyf3bb4782009-09-08 13:10:04 +0000120<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000121<div class="menu">
122 <a href="../../www/sponsors.html">Sponsors:</a>
123
124<div class="sponsbox">
125<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000126 <a href="http://www.goyax.de">Börse</a><!-- 201001000240 Gewiese digital-finance.de -->
cristy3ed852e2009-09-05 21:47:34 +0000127</div>
128<div class="sponsor">
129 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
130</div>
131<div class="sponsor">
132 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 200911010120 -->
133</div>
134<div class="sponsor">
135 <a href="http://www.print24.de/">Druckerei</a><!-- 200911010480 -->
136</div>
137<div class="sponsor">
138 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
139</div>
140<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000141 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201002010120 Buchhorn -->
cristy3ed852e2009-09-05 21:47:34 +0000142</div>
143</div>
144</div>
cristyf3bb4782009-09-08 13:10:04 +0000145
146
147</div>
148
149<div class="main">
150
cristy3ed852e2009-09-05 21:47:34 +0000151<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>
152
153<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
154_8c.html" target="source" name="AddNoiseImage">AddNoiseImage</a></h2>
155<div class="doc-section">
156
157<p>AddNoiseImage() adds random noise to the image.</p></ol>
158
159<p>The format of the AddNoiseImage method is:</p>
160
161<pre class="code">
162 Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
163 ExceptionInfo *exception)
164 Image *AddNoiseImageChannel(const Image *image,const ChannelType channel,
165 const NoiseType noise_type,ExceptionInfo *exception)
166</pre>
167
168<p>A description of each parameter follows:</p></ol>
169
170<h5>image</h5>
171<ol><p>the image.</p></ol>
172
173<h5>channel</h5>
174<ol><p>the channel type.</p></ol>
175
176<h5>noise_type</h5>
177<ol><p>The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.</p></ol>
178
179<h5>exception</h5>
180<ol><p>return any errors or warnings in this structure.</p></ol>
181
182 </div>
183<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
184_8c.html" target="source" name="BlueShiftImage">BlueShiftImage</a></h2>
185<div class="doc-section">
186
187<p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p></ol>
188
189<p>The format of the BlueShiftImage method is:</p>
190
191<pre class="code">
192 Image *BlueShiftImage(const Image *image,const double factor,
193 ExceptionInfo *exception)
194</pre>
195
196<p>A description of each parameter follows:</p></ol>
197
198<h5>image</h5>
199<ol><p>the image.</p></ol>
200
201<h5>factor</h5>
202<ol><p>the shift factor.</p></ol>
203
204<h5>exception</h5>
205<ol><p>return any errors or warnings in this structure.</p></ol>
206
207 </div>
208<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
209_8c.html" target="source" name="CharcoalImage">CharcoalImage</a></h2>
210<div class="doc-section">
211
212<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>
213
214<p>The format of the CharcoalImage method is:</p>
215
216<pre class="code">
217 Image *CharcoalImage(const Image *image,const double radius,
218 const double sigma,ExceptionInfo *exception)
219</pre>
220
221<p>A description of each parameter follows:</p></ol>
222
223<h5>image</h5>
224<ol><p>the image.</p></ol>
225
226<h5>radius</h5>
227<ol><p>the radius of the pixel neighborhood.</p></ol>
228
229<h5>sigma</h5>
230<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
231
232<h5>exception</h5>
233<ol><p>return any errors or warnings in this structure.</p></ol>
234
235 </div>
236<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
237_8c.html" target="source" name="ColorizeImage">ColorizeImage</a></h2>
238<div class="doc-section">
239
240<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>
241
242<p>The format of the ColorizeImage method is:</p>
243
244<pre class="code">
245 Image *ColorizeImage(const Image *image,const char *opacity,
246 const PixelPacket colorize,ExceptionInfo *exception)
247</pre>
248
249<p>A description of each parameter follows:</p></ol>
250
251<h5>image</h5>
252<ol><p>the image.</p></ol>
253
254<h5>opacity</h5>
255<ol><p>A character string indicating the level of opacity as a percentage.</p></ol>
256
257<h5>colorize</h5>
258<ol><p>A color value.</p></ol>
259
260<h5>exception</h5>
261<ol><p>return any errors or warnings in this structure.</p></ol>
262
263 </div>
264<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
265_8c.html" target="source" name="ConvolveImage">ConvolveImage</a></h2>
266<div class="doc-section">
267
268<p>ConvolveImage() applies a custom convolution kernel to the image.</p></ol>
269
270<p>The format of the ConvolveImage method is:</p>
271
272<pre class="code">
273 Image *ConvolveImage(const Image *image,const unsigned long order,
274 const double *kernel,ExceptionInfo *exception)
275 Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
276 const unsigned long order,const double *kernel,
277 ExceptionInfo *exception)
278</pre>
279
280<p>A description of each parameter follows:</p></ol>
281
282<h5>image</h5>
283<ol><p>the image.</p></ol>
284
285<h5>channel</h5>
286<ol><p>the channel type.</p></ol>
287
288<h5>order</h5>
289<ol><p>the number of columns and rows in the filter kernel.</p></ol>
290
291<h5>kernel</h5>
292<ol><p>An array of double representing the convolution kernel.</p></ol>
293
294<h5>exception</h5>
295<ol><p>return any errors or warnings in this structure.</p></ol>
296
297 </div>
298<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
299_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
300<div class="doc-section">
301
302<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>
303
304<p>The format of the EvaluateImageChannel method is:</p>
305
306<pre class="code">
307 MagickBooleanType EvaluateImage(Image *image,
308 const MagickEvaluateOperator op,const double value,
309 ExceptionInfo *exception)
310 MagickBooleanType EvaluateImageChannel(Image *image,
311 const ChannelType channel,const MagickEvaluateOperator op,
312 const double value,ExceptionInfo *exception)
313</pre>
314
315<p>A description of each parameter follows:</p></ol>
316
317<h5>image</h5>
318<ol><p>the image.</p></ol>
319
320<h5>channel</h5>
321<ol><p>the channel.</p></ol>
322
323<h5>op</h5>
324<ol><p>A channel op.</p></ol>
325
326<h5>value</h5>
327<ol><p>A value value.</p></ol>
328
329<h5>exception</h5>
330<ol><p>return any errors or warnings in this structure.</p></ol>
331
332 </div>
333<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
334_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
335<div class="doc-section">
336
337<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>
338
339<p>The format of the FunctionImageChannel method is:</p>
340
341<pre class="code">
342 MagickBooleanType FunctionImage(Image *image,
343 const MagickFunction function,const long number_parameters,
344 const double *parameters,ExceptionInfo *exception)
345 MagickBooleanType FunctionImageChannel(Image *image,
346 const ChannelType channel,const MagickFunction function,
347 const long number_parameters,const double *argument,
348 ExceptionInfo *exception)
349</pre>
350
351<p>A description of each parameter follows:</p></ol>
352
353<h5>image</h5>
354<ol><p>the image.</p></ol>
355
356<h5>channel</h5>
357<ol><p>the channel.</p></ol>
358
359<h5>function</h5>
360<ol><p>A channel function.</p></ol>
361
362<h5>parameters</h5>
363<ol><p>one or more parameters.</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="FxImage">FxImage</a></h2>
371<div class="doc-section">
372
373<p>FxImage() applies a mathematical expression to the specified image.</p></ol>
374
375<p>The format of the FxImage method is:</p>
376
377<pre class="code">
378 Image *FxImage(const Image *image,const char *expression,
379 ExceptionInfo *exception)
380 Image *FxImageChannel(const Image *image,const ChannelType channel,
381 const char *expression,ExceptionInfo *exception)
382</pre>
383
384<p>A description of each parameter follows:</p></ol>
385
386<h5>image</h5>
387<ol><p>the image.</p></ol>
388
389<h5>channel</h5>
390<ol><p>the channel.</p></ol>
391
392<h5>expression</h5>
393<ol><p>A mathematical expression.</p></ol>
394
395<h5>exception</h5>
396<ol><p>return any errors or warnings in this structure.</p></ol>
397
398 </div>
399<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
400_8c.html" target="source" name="ImplodeImage">ImplodeImage</a></h2>
401<div class="doc-section">
402
403<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>
404
405<p>The format of the ImplodeImage method is:</p>
406
407<pre class="code">
408 Image *ImplodeImage(const Image *image,const double amount,
409 ExceptionInfo *exception)
410</pre>
411
412<p>A description of each parameter follows:</p></ol>
413
414<h5>implode_image</h5>
415<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>
416
417<h5>image</h5>
418<ol><p>the image.</p></ol>
419
420<h5>amount</h5>
421<ol><p>Define the extent of the implosion.</p></ol>
422
423<h5>exception</h5>
424<ol><p>return any errors or warnings in this structure.</p></ol>
425
426 </div>
427<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
428_8c.html" target="source" name="The MorphImages">The MorphImages</a></h2>
429<div class="doc-section">
430
431<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>
432
433<p>The format of the MorphImage method is:</p>
434
435<pre class="code">
436 Image *MorphImages(const Image *image,const unsigned long number_frames,
437 ExceptionInfo *exception)
438</pre>
439
440<p>A description of each parameter follows:</p></ol>
441
442<h5>image</h5>
443<ol><p>the image.</p></ol>
444
445<h5>number_frames</h5>
446<ol><p>Define the number of in-between image to generate. The more in-between frames, the smoother the morph.</p></ol>
447
448<h5>exception</h5>
449<ol><p>return any errors or warnings in this structure.</p></ol>
450
451 </div>
452<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
453_8c.html" target="source" name="PlasmaImage">PlasmaImage</a></h2>
454<div class="doc-section">
455
456<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>
457
458<p>The format of the PlasmaImage method is:</p>
459
460<pre class="code">
461 MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
462 unsigned long attenuate,unsigned long depth)
463</pre>
464
465<p>A description of each parameter follows:</p></ol>
466
467<h5>image</h5>
468<ol><p>the image.</p></ol>
469
470<h5>segment</h5>
471<ol><p> Define the region to apply plasma fractals values.</p></ol>
472
473<h5>attenuate</h5>
474<ol><p>Define the plasmattenuation factor.</p></ol>
475
476<h5>depth</h5>
477<ol><p>Limit the plasma recursion depth.</p></ol>
478
479 </div>
480<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
481_8c.html" target="source" name="PolaroidImage">PolaroidImage</a></h2>
482<div class="doc-section">
483
484<p>PolaroidImage() simulates a Polaroid picture.</p></ol>
485
486<p>The format of the AnnotateImage method is:</p>
487
488<pre class="code">
489 Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
490 const double angle,ExceptionInfo exception)
491</pre>
492
493<p>A description of each parameter follows:</p></ol>
494
495<h5>image</h5>
496<ol><p>the image.</p></ol>
497
498<h5>draw_info</h5>
499<ol><p>the draw info.</p></ol>
500
501<h5>angle</h5>
502<ol><p>Apply the effect along this angle.</p></ol>
503
504<h5>exception</h5>
505<ol><p>return any errors or warnings in this structure.</p></ol>
506
507 </div>
508<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
509_8c.html" target="source" name="RecolorImage">RecolorImage</a></h2>
510<div class="doc-section">
511
512<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>
513
514<p>The format of the RecolorImage method is:</p>
515
516<pre class="code">
517 Image *RecolorImage(const Image *image,const unsigned long order,
518 const double *color_matrix,ExceptionInfo *exception)
519</pre>
520
521<p>A description of each parameter follows:</p></ol>
522
523<h5>image</h5>
524<ol><p>the image.</p></ol>
525
526<h5>order</h5>
527<ol><p>the number of columns and rows in the recolor matrix.</p></ol>
528
529<h5>color_matrix</h5>
530<ol><p>An array of double representing the recolor matrix.</p></ol>
531
532<h5>exception</h5>
533<ol><p>return any errors or warnings in this structure.</p></ol>
534
535 </div>
536<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
537_8c.html" target="source" name="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
538<div class="doc-section">
539
540<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>
541
542<p>The format of the SepiaToneImage method is:</p>
543
544<pre class="code">
545 Image *SepiaToneImage(const Image *image,const double threshold,
546 ExceptionInfo *exception)
547</pre>
548
549<p>A description of each parameter follows:</p></ol>
550
551<h5>image</h5>
552<ol><p>the image.</p></ol>
553
554<h5>threshold</h5>
555<ol><p>the tone threshold.</p></ol>
556
557<h5>exception</h5>
558<ol><p>return any errors or warnings in this structure.</p></ol>
559
560 </div>
561<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
562_8c.html" target="source" name="ShadowImage">ShadowImage</a></h2>
563<div class="doc-section">
564
565<p>ShadowImage() simulates a shadow from the specified image and returns it.</p></ol>
566
567<p>The format of the ShadowImage method is:</p>
568
569<pre class="code">
570 Image *ShadowImage(const Image *image,const double opacity,
571 const double sigma,const long x_offset,const long y_offset,
572 ExceptionInfo *exception)
573</pre>
574
575<p>A description of each parameter follows:</p></ol>
576
577<h5>image</h5>
578<ol><p>the image.</p></ol>
579
580<h5>opacity</h5>
581<ol><p>percentage transparency.</p></ol>
582
583<h5>sigma</h5>
584<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
585
586<h5>x_offset</h5>
587<ol><p>the shadow x-offset.</p></ol>
588
589<h5>y_offset</h5>
590<ol><p>the shadow y-offset.</p></ol>
591
592<h5>exception</h5>
593<ol><p>return any errors or warnings in this structure.</p></ol>
594
595 </div>
596<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
597_8c.html" target="source" name="SketchImage">SketchImage</a></h2>
598<div class="doc-section">
599
600<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>
601
602<p>The format of the SketchImage method is:</p>
603
604<pre class="code">
605 Image *SketchImage(const Image *image,const double radius,
606 const double sigma,const double angle,ExceptionInfo *exception)
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>radius</h5>
615<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
616
617<h5>sigma</h5>
618<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
619
620<h5>angle</h5>
621<ol><p>Apply the effect along this angle.</p></ol>
622
623<h5>exception</h5>
624<ol><p>return any errors or warnings in this structure.</p></ol>
625
626 </div>
627<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
628_8c.html" target="source" name="SolarizeImage">SolarizeImage</a></h2>
629<div class="doc-section">
630
631<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>
632
633<p>The format of the SolarizeImage method is:</p>
634
635<pre class="code">
636 MagickBooleanType SolarizeImage(Image *image,const double threshold)
637</pre>
638
639<p>A description of each parameter follows:</p></ol>
640
641<h5>image</h5>
642<ol><p>the image.</p></ol>
643
644<h5>threshold</h5>
645<ol><p>Define the extent of the solarization.</p></ol>
646
647 </div>
648<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
649_8c.html" target="source" name="SteganoImage">SteganoImage</a></h2>
650<div class="doc-section">
651
652<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>
653
654<p>The format of the SteganoImage method is:</p>
655
656<pre class="code">
657 Image *SteganoImage(const Image *image,Image *watermark,
658 ExceptionInfo *exception)
659</pre>
660
661<p>A description of each parameter follows:</p></ol>
662
663<h5>image</h5>
664<ol><p>the image.</p></ol>
665
666<h5>watermark</h5>
667<ol><p>the watermark image.</p></ol>
668
669<h5>exception</h5>
670<ol><p>return any errors or warnings in this structure.</p></ol>
671
672 </div>
673<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
674_8c.html" target="source" name="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
675<div class="doc-section">
676
677<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>
678
679<p>The format of the StereoAnaglyphImage method is:</p>
680
681<pre class="code">
682 Image *StereoImage(const Image *left_image,const Image *right_image,
683 ExceptionInfo *exception)
684 Image *StereoAnaglyphImage(const Image *left_image,
685 const Image *right_image,const long x_offset,const long y_offset,
686 ExceptionInfo *exception)
687</pre>
688
689<p>A description of each parameter follows:</p></ol>
690
691<h5>left_image</h5>
692<ol><p>the left image.</p></ol>
693
694<h5>right_image</h5>
695<ol><p>the right image.</p></ol>
696
697<h5>exception</h5>
698<ol><p>return any errors or warnings in this structure.</p></ol>
699
700<h5>x_offset</h5>
701<ol><p>amount, in pixels, by which the left image is offset to the right of the right image.</p></ol>
702
703<h5>y_offset</h5>
704<ol><p>amount, in pixels, by which the left image is offset to the bottom of the right image.</p></ol>
705
706
707 </div>
708<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
709_8c.html" target="source" name="SwirlImage">SwirlImage</a></h2>
710<div class="doc-section">
711
712<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>
713
714<p>The format of the SwirlImage method is:</p>
715
716<pre class="code">
717 Image *SwirlImage(const Image *image,double degrees,
718 ExceptionInfo *exception)
719</pre>
720
721<p>A description of each parameter follows:</p></ol>
722
723<h5>image</h5>
724<ol><p>the image.</p></ol>
725
726<h5>degrees</h5>
727<ol><p>Define the tightness of the swirling effect.</p></ol>
728
729<h5>exception</h5>
730<ol><p>return any errors or warnings in this structure.</p></ol>
731
732 </div>
733<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
734_8c.html" target="source" name="TintImage">TintImage</a></h2>
735<div class="doc-section">
736
737<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>
738
739<p>The format of the TintImage method is:</p>
740
741<pre class="code">
742 Image *TintImage(const Image *image,const char *opacity,
743 const PixelPacket tint,ExceptionInfo *exception)
744</pre>
745
746<p>A description of each parameter follows:</p></ol>
747
748<h5>image</h5>
749<ol><p>the image.</p></ol>
750
751<h5>opacity</h5>
752<ol><p>A color value used for tinting.</p></ol>
753
754<h5>tint</h5>
755<ol><p>A color value used for tinting.</p></ol>
756
757<h5>exception</h5>
758<ol><p>return any errors or warnings in this structure.</p></ol>
759
760 </div>
761<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
762_8c.html" target="source" name="VignetteImage">VignetteImage</a></h2>
763<div class="doc-section">
764
765<p>VignetteImage() softens the edges of the image in vignette style.</p></ol>
766
767<p>The format of the VignetteImage method is:</p>
768
769<pre class="code">
770 Image *VignetteImage(const Image *image,const double radius,
771 const double sigma,const long x,const long y,ExceptionInfo *exception)
772</pre>
773
774<p>A description of each parameter follows:</p></ol>
775
776<h5>image</h5>
777<ol><p>the image.</p></ol>
778
779<h5>radius</h5>
780<ol><p>the radius of the pixel neighborhood.</p></ol>
781
782<h5>sigma</h5>
783<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
784
785<h5>x, y</h5>
786<ol><p>Define the x and y ellipse offset.</p></ol>
787
788<h5>exception</h5>
789<ol><p>return any errors or warnings in this structure.</p></ol>
790
791 </div>
792<h2><a href="http://www.imagemagick.org/api/MagickCore/fx
793_8c.html" target="source" name="WaveImage">WaveImage</a></h2>
794<div class="doc-section">
795
796<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>
797
798<p>The format of the WaveImage method is:</p>
799
800<pre class="code">
801 Image *WaveImage(const Image *image,const double amplitude,
802 const double wave_length,ExceptionInfo *exception)
803</pre>
804
805<p>A description of each parameter follows:</p></ol>
806
807<h5>image</h5>
808<ol><p>the image.</p></ol>
809
810<h5>amplitude, wave_length</h5>
811<ol><p>Define the amplitude and wave length of the sine wave.</p></ol>
812
813<h5>exception</h5>
814<ol><p>return any errors or warnings in this structure.</p></ol>
815
816 </div>
cristyf3bb4782009-09-08 13:10:04 +0000817
818</div>
819
820<div id="linkbar">
821 <!-- <span id="linkbar-west">&nbsp;</span> -->
822 <span id="linkbar-center">
823 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
824 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
cristy5cadd612009-09-21 19:33:41 +0000825 <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000826 </span>
827 <span id="linkbar-east">&nbsp;</span>
828 </div>
829 <div class="footer">
830 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
831 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
832 </div>
833 <div style="clear: both; margin: 0; width: 100%; "></div>
834</body>
835</html>