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