• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3
4
5<!DOCTYPE html>
6<html lang="en">
7<head>
8    <title>ImageMagick: MagickCore, C API for ImageMagick: Add a Special Effect</title>
9  <meta charset="utf-8" />
10  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
11  <meta name="viewport" content="width=device-width, initial-scale=1" />
12  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
13  <meta name="application-name" content="ImageMagick"/>
14  <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves."/>
15  <meta name="application-url" content="http://www.imagemagick.org"/>
16  <meta name="generator" content="PHP"/>
17  <meta name="keywords" content="magickcore, c, api, for, imagemagick:, add, a, special, effect, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert"/>
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-2016 ImageMagick Studio LLC"/>
25  <meta name="distribution" content="Global"/>
26  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
27  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
28  <link rel="icon" href="../images/wand.png"/>
29  <link rel="shortcut icon" href="../images/wand.ico"/>
30  <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:900,400,400italic,700,700italic,300,300italic|Open+Sans:300italic,400italic,700italic,300,400,600,700">
31  <link rel="stylesheet" href="../css/magick.html"/>
32</head>
33<body>
34<div class="main">
35<div class="magick-masthead">
36  <div class="container">
37    <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
38         style="display:block"
39         data-ad-client="ca-pub-3129977114552745"
40         data-ad-slot="6345125851"
41         data-ad-format="auto"></ins>
42    <script>
43      (adsbygoogle = window.adsbygoogle || []).push({});
44    </script>
45    <nav class="magick-nav">
46      <a class="magick-nav-item " href="../index.html">Home</a>
47      <a class="magick-nav-item " href="../binary-releases.html">Download</a>
48      <a class="magick-nav-item " href="../command-line-tools.html">Tools</a>
49      <a class="magick-nav-item " href="../command-line-processing.html">Command-line</a>
50      <a class="magick-nav-item " href="../resources.html">Resources</a>
51      <a class="magick-nav-item " href="api.html">Develop</a>
52      <a class="magick-nav-item " href="http://www.imagemagick.org/script/search.php">Search</a>
53      <a class="magick-nav-item pull-right" href="https://www.imagemagick.org/discourse-server/">Community</a>
54    </nav>
55  </div>
56</div>
57<div class="container">
58<div class="magick-header">
59<p class="text-center"><a href="fx.html#AddNoiseImage">AddNoiseImage</a> &#8226; <a href="fx.html#BlueShiftImage">BlueShiftImage</a> &#8226; <a href="fx.html#CharcoalImage">CharcoalImage</a> &#8226; <a href="fx.html#ColorizeImage">ColorizeImage</a> &#8226; <a href="fx.html#ColorMatrixImage">ColorMatrixImage</a> &#8226; <a href="fx.html#FxImage">FxImage</a> &#8226; <a href="fx.html#ImplodeImage">ImplodeImage</a> &#8226; <a href="fx.html#The MorphImages">The MorphImages</a> &#8226; <a href="fx.html#PlasmaImage">PlasmaImage</a> &#8226; <a href="fx.html#PolaroidImage">PolaroidImage</a> &#8226; <a href="fx.html#MagickSepiaToneImage">MagickSepiaToneImage</a> &#8226; <a href="fx.html#ShadowImage">ShadowImage</a> &#8226; <a href="fx.html#SketchImage">SketchImage</a> &#8226; <a href="fx.html#SolarizeImage">SolarizeImage</a> &#8226; <a href="fx.html#SteganoImage">SteganoImage</a> &#8226; <a href="fx.html#StereoAnaglyphImage">StereoAnaglyphImage</a> &#8226; <a href="fx.html#SwirlImage">SwirlImage</a> &#8226; <a href="fx.html#TintImage">TintImage</a> &#8226; <a href="fx.html#VignetteImage">VignetteImage</a> &#8226; <a href="fx.html#WaveImage">WaveImage</a> &#8226; <a href="fx.html#WaveletDenoiseImage">WaveletDenoiseImage</a></p>
60
61<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="AddNoiseImage">AddNoiseImage</a></h2>
62
63<p>AddNoiseImage() adds random noise to the image.</p>
64
65<p>The format of the AddNoiseImage method is:</p>
66
67<pre class="text">
68Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
69  const double attenuate,ExceptionInfo *exception)
70</pre>
71
72<p>A description of each parameter follows:</p>
73
74<dd>
75</dd>
76
77<dd> </dd>
78<dl class="dl-horizontal">
79<dt>image</dt>
80<dd>the image. </dd>
81
82<dd> </dd>
83<dt>channel</dt>
84<dd>the channel type. </dd>
85
86<dd> </dd>
87<dt>noise_type</dt>
88<dd> The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson. </dd>
89
90<dd> </dd>
91<dt>attenuate</dt>
92<dd> attenuate the random distribution. </dd>
93
94<dd> </dd>
95<dt>exception</dt>
96<dd>return any errors or warnings in this structure. </dd>
97
98<dd>  </dd>
99</dl>
100<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="BlueShiftImage">BlueShiftImage</a></h2>
101
102<p>BlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.</p>
103
104<p>The format of the BlueShiftImage method is:</p>
105
106<pre class="text">
107Image *BlueShiftImage(const Image *image,const double factor,
108  ExceptionInfo *exception)
109</pre>
110
111<p>A description of each parameter follows:</p>
112
113<dd>
114</dd>
115
116<dd> </dd>
117<dl class="dl-horizontal">
118<dt>image</dt>
119<dd>the image. </dd>
120
121<dd> </dd>
122<dt>factor</dt>
123<dd>the shift factor. </dd>
124
125<dd> </dd>
126<dt>exception</dt>
127<dd>return any errors or warnings in this structure. </dd>
128
129<dd>  </dd>
130</dl>
131<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="CharcoalImage">CharcoalImage</a></h2>
132
133<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>
134
135<p>The format of the CharcoalImage method is:</p>
136
137<pre class="text">
138Image *CharcoalImage(const Image *image,const double radius,
139  const double sigma,ExceptionInfo *exception)
140</pre>
141
142<p>A description of each parameter follows:</p>
143
144<dd>
145</dd>
146
147<dd> </dd>
148<dl class="dl-horizontal">
149<dt>image</dt>
150<dd>the image. </dd>
151
152<dd> </dd>
153<dt>radius</dt>
154<dd>the radius of the pixel neighborhood. </dd>
155
156<dd> </dd>
157<dt>sigma</dt>
158<dd>the standard deviation of the Gaussian, in pixels. </dd>
159
160<dd> </dd>
161<dt>exception</dt>
162<dd>return any errors or warnings in this structure. </dd>
163
164<dd>  </dd>
165</dl>
166<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ColorizeImage">ColorizeImage</a></h2>
167
168<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>
169
170<p>The format of the ColorizeImage method is:</p>
171
172<pre class="text">
173Image *ColorizeImage(const Image *image,const char *blend,
174  const PixelInfo *colorize,ExceptionInfo *exception)
175</pre>
176
177<p>A description of each parameter follows:</p>
178
179<dd>
180</dd>
181
182<dd> </dd>
183<dl class="dl-horizontal">
184<dt>image</dt>
185<dd>the image. </dd>
186
187<dd> </dd>
188<dt>blend</dt>
189<dd> A character string indicating the level of blending as a percentage. </dd>
190
191<dd> </dd>
192<dt>colorize</dt>
193<dd>A color value. </dd>
194
195<dd> </dd>
196<dt>exception</dt>
197<dd>return any errors or warnings in this structure. </dd>
198
199<dd>  </dd>
200</dl>
201<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ColorMatrixImage">ColorMatrixImage</a></h2>
202
203<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>
204
205<p>The format of the ColorMatrixImage method is:</p>
206
207<pre class="text">
208Image *ColorMatrixImage(const Image *image,
209  const KernelInfo *color_matrix,ExceptionInfo *exception)
210</pre>
211
212<p>A description of each parameter follows:</p>
213
214<dd>
215</dd>
216
217<dd> </dd>
218<dl class="dl-horizontal">
219<dt>image</dt>
220<dd>the image. </dd>
221
222<dd> </dd>
223<dt>color_matrix</dt>
224<dd> the color matrix. </dd>
225
226<dd> </dd>
227<dt>exception</dt>
228<dd>return any errors or warnings in this structure. </dd>
229
230<dd>  </dd>
231</dl>
232<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="FxImage">FxImage</a></h2>
233
234<p>FxImage() applies a mathematical expression to the specified image.</p>
235
236<p>The format of the FxImage method is:</p>
237
238<pre class="text">
239Image *FxImage(const Image *image,const char *expression,
240  ExceptionInfo *exception)
241</pre>
242
243<p>A description of each parameter follows:</p>
244
245<dd>
246</dd>
247
248<dd> </dd>
249<dl class="dl-horizontal">
250<dt>image</dt>
251<dd>the image. </dd>
252
253<dd> </dd>
254<dt>expression</dt>
255<dd>A mathematical expression. </dd>
256
257<dd> </dd>
258<dt>exception</dt>
259<dd>return any errors or warnings in this structure. </dd>
260
261<dd>  </dd>
262</dl>
263<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ImplodeImage">ImplodeImage</a></h2>
264
265<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>
266
267<p>The format of the ImplodeImage method is:</p>
268
269<pre class="text">
270Image *ImplodeImage(const Image *image,const double amount,
271  const PixelInterpolateMethod method,ExceptionInfo *exception)
272</pre>
273
274<p>A description of each parameter follows:</p>
275
276<dd>
277</dd>
278
279<dd> </dd>
280<dl class="dl-horizontal">
281<dt>implode_image</dt>
282<dd>Method ImplodeImage returns a pointer to the image after it is implode.  A null image is returned if there is a memory shortage. </dd>
283
284<dd> </dd>
285<dt>image</dt>
286<dd>the image. </dd>
287
288<dd> </dd>
289<dt>amount</dt>
290<dd> Define the extent of the implosion. </dd>
291
292<dd> </dd>
293<dt>method</dt>
294<dd>the pixel interpolation method. </dd>
295
296<dd> </dd>
297<dt>exception</dt>
298<dd>return any errors or warnings in this structure. </dd>
299
300<dd>  </dd>
301</dl>
302<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="The_MorphImages">The MorphImages</a></h2>
303
304<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>
305
306<p>The format of the MorphImage method is:</p>
307
308<pre class="text">
309Image *MorphImages(const Image *image,const size_t number_frames,
310  ExceptionInfo *exception)
311</pre>
312
313<p>A description of each parameter follows:</p>
314
315<dd>
316</dd>
317
318<dd> </dd>
319<dl class="dl-horizontal">
320<dt>image</dt>
321<dd>the image. </dd>
322
323<dd> </dd>
324<dt>number_frames</dt>
325<dd> Define the number of in-between image to generate. The more in-between frames, the smoother the morph. </dd>
326
327<dd> </dd>
328<dt>exception</dt>
329<dd>return any errors or warnings in this structure. </dd>
330
331<dd>  </dd>
332</dl>
333<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="PlasmaImage">PlasmaImage</a></h2>
334
335<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>
336
337<p>The format of the PlasmaImage method is:</p>
338
339<pre class="text">
340MagickBooleanType PlasmaImage(Image *image,const SegmentInfo *segment,
341  size_t attenuate,size_t depth,ExceptionInfo *exception)
342</pre>
343
344<p>A description of each parameter follows:</p>
345
346<dd>
347</dd>
348
349<dd> </dd>
350<dl class="dl-horizontal">
351<dt>image</dt>
352<dd>the image. </dd>
353
354<dd> </dd>
355<dt>segment</dt>
356<dd>  Define the region to apply plasma fractals values. </dd>
357
358<dd> </dd>
359<dt>attenuate</dt>
360<dd>Define the plasma attenuation factor. </dd>
361
362<dd> </dd>
363<dt>depth</dt>
364<dd>Limit the plasma recursion depth. </dd>
365
366<dd> </dd>
367<dt>exception</dt>
368<dd>return any errors or warnings in this structure. </dd>
369
370<dd>  </dd>
371</dl>
372<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="PolaroidImage">PolaroidImage</a></h2>
373
374<p>PolaroidImage() simulates a Polaroid picture.</p>
375
376<p>The format of the PolaroidImage method is:</p>
377
378<pre class="text">
379Image *PolaroidImage(const Image *image,const DrawInfo *draw_info,
380  const char *caption,const double angle,
381  const PixelInterpolateMethod method,ExceptionInfo exception)
382</pre>
383
384<p>A description of each parameter follows:</p>
385
386<dd>
387</dd>
388
389<dd> </dd>
390<dl class="dl-horizontal">
391<dt>image</dt>
392<dd>the image. </dd>
393
394<dd> </dd>
395<dt>draw_info</dt>
396<dd>the draw info. </dd>
397
398<dd> </dd>
399<dt>caption</dt>
400<dd>the Polaroid caption. </dd>
401
402<dd> </dd>
403<dt>angle</dt>
404<dd>Apply the effect along this angle. </dd>
405
406<dd> </dd>
407<dt>method</dt>
408<dd>the pixel interpolation method. </dd>
409
410<dd> </dd>
411<dt>exception</dt>
412<dd>return any errors or warnings in this structure. </dd>
413
414<dd>  </dd>
415</dl>
416<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="MagickSepiaToneImage">MagickSepiaToneImage</a></h2>
417
418<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>
419
420<p>The format of the SepiaToneImage method is:</p>
421
422<pre class="text">
423Image *SepiaToneImage(const Image *image,const double threshold,
424  ExceptionInfo *exception)
425</pre>
426
427<p>A description of each parameter follows:</p>
428
429<dd>
430</dd>
431
432<dd> </dd>
433<dl class="dl-horizontal">
434<dt>image</dt>
435<dd>the image. </dd>
436
437<dd> </dd>
438<dt>threshold</dt>
439<dd>the tone threshold. </dd>
440
441<dd> </dd>
442<dt>exception</dt>
443<dd>return any errors or warnings in this structure. </dd>
444
445<dd>  </dd>
446</dl>
447<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="ShadowImage">ShadowImage</a></h2>
448
449<p>ShadowImage() simulates a shadow from the specified image and returns it.</p>
450
451<p>The format of the ShadowImage method is:</p>
452
453<pre class="text">
454Image *ShadowImage(const Image *image,const double alpha,
455  const double sigma,const ssize_t x_offset,const ssize_t y_offset,
456  ExceptionInfo *exception)
457</pre>
458
459<p>A description of each parameter follows:</p>
460
461<dd>
462</dd>
463
464<dd> </dd>
465<dl class="dl-horizontal">
466<dt>image</dt>
467<dd>the image. </dd>
468
469<dd> </dd>
470<dt>alpha</dt>
471<dd>percentage transparency. </dd>
472
473<dd> </dd>
474<dt>sigma</dt>
475<dd>the standard deviation of the Gaussian, in pixels. </dd>
476
477<dd> </dd>
478<dt>x_offset</dt>
479<dd>the shadow x-offset. </dd>
480
481<dd> </dd>
482<dt>y_offset</dt>
483<dd>the shadow y-offset. </dd>
484
485<dd> </dd>
486<dt>exception</dt>
487<dd>return any errors or warnings in this structure. </dd>
488
489<dd>  </dd>
490</dl>
491<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SketchImage">SketchImage</a></h2>
492
493<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>
494
495<p>The format of the SketchImage method is:</p>
496
497<pre class="text">
498    Image *SketchImage(const Image *image,const double radius,
499const double sigma,const double angle,ExceptionInfo *exception)
500</pre>
501
502<p>A description of each parameter follows:</p>
503
504<dd>
505</dd>
506
507<dd> </dd>
508<dl class="dl-horizontal">
509<dt>image</dt>
510<dd>the image. </dd>
511
512<dd> </dd>
513<dt>radius</dt>
514<dd>the radius of the Gaussian, in pixels, not counting the center pixel. </dd>
515
516<dd> </dd>
517<dt>sigma</dt>
518<dd>the standard deviation of the Gaussian, in pixels. </dd>
519
520<dd> </dd>
521<dt>angle</dt>
522<dd>apply the effect along this angle. </dd>
523
524<dd> </dd>
525<dt>exception</dt>
526<dd>return any errors or warnings in this structure. </dd>
527
528<dd>  </dd>
529</dl>
530<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SolarizeImage">SolarizeImage</a></h2>
531
532<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>
533
534<p>The format of the SolarizeImage method is:</p>
535
536<pre class="text">
537MagickBooleanType SolarizeImage(Image *image,const double threshold,
538  ExceptionInfo *exception)
539</pre>
540
541<p>A description of each parameter follows:</p>
542
543<dd>
544</dd>
545
546<dd> </dd>
547<dl class="dl-horizontal">
548<dt>image</dt>
549<dd>the image. </dd>
550
551<dd> </dd>
552<dt>threshold</dt>
553<dd> Define the extent of the solarization. </dd>
554
555<dd> </dd>
556<dt>exception</dt>
557<dd>return any errors or warnings in this structure. </dd>
558
559<dd>  </dd>
560</dl>
561<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SteganoImage">SteganoImage</a></h2>
562
563<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>
564
565<p>The format of the SteganoImage method is:</p>
566
567<pre class="text">
568Image *SteganoImage(const Image *image,Image *watermark,
569  ExceptionInfo *exception)
570</pre>
571
572<p>A description of each parameter follows:</p>
573
574<dd>
575</dd>
576
577<dd> </dd>
578<dl class="dl-horizontal">
579<dt>image</dt>
580<dd>the image. </dd>
581
582<dd> </dd>
583<dt>watermark</dt>
584<dd>the watermark image. </dd>
585
586<dd> </dd>
587<dt>exception</dt>
588<dd>return any errors or warnings in this structure. </dd>
589
590<dd>  </dd>
591</dl>
592<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="StereoAnaglyphImage">StereoAnaglyphImage</a></h2>
593
594<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>
595
596<p>The format of the StereoAnaglyphImage method is:</p>
597
598<pre class="text">
599Image *StereoImage(const Image *left_image,const Image *right_image,
600  ExceptionInfo *exception)
601Image *StereoAnaglyphImage(const Image *left_image,
602  const Image *right_image,const ssize_t x_offset,const ssize_t y_offset,
603  ExceptionInfo *exception)
604</pre>
605
606<p>A description of each parameter follows:</p>
607
608<dd>
609</dd>
610
611<dd> </dd>
612<dl class="dl-horizontal">
613<dt>left_image</dt>
614<dd>the left image. </dd>
615
616<dd> </dd>
617<dt>right_image</dt>
618<dd>the right image. </dd>
619
620<dd> </dd>
621<dt>exception</dt>
622<dd>return any errors or warnings in this structure. </dd>
623
624<dd> </dd>
625<dt>x_offset</dt>
626<dd>amount, in pixels, by which the left image is offset to the right of the right image. </dd>
627
628<dd> </dd>
629<dt>y_offset</dt>
630<dd>amount, in pixels, by which the left image is offset to the bottom of the right image. </dd>
631
632<dd> </dd>
633
634<dd>  </dd>
635</dl>
636<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="SwirlImage">SwirlImage</a></h2>
637
638<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>
639
640<p>The format of the SwirlImage method is:</p>
641
642<pre class="text">
643Image *SwirlImage(const Image *image,double degrees,
644  const PixelInterpolateMethod method,ExceptionInfo *exception)
645</pre>
646
647<p>A description of each parameter follows:</p>
648
649<dd>
650</dd>
651
652<dd> </dd>
653<dl class="dl-horizontal">
654<dt>image</dt>
655<dd>the image. </dd>
656
657<dd> </dd>
658<dt>degrees</dt>
659<dd>Define the tightness of the swirling effect. </dd>
660
661<dd> </dd>
662<dt>method</dt>
663<dd>the pixel interpolation method. </dd>
664
665<dd> </dd>
666<dt>exception</dt>
667<dd>return any errors or warnings in this structure. </dd>
668
669<dd>  </dd>
670</dl>
671<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="TintImage">TintImage</a></h2>
672
673<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>
674
675<p>The format of the TintImage method is:</p>
676
677<pre class="text">
678Image *TintImage(const Image *image,const char *blend,
679  const PixelInfo *tint,ExceptionInfo *exception)
680</pre>
681
682<p>A description of each parameter follows:</p>
683
684<dd>
685</dd>
686
687<dd> </dd>
688<dl class="dl-horizontal">
689<dt>image</dt>
690<dd>the image. </dd>
691
692<dd> </dd>
693<dt>blend</dt>
694<dd>A color value used for tinting. </dd>
695
696<dd> </dd>
697<dt>tint</dt>
698<dd>A color value used for tinting. </dd>
699
700<dd> </dd>
701<dt>exception</dt>
702<dd>return any errors or warnings in this structure. </dd>
703
704<dd>  </dd>
705</dl>
706<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="VignetteImage">VignetteImage</a></h2>
707
708<p>VignetteImage() softens the edges of the image in vignette style.</p>
709
710<p>The format of the VignetteImage method is:</p>
711
712<pre class="text">
713Image *VignetteImage(const Image *image,const double radius,
714  const double sigma,const ssize_t x,const ssize_t y,
715  ExceptionInfo *exception)
716</pre>
717
718<p>A description of each parameter follows:</p>
719
720<dd>
721</dd>
722
723<dd> </dd>
724<dl class="dl-horizontal">
725<dt>image</dt>
726<dd>the image. </dd>
727
728<dd> </dd>
729<dt>radius</dt>
730<dd>the radius of the pixel neighborhood. </dd>
731
732<dd> </dd>
733<dt>sigma</dt>
734<dd>the standard deviation of the Gaussian, in pixels. </dd>
735
736<dd> </dd>
737<dt>x, y</dt>
738<dd> Define the x and y ellipse offset. </dd>
739
740<dd> </dd>
741<dt>exception</dt>
742<dd>return any errors or warnings in this structure. </dd>
743
744<dd>  </dd>
745</dl>
746<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="WaveImage">WaveImage</a></h2>
747
748<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>
749
750<p>The format of the WaveImage method is:</p>
751
752<pre class="text">
753Image *WaveImage(const Image *image,const double amplitude,
754  const double wave_length,const PixelInterpolateMethod method,
755  ExceptionInfo *exception)
756</pre>
757
758<p>A description of each parameter follows:</p>
759
760<dd>
761</dd>
762
763<dd> </dd>
764<dl class="dl-horizontal">
765<dt>image</dt>
766<dd>the image. </dd>
767
768<dd> </dd>
769<dt>amplitude, wave_length</dt>
770<dd> Define the amplitude and wave length of the sine wave. </dd>
771
772<dd> </dd>
773<dt>interpolate</dt>
774<dd>the pixel interpolation method. </dd>
775
776<dd> </dd>
777<dt>exception</dt>
778<dd>return any errors or warnings in this structure. </dd>
779
780<dd>  </dd>
781</dl>
782<h2><a href="http://www.imagemagick.org/api/MagickCore/fx_8c.html" id="WaveletDenoiseImage">WaveletDenoiseImage</a></h2>
783
784<p>WaveletDenoiseImage() removes noise from the image using a wavelet transform.  The wavelet transform is a fast hierarchical scheme for processing an image using a set of consecutive lowpass and high_pass filters, followed by a decimation.  This results in a decomposition into different scales which can be regarded as different “frequency bands”, determined by the mother wavelet.  Adapted from dcraw.c by David Coffin.</p>
785
786<p>The format of the WaveletDenoiseImage method is:</p>
787
788<pre class="text">
789Image *WaveletDenoiseImage(const Image *image,const double threshold,
790  const double softness,ExceptionInfo *exception)
791</pre>
792
793<p>A description of each parameter follows:</p>
794
795<dd>
796</dd>
797
798<dd> </dd>
799<dl class="dl-horizontal">
800<dt>image</dt>
801<dd>the image. </dd>
802
803<dd> </dd>
804<dt>threshold</dt>
805<dd>set the threshold for smoothing. </dd>
806
807<dd> </dd>
808<dt>softness</dt>
809<dd>attenuate the smoothing threshold. </dd>
810
811<dd> </dd>
812<dt>exception</dt>
813<dd>return any errors or warnings in this structure. </dd>
814
815<dd>  </dd>
816</dl>
817</div>
818  <footer class="magick-footer">
819    <p><a href="../support.html">Donate</a> •
820     <a href="../sitemap.html">Sitemap</a> •
821    <a href="../links.html">Related</a> •
822    <a href="../architecture.html">Architecture</a>
823</p>
824    <p><a href="fx.html#">Back to top</a> •
825    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
826    <a href="http://www.imagemagick.org/script/contact.php">Contact Us</a></p>
827        <p><small>©  1999-2016 ImageMagick Studio LLC</small></p>
828  </footer>
829</div><!-- /.container -->
830
831  <script src="https://localhost/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
832  <script src="../js/magick.html"></script>
833</div>
834</body>
835</html>
836