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 Bzier 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> • <a href="fx.html#BlueShiftImage">BlueShiftImage</a> • <a href="fx.html#CharcoalImage">CharcoalImage</a> • <a href="fx.html#ColorizeImage">ColorizeImage</a> • <a href="fx.html#ColorMatrixImage">ColorMatrixImage</a> • <a href="fx.html#FxImage">FxImage</a> • <a href="fx.html#ImplodeImage">ImplodeImage</a> • <a href="fx.html#The MorphImages">The MorphImages</a> • <a href="fx.html#PlasmaImage">PlasmaImage</a> • <a href="fx.html#PolaroidImage">PolaroidImage</a> • <a href="fx.html#MagickSepiaToneImage">MagickSepiaToneImage</a> • <a href="fx.html#ShadowImage">ShadowImage</a> • <a href="fx.html#SketchImage">SketchImage</a> • <a href="fx.html#SolarizeImage">SolarizeImage</a> • <a href="fx.html#SteganoImage">SteganoImage</a> • <a href="fx.html#StereoAnaglyphImage">StereoAnaglyphImage</a> • <a href="fx.html#SwirlImage">SwirlImage</a> • <a href="fx.html#TintImage">TintImage</a> • <a href="fx.html#VignetteImage">VignetteImage</a> • <a href="fx.html#WaveImage">WaveImage</a> • <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"> 68 Image *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"> 107 Image *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"> 138 Image *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"> 173 Image *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"> 208 Image *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"> 239 Image *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"> 270 Image *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"> 309 Image *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"> 340 MagickBooleanType 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"> 379 Image *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"> 423 Image *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"> 454 Image *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, 499 const 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"> 537 MagickBooleanType 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"> 568 Image *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"> 599 Image *StereoImage(const Image *left_image,const Image *right_image, 600 ExceptionInfo *exception) 601 Image *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"> 643 Image *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"> 678 Image *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"> 713 Image *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"> 753 Image *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"> 789 Image *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&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