]> 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" dir="ltr">\r
4 <head>\r
5   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>\r
6   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />\r
7   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />\r
8   <style type="text/css" media="screen,projection"><!--\r
9     @import url("../../www/magick.css");\r
10   --></style>\r
11   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/vnd.microsoft.icon"/>
12   <title>ImageMagick: MagickCore, C API for ImageMagick: Add a Special Effect</title>
13   <meta http-equiv="Content-Language" content="en-US"/>
14   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16   <meta name="Generator" content="PHP"/>
17   <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, add, a, special, effect, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
18   <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.  ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems.  The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
19   <meta name="Rating" content="GENERAL"/>
20   <meta name="Robots" content="INDEX, FOLLOW"/>
21   <meta name="Generator" content="ImageMagick Studio LLC"/>
22   <meta name="Author" content="ImageMagick Studio LLC"/>
23   <meta name="Revisit-after" content="2 DAYS"/>
24   <meta name="Resource-type" content="document"/>
25   <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
26   <meta name="Distribution" content="Global"/>
27 </head>\r
28 \r
29 <body id="www-imagemagick-org">\r
30 <div class="titlebar">\r
31 <a href="../../index.html">\r
32   <img src="../../images/script.png" alt="[ImageMagick]"\r
33   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
34 <a href="http://www.networkredux.com">\r
35   <img src="../../images/networkredux.png" alt="[sponsor]"\r
36   style="margin: 45px auto; border: 0px; float: left;" /></a>\r
37 <a href="http://www.imagemagick.org/discourse-server/">\r
38   <img src="../../images/logo.jpg" alt=""\r
39   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
40 <a href="../../index.html">\r
41   <img src="../../images/sprite.jpg" alt=""\r
42   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
43 </div>\r
44 \r
45 <div class="eastbar">\r
46 \r
47 <div class="menu">
48   <a href="../../index.html">About ImageMagick</a>
49 </div>
50 <div class="sep"></div>\r
51 <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>
81 <div class="sep"></div>\r
82 <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>
106 <div class="sep"></div>\r
107 <div class="menu">
108   <a href="../../www/download.html">Download</a>
109 </div>
110 <div class="sep"></div>\r
111 <div class="menu">
112   <a href="../http://www.imagemagick.org/script/search.php">Search</a>
113 </div>
114 <div class="sep"></div>\r
115 <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>
121 <div class="sep"></div>\r
122 <div  class="menu">
123   <a href="../../www/sponsors.html">Sponsors:</a>
124
125 <div class="sponsbox">
126 <div  class="sponsor">
127    <a href="http://www.abi-stoff.de/abizeitung/" title="Abibuch">Abizeitung</a><!-- 20101101000200 -->
128 </div>
129 <div  class="sponsor">
130   <a href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
131 </div>
132 <div  class="sponsor">
133   <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
134 </div>
135 <div  class="sponsor">
136   <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
137 </div>
138 <div  class="sponsor">
139   <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
140 </div>
141 <div  class="sponsor">
142   <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
143 </div>
144 <div  class="sponsor">
145    <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
146 </div>
147 </div>
148 </div>
149 \r
150 \r
151 </div>\r
152 \r
153 <div class="main">\r
154 \r
155 <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="#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>
156
157 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
158 _8c.html" target="source" name="AddNoiseImage">AddNoiseImage</a></h2>
159 <div class="doc-section">
160
161 <p>AddNoiseImage() adds random noise to the image.</p></ol>
162
163 <p>The format of the AddNoiseImage method is:</p>
164
165 <pre class="code">
166   Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
167     ExceptionInfo *exception)
168   Image *AddNoiseImageChannel(const Image *image,const ChannelType channel,
169     const NoiseType noise_type,ExceptionInfo *exception)
170 </pre>
171
172 <p>A description of each parameter follows:</p></ol>
173
174 <h5>image</h5>
175 <ol><p>the image.</p></ol>
176
177 <h5>channel</h5>
178 <ol><p>the channel type.</p></ol>
179
180 <h5>noise_type</h5>
181 <ol><p>The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.</p></ol>
182
183 <h5>exception</h5>
184 <ol><p>return any errors or warnings in this structure.</p></ol>
185
186  </div>
187 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
188 _8c.html" target="source" name="BlueShiftImage">BlueShiftImage</a></h2>
189 <div class="doc-section">
190
191 <p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p></ol>
192
193 <p>The format of the BlueShiftImage method is:</p>
194
195 <pre class="code">
196   Image *BlueShiftImage(const Image *image,const double factor,
197     ExceptionInfo *exception)
198 </pre>
199
200 <p>A description of each parameter follows:</p></ol>
201
202 <h5>image</h5>
203 <ol><p>the image.</p></ol>
204
205 <h5>factor</h5>
206 <ol><p>the shift factor.</p></ol>
207
208 <h5>exception</h5>
209 <ol><p>return any errors or warnings in this structure.</p></ol>
210
211  </div>
212 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
213 _8c.html" target="source" name="CharcoalImage">CharcoalImage</a></h2>
214 <div class="doc-section">
215
216 <p>CharcoalImage() creates a new image that is a copy of an existing one with the edge highlighted.  It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p></ol>
217
218 <p>The format of the CharcoalImage method is:</p>
219
220 <pre class="code">
221   Image *CharcoalImage(const Image *image,const double radius,
222     const double sigma,ExceptionInfo *exception)
223 </pre>
224
225 <p>A description of each parameter follows:</p></ol>
226
227 <h5>image</h5>
228 <ol><p>the image.</p></ol>
229
230 <h5>radius</h5>
231 <ol><p>the radius of the pixel neighborhood.</p></ol>
232
233 <h5>sigma</h5>
234 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
235
236 <h5>exception</h5>
237 <ol><p>return any errors or warnings in this structure.</p></ol>
238
239  </div>
240 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
241 _8c.html" target="source" name="ColorizeImage">ColorizeImage</a></h2>
242 <div class="doc-section">
243
244 <p>ColorizeImage() blends the fill color with each pixel in the image. A percentage blend is specified with opacity.  Control the application of different color components by specifying a different percentage for each component (e.g. 90/100/10 is 90 red, 100 green, and 10 blue).</p></ol>
245
246 <p>The format of the ColorizeImage method is:</p>
247
248 <pre class="code">
249   Image *ColorizeImage(const Image *image,const char *opacity,
250     const PixelPacket colorize,ExceptionInfo *exception)
251 </pre>
252
253 <p>A description of each parameter follows:</p></ol>
254
255 <h5>image</h5>
256 <ol><p>the image.</p></ol>
257
258 <h5>opacity</h5>
259 <ol><p>A character string indicating the level of opacity as a percentage.</p></ol>
260
261 <h5>colorize</h5>
262 <ol><p>A color value.</p></ol>
263
264 <h5>exception</h5>
265 <ol><p>return any errors or warnings in this structure.</p></ol>
266
267  </div>
268 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
269 _8c.html" target="source" name="FxImage">FxImage</a></h2>
270 <div class="doc-section">
271
272 <p>FxImage() applies a mathematical expression to the specified image.</p></ol>
273
274 <p>The format of the FxImage method is:</p>
275
276 <pre class="code">
277   Image *FxImage(const Image *image,const char *expression,
278     ExceptionInfo *exception)
279   Image *FxImageChannel(const Image *image,const ChannelType channel,
280     const char *expression,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.</p></ol>
290
291 <h5>expression</h5>
292 <ol><p>A mathematical expression.</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="ImplodeImage">ImplodeImage</a></h2>
300 <div class="doc-section">
301
302 <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>
303
304 <p>The format of the ImplodeImage method is:</p>
305
306 <pre class="code">
307   Image *ImplodeImage(const Image *image,const double amount,
308     ExceptionInfo *exception)
309 </pre>
310
311 <p>A description of each parameter follows:</p></ol>
312
313 <h5>implode_image</h5>
314 <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>
315
316 <h5>image</h5>
317 <ol><p>the image.</p></ol>
318
319 <h5>amount</h5>
320 <ol><p>Define the extent of the implosion.</p></ol>
321
322 <h5>exception</h5>
323 <ol><p>return any errors or warnings in this structure.</p></ol>
324
325  </div>
326 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
327 _8c.html" target="source" name="The MorphImages">The MorphImages</a></h2>
328 <div class="doc-section">
329
330 <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>
331
332 <p>The format of the MorphImage method is:</p>
333
334 <pre class="code">
335   Image *MorphImages(const Image *image,const unsigned long number_frames,
336     ExceptionInfo *exception)
337 </pre>
338
339 <p>A description of each parameter follows:</p></ol>
340
341 <h5>image</h5>
342 <ol><p>the image.</p></ol>
343
344 <h5>number_frames</h5>
345 <ol><p>Define the number of in-between image to generate. The more in-between frames, the smoother the morph.</p></ol>
346
347 <h5>exception</h5>
348 <ol><p>return any errors or warnings in this structure.</p></ol>
349
350  </div>
351 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
352 _8c.html" target="source" name="PlasmaImage">PlasmaImage</a></h2>
353 <div class="doc-section">
354
355 <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>
356
357 <p>The format of the PlasmaImage method is:</p>
358
359 <pre class="code">
360   MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
361     unsigned long attenuate,unsigned long depth)
362 </pre>
363
364 <p>A description of each parameter follows:</p></ol>
365
366 <h5>image</h5>
367 <ol><p>the image.</p></ol>
368
369 <h5>segment</h5>
370 <ol><p> Define the region to apply plasma fractals values.</p></ol>
371
372 <h5>attenuate</h5>
373 <ol><p>Define the plasmattenuation factor.</p></ol>
374
375 <h5>depth</h5>
376 <ol><p>Limit the plasma recursion depth.</p></ol>
377
378  </div>
379 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
380 _8c.html" target="source" name="PolaroidImage">PolaroidImage</a></h2>
381 <div class="doc-section">
382
383 <p>PolaroidImage() simulates a Polaroid picture.</p></ol>
384
385 <p>The format of the AnnotateImage method is:</p>
386
387 <pre class="code">
388   Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
389     const double angle,ExceptionInfo exception)
390 </pre>
391
392 <p>A description of each parameter follows:</p></ol>
393
394 <h5>image</h5>
395 <ol><p>the image.</p></ol>
396
397 <h5>draw_info</h5>
398 <ol><p>the draw info.</p></ol>
399
400 <h5>angle</h5>
401 <ol><p>Apply the effect along this angle.</p></ol>
402
403 <h5>exception</h5>
404 <ol><p>return any errors or warnings in this structure.</p></ol>
405
406  </div>
407 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
408 _8c.html" target="source" name="RecolorImage">RecolorImage</a></h2>
409 <div class="doc-section">
410
411 <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>
412
413 <p>The format of the RecolorImage method is:</p>
414
415 <pre class="code">
416   Image *RecolorImage(const Image *image,const unsigned long order,
417     const double *color_matrix,ExceptionInfo *exception)
418 </pre>
419
420 <p>A description of each parameter follows:</p></ol>
421
422 <h5>image</h5>
423 <ol><p>the image.</p></ol>
424
425 <h5>order</h5>
426 <ol><p>the number of columns and rows in the recolor matrix.</p></ol>
427
428 <h5>color_matrix</h5>
429 <ol><p>An array of double representing the recolor matrix.</p></ol>
430
431 <h5>exception</h5>
432 <ol><p>return any errors or warnings in this structure.</p></ol>
433
434  </div>
435 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
436 _8c.html" target="source" name="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
437 <div class="doc-section">
438
439 <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>
440
441 <p>The format of the SepiaToneImage method is:</p>
442
443 <pre class="code">
444   Image *SepiaToneImage(const Image *image,const double threshold,
445     ExceptionInfo *exception)
446 </pre>
447
448 <p>A description of each parameter follows:</p></ol>
449
450 <h5>image</h5>
451 <ol><p>the image.</p></ol>
452
453 <h5>threshold</h5>
454 <ol><p>the tone threshold.</p></ol>
455
456 <h5>exception</h5>
457 <ol><p>return any errors or warnings in this structure.</p></ol>
458
459  </div>
460 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
461 _8c.html" target="source" name="ShadowImage">ShadowImage</a></h2>
462 <div class="doc-section">
463
464 <p>ShadowImage() simulates a shadow from the specified image and returns it.</p></ol>
465
466 <p>The format of the ShadowImage method is:</p>
467
468 <pre class="code">
469   Image *ShadowImage(const Image *image,const double opacity,
470     const double sigma,const long x_offset,const long y_offset,
471     ExceptionInfo *exception)
472 </pre>
473
474 <p>A description of each parameter follows:</p></ol>
475
476 <h5>image</h5>
477 <ol><p>the image.</p></ol>
478
479 <h5>opacity</h5>
480 <ol><p>percentage transparency.</p></ol>
481
482 <h5>sigma</h5>
483 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
484
485 <h5>x_offset</h5>
486 <ol><p>the shadow x-offset.</p></ol>
487
488 <h5>y_offset</h5>
489 <ol><p>the shadow y-offset.</p></ol>
490
491 <h5>exception</h5>
492 <ol><p>return any errors or warnings in this structure.</p></ol>
493
494  </div>
495 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
496 _8c.html" target="source" name="SketchImage">SketchImage</a></h2>
497 <div class="doc-section">
498
499 <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>
500
501 <p>The format of the SketchImage method is:</p>
502
503 <pre class="code">
504       Image *SketchImage(const Image *image,const double radius,
505   const double sigma,const double angle,ExceptionInfo *exception)
506 </pre>
507
508 <p>A description of each parameter follows:</p></ol>
509
510 <h5>image</h5>
511 <ol><p>the image.</p></ol>
512
513 <h5>radius</h5>
514 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
515
516 <h5>sigma</h5>
517 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
518
519 <h5>angle</h5>
520 <ol><p>Apply the effect along this angle.</p></ol>
521
522 <h5>exception</h5>
523 <ol><p>return any errors or warnings in this structure.</p></ol>
524
525  </div>
526 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
527 _8c.html" target="source" name="SolarizeImage">SolarizeImage</a></h2>
528 <div class="doc-section">
529
530 <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>
531
532 <p>The format of the SolarizeImage method is:</p>
533
534 <pre class="code">
535   MagickBooleanType SolarizeImage(Image *image,const double threshold)
536 </pre>
537
538 <p>A description of each parameter follows:</p></ol>
539
540 <h5>image</h5>
541 <ol><p>the image.</p></ol>
542
543 <h5>threshold</h5>
544 <ol><p>Define the extent of the solarization.</p></ol>
545
546  </div>
547 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
548 _8c.html" target="source" name="SteganoImage">SteganoImage</a></h2>
549 <div class="doc-section">
550
551 <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>
552
553 <p>The format of the SteganoImage method is:</p>
554
555 <pre class="code">
556   Image *SteganoImage(const Image *image,Image *watermark,
557     ExceptionInfo *exception)
558 </pre>
559
560 <p>A description of each parameter follows:</p></ol>
561
562 <h5>image</h5>
563 <ol><p>the image.</p></ol>
564
565 <h5>watermark</h5>
566 <ol><p>the watermark image.</p></ol>
567
568 <h5>exception</h5>
569 <ol><p>return any errors or warnings in this structure.</p></ol>
570
571  </div>
572 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
573 _8c.html" target="source" name="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
574 <div class="doc-section">
575
576 <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>
577
578 <p>The format of the StereoAnaglyphImage method is:</p>
579
580 <pre class="code">
581   Image *StereoImage(const Image *left_image,const Image *right_image,
582     ExceptionInfo *exception)
583   Image *StereoAnaglyphImage(const Image *left_image,
584     const Image *right_image,const long x_offset,const long y_offset,
585     ExceptionInfo *exception)
586 </pre>
587
588 <p>A description of each parameter follows:</p></ol>
589
590 <h5>left_image</h5>
591 <ol><p>the left image.</p></ol>
592
593 <h5>right_image</h5>
594 <ol><p>the right image.</p></ol>
595
596 <h5>exception</h5>
597 <ol><p>return any errors or warnings in this structure.</p></ol>
598
599 <h5>x_offset</h5>
600 <ol><p>amount, in pixels, by which the left image is offset to the right of the right image.</p></ol>
601
602 <h5>y_offset</h5>
603 <ol><p>amount, in pixels, by which the left image is offset to the bottom of the right image.</p></ol>
604
605
606  </div>
607 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
608 _8c.html" target="source" name="SwirlImage">SwirlImage</a></h2>
609 <div class="doc-section">
610
611 <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>
612
613 <p>The format of the SwirlImage method is:</p>
614
615 <pre class="code">
616   Image *SwirlImage(const Image *image,double degrees,
617     ExceptionInfo *exception)
618 </pre>
619
620 <p>A description of each parameter follows:</p></ol>
621
622 <h5>image</h5>
623 <ol><p>the image.</p></ol>
624
625 <h5>degrees</h5>
626 <ol><p>Define the tightness of the swirling effect.</p></ol>
627
628 <h5>exception</h5>
629 <ol><p>return any errors or warnings in this structure.</p></ol>
630
631  </div>
632 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
633 _8c.html" target="source" name="TintImage">TintImage</a></h2>
634 <div class="doc-section">
635
636 <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>
637
638 <p>The format of the TintImage method is:</p>
639
640 <pre class="code">
641   Image *TintImage(const Image *image,const char *opacity,
642     const PixelPacket tint,ExceptionInfo *exception)
643 </pre>
644
645 <p>A description of each parameter follows:</p></ol>
646
647 <h5>image</h5>
648 <ol><p>the image.</p></ol>
649
650 <h5>opacity</h5>
651 <ol><p>A color value used for tinting.</p></ol>
652
653 <h5>tint</h5>
654 <ol><p>A color value used for tinting.</p></ol>
655
656 <h5>exception</h5>
657 <ol><p>return any errors or warnings in this structure.</p></ol>
658
659  </div>
660 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
661 _8c.html" target="source" name="VignetteImage">VignetteImage</a></h2>
662 <div class="doc-section">
663
664 <p>VignetteImage() softens the edges of the image in vignette style.</p></ol>
665
666 <p>The format of the VignetteImage method is:</p>
667
668 <pre class="code">
669   Image *VignetteImage(const Image *image,const double radius,
670     const double sigma,const long x,const long y,ExceptionInfo *exception)
671 </pre>
672
673 <p>A description of each parameter follows:</p></ol>
674
675 <h5>image</h5>
676 <ol><p>the image.</p></ol>
677
678 <h5>radius</h5>
679 <ol><p>the radius of the pixel neighborhood.</p></ol>
680
681 <h5>sigma</h5>
682 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
683
684 <h5>x, y</h5>
685 <ol><p>Define the x and y ellipse offset.</p></ol>
686
687 <h5>exception</h5>
688 <ol><p>return any errors or warnings in this structure.</p></ol>
689
690  </div>
691 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
692 _8c.html" target="source" name="WaveImage">WaveImage</a></h2>
693 <div class="doc-section">
694
695 <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>
696
697 <p>The format of the WaveImage method is:</p>
698
699 <pre class="code">
700   Image *WaveImage(const Image *image,const double amplitude,
701     const double wave_length,ExceptionInfo *exception)
702 </pre>
703
704 <p>A description of each parameter follows:</p></ol>
705
706 <h5>image</h5>
707 <ol><p>the image.</p></ol>
708
709 <h5>amplitude, wave_length</h5>
710 <ol><p>Define the amplitude and wave length of the sine wave.</p></ol>
711
712 <h5>exception</h5>
713 <ol><p>return any errors or warnings in this structure.</p></ol>
714
715  </div>
716 \r
717 </div>\r
718 \r
719 <div id="linkbar">\r
720  <!--    <span id="linkbar-west">&nbsp;</span>  -->\r
721     <span id="linkbar-center">\r
722       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
723     <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
724     </span>\r
725     <span id="linkbar-east">&nbsp;</span>\r
726   </div>\r
727   <div class="footer">\r
728     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
729     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
730   </div>\r
731   <div style="clear: both; margin: 0; width: 100%; "></div>\r
732 </body>\r
733 </html>\r