]> 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 http-equiv="Content-Type" value="application/xhtml+xml" />\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.goyax.de">Börse</a><!-- 201004010240 Gewiese digital-finance.de -->
146 </div>
147 <div  class="sponsor">
148    <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
149 </div>
150 </div>
151 </div>
152 \r
153 \r
154 </div>\r
155 \r
156 <div class="main">\r
157 \r
158 <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>
159
160 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
161 _8c.html" target="source" name="AddNoiseImage">AddNoiseImage</a></h2>
162 <div class="doc-section">
163
164 <p>AddNoiseImage() adds random noise to the image.</p></ol>
165
166 <p>The format of the AddNoiseImage method is:</p>
167
168 <pre class="code">
169   Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
170     ExceptionInfo *exception)
171   Image *AddNoiseImageChannel(const Image *image,const ChannelType channel,
172     const NoiseType noise_type,ExceptionInfo *exception)
173 </pre>
174
175 <p>A description of each parameter follows:</p></ol>
176
177 <h5>image</h5>
178 <ol><p>the image.</p></ol>
179
180 <h5>channel</h5>
181 <ol><p>the channel type.</p></ol>
182
183 <h5>noise_type</h5>
184 <ol><p>The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.</p></ol>
185
186 <h5>exception</h5>
187 <ol><p>return any errors or warnings in this structure.</p></ol>
188
189  </div>
190 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
191 _8c.html" target="source" name="BlueShiftImage">BlueShiftImage</a></h2>
192 <div class="doc-section">
193
194 <p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p></ol>
195
196 <p>The format of the BlueShiftImage method is:</p>
197
198 <pre class="code">
199   Image *BlueShiftImage(const Image *image,const double factor,
200     ExceptionInfo *exception)
201 </pre>
202
203 <p>A description of each parameter follows:</p></ol>
204
205 <h5>image</h5>
206 <ol><p>the image.</p></ol>
207
208 <h5>factor</h5>
209 <ol><p>the shift factor.</p></ol>
210
211 <h5>exception</h5>
212 <ol><p>return any errors or warnings in this structure.</p></ol>
213
214  </div>
215 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
216 _8c.html" target="source" name="CharcoalImage">CharcoalImage</a></h2>
217 <div class="doc-section">
218
219 <p>CharcoalImage() creates a new image that is a copy of an existing one with the edge highlighted.  It allocates the memory necessary for the new Image structure and returns a pointer to the new image.</p></ol>
220
221 <p>The format of the CharcoalImage method is:</p>
222
223 <pre class="code">
224   Image *CharcoalImage(const Image *image,const double radius,
225     const double sigma,ExceptionInfo *exception)
226 </pre>
227
228 <p>A description of each parameter follows:</p></ol>
229
230 <h5>image</h5>
231 <ol><p>the image.</p></ol>
232
233 <h5>radius</h5>
234 <ol><p>the radius of the pixel neighborhood.</p></ol>
235
236 <h5>sigma</h5>
237 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
238
239 <h5>exception</h5>
240 <ol><p>return any errors or warnings in this structure.</p></ol>
241
242  </div>
243 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
244 _8c.html" target="source" name="ColorizeImage">ColorizeImage</a></h2>
245 <div class="doc-section">
246
247 <p>ColorizeImage() blends the fill color with each pixel in the image. A percentage blend is specified with opacity.  Control the application of different color components by specifying a different percentage for each component (e.g. 90/100/10 is 90 red, 100 green, and 10 blue).</p></ol>
248
249 <p>The format of the ColorizeImage method is:</p>
250
251 <pre class="code">
252   Image *ColorizeImage(const Image *image,const char *opacity,
253     const PixelPacket colorize,ExceptionInfo *exception)
254 </pre>
255
256 <p>A description of each parameter follows:</p></ol>
257
258 <h5>image</h5>
259 <ol><p>the image.</p></ol>
260
261 <h5>opacity</h5>
262 <ol><p>A character string indicating the level of opacity as a percentage.</p></ol>
263
264 <h5>colorize</h5>
265 <ol><p>A color value.</p></ol>
266
267 <h5>exception</h5>
268 <ol><p>return any errors or warnings in this structure.</p></ol>
269
270  </div>
271 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
272 _8c.html" target="source" name="FxImage">FxImage</a></h2>
273 <div class="doc-section">
274
275 <p>FxImage() applies a mathematical expression to the specified image.</p></ol>
276
277 <p>The format of the FxImage method is:</p>
278
279 <pre class="code">
280   Image *FxImage(const Image *image,const char *expression,
281     ExceptionInfo *exception)
282   Image *FxImageChannel(const Image *image,const ChannelType channel,
283     const char *expression,ExceptionInfo *exception)
284 </pre>
285
286 <p>A description of each parameter follows:</p></ol>
287
288 <h5>image</h5>
289 <ol><p>the image.</p></ol>
290
291 <h5>channel</h5>
292 <ol><p>the channel.</p></ol>
293
294 <h5>expression</h5>
295 <ol><p>A mathematical expression.</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="ImplodeImage">ImplodeImage</a></h2>
303 <div class="doc-section">
304
305 <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>
306
307 <p>The format of the ImplodeImage method is:</p>
308
309 <pre class="code">
310   Image *ImplodeImage(const Image *image,const double amount,
311     ExceptionInfo *exception)
312 </pre>
313
314 <p>A description of each parameter follows:</p></ol>
315
316 <h5>implode_image</h5>
317 <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>
318
319 <h5>image</h5>
320 <ol><p>the image.</p></ol>
321
322 <h5>amount</h5>
323 <ol><p>Define the extent of the implosion.</p></ol>
324
325 <h5>exception</h5>
326 <ol><p>return any errors or warnings in this structure.</p></ol>
327
328  </div>
329 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
330 _8c.html" target="source" name="The MorphImages">The MorphImages</a></h2>
331 <div class="doc-section">
332
333 <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>
334
335 <p>The format of the MorphImage method is:</p>
336
337 <pre class="code">
338   Image *MorphImages(const Image *image,const unsigned long number_frames,
339     ExceptionInfo *exception)
340 </pre>
341
342 <p>A description of each parameter follows:</p></ol>
343
344 <h5>image</h5>
345 <ol><p>the image.</p></ol>
346
347 <h5>number_frames</h5>
348 <ol><p>Define the number of in-between image to generate. The more in-between frames, the smoother the morph.</p></ol>
349
350 <h5>exception</h5>
351 <ol><p>return any errors or warnings in this structure.</p></ol>
352
353  </div>
354 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
355 _8c.html" target="source" name="PlasmaImage">PlasmaImage</a></h2>
356 <div class="doc-section">
357
358 <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>
359
360 <p>The format of the PlasmaImage method is:</p>
361
362 <pre class="code">
363   MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
364     unsigned long attenuate,unsigned long depth)
365 </pre>
366
367 <p>A description of each parameter follows:</p></ol>
368
369 <h5>image</h5>
370 <ol><p>the image.</p></ol>
371
372 <h5>segment</h5>
373 <ol><p> Define the region to apply plasma fractals values.</p></ol>
374
375 <h5>attenuate</h5>
376 <ol><p>Define the plasmattenuation factor.</p></ol>
377
378 <h5>depth</h5>
379 <ol><p>Limit the plasma recursion depth.</p></ol>
380
381  </div>
382 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
383 _8c.html" target="source" name="PolaroidImage">PolaroidImage</a></h2>
384 <div class="doc-section">
385
386 <p>PolaroidImage() simulates a Polaroid picture.</p></ol>
387
388 <p>The format of the AnnotateImage method is:</p>
389
390 <pre class="code">
391   Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
392     const double angle,ExceptionInfo exception)
393 </pre>
394
395 <p>A description of each parameter follows:</p></ol>
396
397 <h5>image</h5>
398 <ol><p>the image.</p></ol>
399
400 <h5>draw_info</h5>
401 <ol><p>the draw info.</p></ol>
402
403 <h5>angle</h5>
404 <ol><p>Apply the effect along this angle.</p></ol>
405
406 <h5>exception</h5>
407 <ol><p>return any errors or warnings in this structure.</p></ol>
408
409  </div>
410 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
411 _8c.html" target="source" name="RecolorImage">RecolorImage</a></h2>
412 <div class="doc-section">
413
414 <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>
415
416 <p>The format of the RecolorImage method is:</p>
417
418 <pre class="code">
419   Image *RecolorImage(const Image *image,const unsigned long order,
420     const double *color_matrix,ExceptionInfo *exception)
421 </pre>
422
423 <p>A description of each parameter follows:</p></ol>
424
425 <h5>image</h5>
426 <ol><p>the image.</p></ol>
427
428 <h5>order</h5>
429 <ol><p>the number of columns and rows in the recolor matrix.</p></ol>
430
431 <h5>color_matrix</h5>
432 <ol><p>An array of double representing the recolor matrix.</p></ol>
433
434 <h5>exception</h5>
435 <ol><p>return any errors or warnings in this structure.</p></ol>
436
437  </div>
438 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
439 _8c.html" target="source" name="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
440 <div class="doc-section">
441
442 <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>
443
444 <p>The format of the SepiaToneImage method is:</p>
445
446 <pre class="code">
447   Image *SepiaToneImage(const Image *image,const double threshold,
448     ExceptionInfo *exception)
449 </pre>
450
451 <p>A description of each parameter follows:</p></ol>
452
453 <h5>image</h5>
454 <ol><p>the image.</p></ol>
455
456 <h5>threshold</h5>
457 <ol><p>the tone threshold.</p></ol>
458
459 <h5>exception</h5>
460 <ol><p>return any errors or warnings in this structure.</p></ol>
461
462  </div>
463 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
464 _8c.html" target="source" name="ShadowImage">ShadowImage</a></h2>
465 <div class="doc-section">
466
467 <p>ShadowImage() simulates a shadow from the specified image and returns it.</p></ol>
468
469 <p>The format of the ShadowImage method is:</p>
470
471 <pre class="code">
472   Image *ShadowImage(const Image *image,const double opacity,
473     const double sigma,const long x_offset,const long y_offset,
474     ExceptionInfo *exception)
475 </pre>
476
477 <p>A description of each parameter follows:</p></ol>
478
479 <h5>image</h5>
480 <ol><p>the image.</p></ol>
481
482 <h5>opacity</h5>
483 <ol><p>percentage transparency.</p></ol>
484
485 <h5>sigma</h5>
486 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
487
488 <h5>x_offset</h5>
489 <ol><p>the shadow x-offset.</p></ol>
490
491 <h5>y_offset</h5>
492 <ol><p>the shadow y-offset.</p></ol>
493
494 <h5>exception</h5>
495 <ol><p>return any errors or warnings in this structure.</p></ol>
496
497  </div>
498 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
499 _8c.html" target="source" name="SketchImage">SketchImage</a></h2>
500 <div class="doc-section">
501
502 <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>
503
504 <p>The format of the SketchImage method is:</p>
505
506 <pre class="code">
507       Image *SketchImage(const Image *image,const double radius,
508   const double sigma,const double angle,ExceptionInfo *exception)
509 </pre>
510
511 <p>A description of each parameter follows:</p></ol>
512
513 <h5>image</h5>
514 <ol><p>the image.</p></ol>
515
516 <h5>radius</h5>
517 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
518
519 <h5>sigma</h5>
520 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
521
522 <h5>angle</h5>
523 <ol><p>Apply the effect along this angle.</p></ol>
524
525 <h5>exception</h5>
526 <ol><p>return any errors or warnings in this structure.</p></ol>
527
528  </div>
529 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
530 _8c.html" target="source" name="SolarizeImage">SolarizeImage</a></h2>
531 <div class="doc-section">
532
533 <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>
534
535 <p>The format of the SolarizeImage method is:</p>
536
537 <pre class="code">
538   MagickBooleanType SolarizeImage(Image *image,const double threshold)
539 </pre>
540
541 <p>A description of each parameter follows:</p></ol>
542
543 <h5>image</h5>
544 <ol><p>the image.</p></ol>
545
546 <h5>threshold</h5>
547 <ol><p>Define the extent of the solarization.</p></ol>
548
549  </div>
550 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
551 _8c.html" target="source" name="SteganoImage">SteganoImage</a></h2>
552 <div class="doc-section">
553
554 <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>
555
556 <p>The format of the SteganoImage method is:</p>
557
558 <pre class="code">
559   Image *SteganoImage(const Image *image,Image *watermark,
560     ExceptionInfo *exception)
561 </pre>
562
563 <p>A description of each parameter follows:</p></ol>
564
565 <h5>image</h5>
566 <ol><p>the image.</p></ol>
567
568 <h5>watermark</h5>
569 <ol><p>the watermark image.</p></ol>
570
571 <h5>exception</h5>
572 <ol><p>return any errors or warnings in this structure.</p></ol>
573
574  </div>
575 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
576 _8c.html" target="source" name="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
577 <div class="doc-section">
578
579 <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>
580
581 <p>The format of the StereoAnaglyphImage method is:</p>
582
583 <pre class="code">
584   Image *StereoImage(const Image *left_image,const Image *right_image,
585     ExceptionInfo *exception)
586   Image *StereoAnaglyphImage(const Image *left_image,
587     const Image *right_image,const long x_offset,const long y_offset,
588     ExceptionInfo *exception)
589 </pre>
590
591 <p>A description of each parameter follows:</p></ol>
592
593 <h5>left_image</h5>
594 <ol><p>the left image.</p></ol>
595
596 <h5>right_image</h5>
597 <ol><p>the right image.</p></ol>
598
599 <h5>exception</h5>
600 <ol><p>return any errors or warnings in this structure.</p></ol>
601
602 <h5>x_offset</h5>
603 <ol><p>amount, in pixels, by which the left image is offset to the right of the right image.</p></ol>
604
605 <h5>y_offset</h5>
606 <ol><p>amount, in pixels, by which the left image is offset to the bottom of the right image.</p></ol>
607
608
609  </div>
610 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
611 _8c.html" target="source" name="SwirlImage">SwirlImage</a></h2>
612 <div class="doc-section">
613
614 <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>
615
616 <p>The format of the SwirlImage method is:</p>
617
618 <pre class="code">
619   Image *SwirlImage(const Image *image,double degrees,
620     ExceptionInfo *exception)
621 </pre>
622
623 <p>A description of each parameter follows:</p></ol>
624
625 <h5>image</h5>
626 <ol><p>the image.</p></ol>
627
628 <h5>degrees</h5>
629 <ol><p>Define the tightness of the swirling effect.</p></ol>
630
631 <h5>exception</h5>
632 <ol><p>return any errors or warnings in this structure.</p></ol>
633
634  </div>
635 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
636 _8c.html" target="source" name="TintImage">TintImage</a></h2>
637 <div class="doc-section">
638
639 <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>
640
641 <p>The format of the TintImage method is:</p>
642
643 <pre class="code">
644   Image *TintImage(const Image *image,const char *opacity,
645     const PixelPacket tint,ExceptionInfo *exception)
646 </pre>
647
648 <p>A description of each parameter follows:</p></ol>
649
650 <h5>image</h5>
651 <ol><p>the image.</p></ol>
652
653 <h5>opacity</h5>
654 <ol><p>A color value used for tinting.</p></ol>
655
656 <h5>tint</h5>
657 <ol><p>A color value used for tinting.</p></ol>
658
659 <h5>exception</h5>
660 <ol><p>return any errors or warnings in this structure.</p></ol>
661
662  </div>
663 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
664 _8c.html" target="source" name="VignetteImage">VignetteImage</a></h2>
665 <div class="doc-section">
666
667 <p>VignetteImage() softens the edges of the image in vignette style.</p></ol>
668
669 <p>The format of the VignetteImage method is:</p>
670
671 <pre class="code">
672   Image *VignetteImage(const Image *image,const double radius,
673     const double sigma,const long x,const long y,ExceptionInfo *exception)
674 </pre>
675
676 <p>A description of each parameter follows:</p></ol>
677
678 <h5>image</h5>
679 <ol><p>the image.</p></ol>
680
681 <h5>radius</h5>
682 <ol><p>the radius of the pixel neighborhood.</p></ol>
683
684 <h5>sigma</h5>
685 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
686
687 <h5>x, y</h5>
688 <ol><p>Define the x and y ellipse offset.</p></ol>
689
690 <h5>exception</h5>
691 <ol><p>return any errors or warnings in this structure.</p></ol>
692
693  </div>
694 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
695 _8c.html" target="source" name="WaveImage">WaveImage</a></h2>
696 <div class="doc-section">
697
698 <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>
699
700 <p>The format of the WaveImage method is:</p>
701
702 <pre class="code">
703   Image *WaveImage(const Image *image,const double amplitude,
704     const double wave_length,ExceptionInfo *exception)
705 </pre>
706
707 <p>A description of each parameter follows:</p></ol>
708
709 <h5>image</h5>
710 <ol><p>the image.</p></ol>
711
712 <h5>amplitude, wave_length</h5>
713 <ol><p>Define the amplitude and wave length of the sine wave.</p></ol>
714
715 <h5>exception</h5>
716 <ol><p>return any errors or warnings in this structure.</p></ol>
717
718  </div>
719 \r
720 </div>\r
721 \r
722 <div id="linkbar">\r
723  <!--    <span id="linkbar-west">&nbsp;</span>  -->\r
724     <span id="linkbar-center">\r
725       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
726     <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
727     </span>\r
728     <span id="linkbar-east">&nbsp;</span>\r
729   </div>\r
730   <div class="footer">\r
731     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
732     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
733   </div>\r
734   <div style="clear: both; margin: 0; width: 100%; "></div>\r
735 </body>\r
736 </html>\r