]> 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   <title>ImageMagick: MagickCore, C API for ImageMagick: Add a Special Effect</title/>
8   <meta http-equiv="Content-Language" content="en-US"/>
9   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
11   <meta name="Application-name" content="ImageMagick"/>
12   <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."/>
13   <meta name="Application-url" content="http://www.imagemagick.org"/>
14   <meta name="Generator" content="PHP"/>
15   <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"/>
16   <meta name="Rating" content="GENERAL"/>
17   <meta name="Robots" content="INDEX, FOLLOW"/>
18   <meta name="Generator" content="ImageMagick Studio LLC"/>
19   <meta name="Author" content="ImageMagick Studio LLC"/>
20   <meta name="Revisit-after" content="2 DAYS"/>
21   <meta name="Resource-type" content="document"/>
22   <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
23   <meta name="Distribution" content="Global"/>
24   <link rel="icon" href="../../images/wand.png"  sizes="32x32"/>
25   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/x-icon"/>
26   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
27   <style type="text/css" media="all">\r
28     @import url("../../www/magick.css");\r
29   </style>\r
30 </head>\r
31 \r
32 <body id="www-imagemagick-org">\r
33 <div class="titlebar">\r
34 <a href="../../index.html">\r
35   <img src="../../images/script.png" alt="[ImageMagick]"\r
36   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
37 <a href="http://www.networkredux.com">\r
38   <img src="../../images/networkredux.png" alt="[sponsor]"\r
39   style="margin: 45px auto; border: 0px; float: left;" /></a>\r
40 <a href="http://www.imagemagick.org/discourse-server/">\r
41   <img src="../../images/logo.jpg" alt=""\r
42   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
43 <a href="../../index.html">\r
44   <img src="../../images/sprite.jpg" alt=""\r
45   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
46 </div>\r
47 \r
48 <div class="westbar">\r
49 \r
50 <div class="menu">
51   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
52 </div>
53 <div class="sep"></div>\r
54 <div class="menu">
55   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
56 </div>
57 <div class="sub">
58     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
59 </div>
60 <div class="sub">
61     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
62 </div>
63 <div class="sub">
64     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
65 </div>
66 <div class="sep"></div>\r
67 <div class="menu">
68   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
69 </div>
70 <div class="sub">
71     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
72 </div>
73 <div class="sub">
74     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
75 </div>
76 <div class="sub">
77     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
78 </div>
79 <div class="menu">
80   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
81 </div>
82 <div class="sub">
83     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
84 </div>
85 <div class="sub">
86     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
87 </div>
88 <div class="sub">
89     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
90 </div>
91 <div class="sub">
92     <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
93 </div>
94 <div class="sep"></div>\r
95 <div  class="menu">
96    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
97 </div>
98 <div class="sub">
99     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
100 </div>
101 <div class="sub">
102     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
103  </div>
104 <div class="menu">
105   <a title="Resources" href="../../www/resources.html">Resources</a>
106 </div>
107 <div class="menu">
108   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
109 </div>
110 <div class="menu">
111   <a title="Download" href="../../www/download.html">Download</a>
112 </div>
113 <div class="sep"></div>\r
114 <div class="menu">
115   <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
116 </div>
117 <div class="sep"></div>\r
118 <div class="menu">
119   <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
120 </div>
121 <div  class="sub">
122     <a title="Site Map: Links"href="../../www/links.html">Links</a>
123 </div>
124 <div class="sep"></div>\r
125 <div  class="menu">
126   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
127
128 <div class="sponsbox">
129 <div  class="sponsor">
130    <a title="Sponsor: Free Catalogs" href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 20120801000600 -->
131 </div>
132 <div  class="sponsor">
133   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
134 </div>
135 <div  class="sponsor">
136   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
137 </div>
138 <div  class="sponsor">
139   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
140 </div>
141 <div  class="sponsor">
142   <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
143 </div>
144 <div  class="sponsor">
145   <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
146 </div>
147 <div  class="sponsor">
148   <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
149 </div>
150 <div  class="sponsor">
151    <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
152 </div>
153 </div>
154 </div>
155 </div>\r
156 \r
157 <div class="eastbar">\r
158   <script type="text/javascript">\r
159   <!--\r
160     google_ad_client = "pub-3129977114552745";\r
161     google_ad_slot = "0574824969";\r
162     google_ad_width = 160;\r
163     google_ad_height = 600;\r
164   //-->\r
165   </script>\r
166   <script type="text/javascript"\r
167     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
168   </script>\r
169 </div>\r
170 \r
171 <div class="main">\r
172 \r
173 <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="#ColorMatrixImage">ColorMatrixImage</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="#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>
174
175 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
176 _8c.html" target="source" name="AddNoiseImage">AddNoiseImage</a></h2>
177 <div class="doc-section">
178
179 <p>AddNoiseImage() adds random noise to the image.</p></ol>
180
181 <p>The format of the AddNoiseImage method is:</p>
182
183 <pre class="code">
184   Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
185     ExceptionInfo *exception)
186   Image *AddNoiseImageChannel(const Image *image,const ChannelType channel,
187     const NoiseType noise_type,ExceptionInfo *exception)
188 </pre>
189
190 <p>A description of each parameter follows:</p></ol>
191
192 <h5>image</h5>
193 <ol><p>the image.</p></ol>
194
195 <h5>channel</h5>
196 <ol><p>the channel type.</p></ol>
197
198 <h5>noise_type</h5>
199 <ol><p>The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.</p></ol>
200
201 <h5>exception</h5>
202 <ol><p>return any errors or warnings in this structure.</p></ol>
203
204  </div>
205 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
206 _8c.html" target="source" name="BlueShiftImage">BlueShiftImage</a></h2>
207 <div class="doc-section">
208
209 <p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p></ol>
210
211 <p>The format of the BlueShiftImage method is:</p>
212
213 <pre class="code">
214   Image *BlueShiftImage(const Image *image,const double factor,
215     ExceptionInfo *exception)
216 </pre>
217
218 <p>A description of each parameter follows:</p></ol>
219
220 <h5>image</h5>
221 <ol><p>the image.</p></ol>
222
223 <h5>factor</h5>
224 <ol><p>the shift factor.</p></ol>
225
226 <h5>exception</h5>
227 <ol><p>return any errors or warnings in this structure.</p></ol>
228
229  </div>
230 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
231 _8c.html" target="source" name="CharcoalImage">CharcoalImage</a></h2>
232 <div class="doc-section">
233
234 <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>
235
236 <p>The format of the CharcoalImage method is:</p>
237
238 <pre class="code">
239   Image *CharcoalImage(const Image *image,const double radius,
240     const double sigma,ExceptionInfo *exception)
241 </pre>
242
243 <p>A description of each parameter follows:</p></ol>
244
245 <h5>image</h5>
246 <ol><p>the image.</p></ol>
247
248 <h5>radius</h5>
249 <ol><p>the radius of the pixel neighborhood.</p></ol>
250
251 <h5>sigma</h5>
252 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
253
254 <h5>exception</h5>
255 <ol><p>return any errors or warnings in this structure.</p></ol>
256
257  </div>
258 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
259 _8c.html" target="source" name="ColorizeImage">ColorizeImage</a></h2>
260 <div class="doc-section">
261
262 <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>
263
264 <p>The format of the ColorizeImage method is:</p>
265
266 <pre class="code">
267   Image *ColorizeImage(const Image *image,const char *opacity,
268     const PixelPacket colorize,ExceptionInfo *exception)
269 </pre>
270
271 <p>A description of each parameter follows:</p></ol>
272
273 <h5>image</h5>
274 <ol><p>the image.</p></ol>
275
276 <h5>opacity</h5>
277 <ol><p>A character string indicating the level of opacity as a percentage.</p></ol>
278
279 <h5>colorize</h5>
280 <ol><p>A color value.</p></ol>
281
282 <h5>exception</h5>
283 <ol><p>return any errors or warnings in this structure.</p></ol>
284
285  </div>
286 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
287 _8c.html" target="source" name="ColorMatrixImage">ColorMatrixImage</a></h2>
288 <div class="doc-section">
289
290 <p>ColorMatrixImage() applies color transformation to an image. This method permits saturation changes, hue rotation, luminance to alpha, and various other effects.  Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets).  The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255).</p></ol>
291
292 <p>The format of the ColorMatrixImage method is:</p>
293
294 <pre class="code">
295   Image *ColorMatrixImage(const Image *image,
296     const KernelInfo *color_matrix,ExceptionInfo *exception)
297 </pre>
298
299 <p>A description of each parameter follows:</p></ol>
300
301 <h5>image</h5>
302 <ol><p>the image.</p></ol>
303
304 <h5>color_matrix</h5>
305 <ol><p>the color matrix.</p></ol>
306
307 <h5>exception</h5>
308 <ol><p>return any errors or warnings in this structure.</p></ol>
309
310  </div>
311 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
312 _8c.html" target="source" name="FxImage">FxImage</a></h2>
313 <div class="doc-section">
314
315 <p>FxImage() applies a mathematical expression to the specified image.</p></ol>
316
317 <p>The format of the FxImage method is:</p>
318
319 <pre class="code">
320   Image *FxImage(const Image *image,const char *expression,
321     ExceptionInfo *exception)
322   Image *FxImageChannel(const Image *image,const ChannelType channel,
323     const char *expression,ExceptionInfo *exception)
324 </pre>
325
326 <p>A description of each parameter follows:</p></ol>
327
328 <h5>image</h5>
329 <ol><p>the image.</p></ol>
330
331 <h5>channel</h5>
332 <ol><p>the channel.</p></ol>
333
334 <h5>expression</h5>
335 <ol><p>A mathematical expression.</p></ol>
336
337 <h5>exception</h5>
338 <ol><p>return any errors or warnings in this structure.</p></ol>
339
340  </div>
341 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
342 _8c.html" target="source" name="ImplodeImage">ImplodeImage</a></h2>
343 <div class="doc-section">
344
345 <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>
346
347 <p>The format of the ImplodeImage method is:</p>
348
349 <pre class="code">
350   Image *ImplodeImage(const Image *image,const double amount,
351     ExceptionInfo *exception)
352 </pre>
353
354 <p>A description of each parameter follows:</p></ol>
355
356 <h5>implode_image</h5>
357 <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>
358
359 <h5>image</h5>
360 <ol><p>the image.</p></ol>
361
362 <h5>amount</h5>
363 <ol><p>Define the extent of the implosion.</p></ol>
364
365 <h5>exception</h5>
366 <ol><p>return any errors or warnings in this structure.</p></ol>
367
368  </div>
369 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
370 _8c.html" target="source" name="The MorphImages">The MorphImages</a></h2>
371 <div class="doc-section">
372
373 <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>
374
375 <p>The format of the MorphImage method is:</p>
376
377 <pre class="code">
378   Image *MorphImages(const Image *image,const size_t number_frames,
379     ExceptionInfo *exception)
380 </pre>
381
382 <p>A description of each parameter follows:</p></ol>
383
384 <h5>image</h5>
385 <ol><p>the image.</p></ol>
386
387 <h5>number_frames</h5>
388 <ol><p>Define the number of in-between image to generate. The more in-between frames, the smoother the morph.</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="PlasmaImage">PlasmaImage</a></h2>
396 <div class="doc-section">
397
398 <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>
399
400 <p>The format of the PlasmaImage method is:</p>
401
402 <pre class="code">
403   MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
404     size_t attenuate,size_t depth)
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>segment</h5>
413 <ol><p> Define the region to apply plasma fractals values.</p></ol>
414
415 <h5>attenuate</h5>
416 <ol><p>Define the plasma attenuation factor.</p></ol>
417
418 <h5>depth</h5>
419 <ol><p>Limit the plasma recursion depth.</p></ol>
420
421  </div>
422 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
423 _8c.html" target="source" name="PolaroidImage">PolaroidImage</a></h2>
424 <div class="doc-section">
425
426 <p>PolaroidImage() simulates a Polaroid picture.</p></ol>
427
428 <p>The format of the AnnotateImage method is:</p>
429
430 <pre class="code">
431   Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
432     const double angle,ExceptionInfo exception)
433 </pre>
434
435 <p>A description of each parameter follows:</p></ol>
436
437 <h5>image</h5>
438 <ol><p>the image.</p></ol>
439
440 <h5>draw_info</h5>
441 <ol><p>the draw info.</p></ol>
442
443 <h5>angle</h5>
444 <ol><p>Apply the effect along this angle.</p></ol>
445
446 <h5>exception</h5>
447 <ol><p>return any errors or warnings in this structure.</p></ol>
448
449  </div>
450 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
451 _8c.html" target="source" name="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
452 <div class="doc-section">
453
454 <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>
455
456 <p>The format of the SepiaToneImage method is:</p>
457
458 <pre class="code">
459   Image *SepiaToneImage(const Image *image,const double threshold,
460     ExceptionInfo *exception)
461 </pre>
462
463 <p>A description of each parameter follows:</p></ol>
464
465 <h5>image</h5>
466 <ol><p>the image.</p></ol>
467
468 <h5>threshold</h5>
469 <ol><p>the tone threshold.</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="ShadowImage">ShadowImage</a></h2>
477 <div class="doc-section">
478
479 <p>ShadowImage() simulates a shadow from the specified image and returns it.</p></ol>
480
481 <p>The format of the ShadowImage method is:</p>
482
483 <pre class="code">
484   Image *ShadowImage(const Image *image,const double opacity,
485     const double sigma,const ssize_t x_offset,const ssize_t y_offset,
486     ExceptionInfo *exception)
487 </pre>
488
489 <p>A description of each parameter follows:</p></ol>
490
491 <h5>image</h5>
492 <ol><p>the image.</p></ol>
493
494 <h5>opacity</h5>
495 <ol><p>percentage transparency.</p></ol>
496
497 <h5>sigma</h5>
498 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
499
500 <h5>x_offset</h5>
501 <ol><p>the shadow x-offset.</p></ol>
502
503 <h5>y_offset</h5>
504 <ol><p>the shadow y-offset.</p></ol>
505
506 <h5>exception</h5>
507 <ol><p>return any errors or warnings in this structure.</p></ol>
508
509  </div>
510 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
511 _8c.html" target="source" name="SketchImage">SketchImage</a></h2>
512 <div class="doc-section">
513
514 <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>
515
516 <p>The format of the SketchImage method is:</p>
517
518 <pre class="code">
519       Image *SketchImage(const Image *image,const double radius,
520   const double sigma,const double angle,ExceptionInfo *exception)
521 </pre>
522
523 <p>A description of each parameter follows:</p></ol>
524
525 <h5>image</h5>
526 <ol><p>the image.</p></ol>
527
528 <h5>radius</h5>
529 <ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
530
531 <h5>sigma</h5>
532 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
533
534 <h5>angle</h5>
535 <ol><p>Apply the effect along this angle.</p></ol>
536
537 <h5>exception</h5>
538 <ol><p>return any errors or warnings in this structure.</p></ol>
539
540  </div>
541 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
542 _8c.html" target="source" name="SolarizeImage">SolarizeImage</a></h2>
543 <div class="doc-section">
544
545 <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>
546
547 <p>The format of the SolarizeImage method is:</p>
548
549 <pre class="code">
550   MagickBooleanType SolarizeImage(Image *image,const double threshold)
551 </pre>
552
553 <p>A description of each parameter follows:</p></ol>
554
555 <h5>image</h5>
556 <ol><p>the image.</p></ol>
557
558 <h5>threshold</h5>
559 <ol><p>Define the extent of the solarization.</p></ol>
560
561  </div>
562 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
563 _8c.html" target="source" name="SteganoImage">SteganoImage</a></h2>
564 <div class="doc-section">
565
566 <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>
567
568 <p>The format of the SteganoImage method is:</p>
569
570 <pre class="code">
571   Image *SteganoImage(const Image *image,Image *watermark,
572     ExceptionInfo *exception)
573 </pre>
574
575 <p>A description of each parameter follows:</p></ol>
576
577 <h5>image</h5>
578 <ol><p>the image.</p></ol>
579
580 <h5>watermark</h5>
581 <ol><p>the watermark image.</p></ol>
582
583 <h5>exception</h5>
584 <ol><p>return any errors or warnings in this structure.</p></ol>
585
586  </div>
587 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
588 _8c.html" target="source" name="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
589 <div class="doc-section">
590
591 <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>
592
593 <p>The format of the StereoAnaglyphImage method is:</p>
594
595 <pre class="code">
596   Image *StereoImage(const Image *left_image,const Image *right_image,
597     ExceptionInfo *exception)
598   Image *StereoAnaglyphImage(const Image *left_image,
599     const Image *right_image,const ssize_t x_offset,const ssize_t y_offset,
600     ExceptionInfo *exception)
601 </pre>
602
603 <p>A description of each parameter follows:</p></ol>
604
605 <h5>left_image</h5>
606 <ol><p>the left image.</p></ol>
607
608 <h5>right_image</h5>
609 <ol><p>the right image.</p></ol>
610
611 <h5>exception</h5>
612 <ol><p>return any errors or warnings in this structure.</p></ol>
613
614 <h5>x_offset</h5>
615 <ol><p>amount, in pixels, by which the left image is offset to the right of the right image.</p></ol>
616
617 <h5>y_offset</h5>
618 <ol><p>amount, in pixels, by which the left image is offset to the bottom of the right image.</p></ol>
619
620
621  </div>
622 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
623 _8c.html" target="source" name="SwirlImage">SwirlImage</a></h2>
624 <div class="doc-section">
625
626 <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>
627
628 <p>The format of the SwirlImage method is:</p>
629
630 <pre class="code">
631   Image *SwirlImage(const Image *image,double degrees,
632     ExceptionInfo *exception)
633 </pre>
634
635 <p>A description of each parameter follows:</p></ol>
636
637 <h5>image</h5>
638 <ol><p>the image.</p></ol>
639
640 <h5>degrees</h5>
641 <ol><p>Define the tightness of the swirling effect.</p></ol>
642
643 <h5>exception</h5>
644 <ol><p>return any errors or warnings in this structure.</p></ol>
645
646  </div>
647 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
648 _8c.html" target="source" name="TintImage">TintImage</a></h2>
649 <div class="doc-section">
650
651 <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>
652
653 <p>The format of the TintImage method is:</p>
654
655 <pre class="code">
656   Image *TintImage(const Image *image,const char *opacity,
657     const PixelPacket tint,ExceptionInfo *exception)
658 </pre>
659
660 <p>A description of each parameter follows:</p></ol>
661
662 <h5>image</h5>
663 <ol><p>the image.</p></ol>
664
665 <h5>opacity</h5>
666 <ol><p>A color value used for tinting.</p></ol>
667
668 <h5>tint</h5>
669 <ol><p>A color value used for tinting.</p></ol>
670
671 <h5>exception</h5>
672 <ol><p>return any errors or warnings in this structure.</p></ol>
673
674  </div>
675 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
676 _8c.html" target="source" name="VignetteImage">VignetteImage</a></h2>
677 <div class="doc-section">
678
679 <p>VignetteImage() softens the edges of the image in vignette style.</p></ol>
680
681 <p>The format of the VignetteImage method is:</p>
682
683 <pre class="code">
684   Image *VignetteImage(const Image *image,const double radius,
685     const double sigma,const ssize_t x,const ssize_t y,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>radius</h5>
694 <ol><p>the radius of the pixel neighborhood.</p></ol>
695
696 <h5>sigma</h5>
697 <ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
698
699 <h5>x, y</h5>
700 <ol><p>Define the x and y ellipse offset.</p></ol>
701
702 <h5>exception</h5>
703 <ol><p>return any errors or warnings in this structure.</p></ol>
704
705  </div>
706 <h2><a href="http://www.imagemagick.org/api/MagickCore/fx
707 _8c.html" target="source" name="WaveImage">WaveImage</a></h2>
708 <div class="doc-section">
709
710 <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>
711
712 <p>The format of the WaveImage method is:</p>
713
714 <pre class="code">
715   Image *WaveImage(const Image *image,const double amplitude,
716     const double wave_length,ExceptionInfo *exception)
717 </pre>
718
719 <p>A description of each parameter follows:</p></ol>
720
721 <h5>image</h5>
722 <ol><p>the image.</p></ol>
723
724 <h5>amplitude, wave_length</h5>
725 <ol><p>Define the amplitude and wave length of the sine wave.</p></ol>
726
727 <h5>exception</h5>
728 <ol><p>return any errors or warnings in this structure.</p></ol>
729
730  </div>
731 \r
732 </div>\r
733 \r
734 <div id="linkbar">\r
735     <span id="linkbar-west">&nbsp;</span>\r
736     <span id="linkbar-center">\r
737       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
738       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
739     </span>\r
740     <span id="linkbar-east">&nbsp;</span>\r
741   </div>\r
742   <div class="footer">\r
743     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
744     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
745   </div>\r
746   <div style="clear: both; margin: 0; width: 100%; "></div>\r
747   <script type="text/javascript">\r
748     var _gaq = _gaq || [];\r
749     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
750     _gaq.push(['_trackPageview']);\r
751 \r
752     (function() {\r
753       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
754       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
755       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
756     })();\r
757   </script>\r
758 </body>\r
759 </html>\r