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