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