# fx.c File Reference

`#include "magick/studio.h"`
`#include "magick/annotate.h"`
`#include "magick/cache.h"`
`#include "magick/cache-view.h"`
`#include "magick/color.h"`
`#include "magick/color-private.h"`
`#include "magick/composite.h"`
`#include "magick/decorate.h"`
`#include "magick/draw.h"`
`#include "magick/effect.h"`
`#include "magick/enhance.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/fx.h"`
`#include "magick/fx-private.h"`
`#include "magick/gem.h"`
`#include "magick/geometry.h"`
`#include "magick/layer.h"`
`#include "magick/list.h"`
`#include "magick/log.h"`
`#include "magick/image.h"`
`#include "magick/image-private.h"`
`#include "magick/memory_.h"`
`#include "magick/monitor.h"`
`#include "magick/option.h"`
`#include "magick/pixel-private.h"`
`#include "magick/property.h"`
`#include "magick/quantum.h"`
`#include "magick/random_.h"`
`#include "magick/resample.h"`
`#include "magick/resize.h"`
`#include "magick/shear.h"`
`#include "magick/splay-tree.h"`
`#include "magick/statistic.h"`
`#include "magick/string_.h"`
`#include "magick/transform.h"`
`#include "magick/utility.h"`

## Data Structures
struct | _FxInfo
## Defines
#define | LeftShiftOperator 0xf5
#define | RightShiftOperator 0xf6
#define | LessThanEqualOperator 0xf7
#define | GreaterThanEqualOperator 0xf8
#define | EqualOperator 0xf9
#define | NotEqualOperator 0xfa
#define | LogicalAndOperator 0xfb
#define | LogicalOrOperator 0xfc
#define | ColorizeImageTag "Colorize/Image"
#define | ConvolveImageTag "Convolve/Image"
#define | EvaluateImageTag "Constant/Image "
#define | FxImageTag "Fx/Image"
#define | ImplodeImageTag "Implode/Image"
#define | MorphImageTag "Morph/Image"
#define | RecolorImageTag "Recolor/Image"
#define | SepiaToneImageTag "SepiaTone/Image"
#define | SolarizeImageTag "Solarize/Image"
#define | GetBit(alpha, i)
#define | SetBit(alpha, i, set)
#define | SteganoImageTag "Stegano/Image"
#define | StereoImageTag "Stereo/Image"
#define | SwirlImageTag "Swirl/Image"
#define | TintImageTag "Tint/Image"
#define | WaveImageTag "Wave/Image"
## Functions
MagickExport FxInfo * | AcquireFxInfo (const Image *image, const char *expression)
MagickExport Image * | CharcoalImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | ColorizeImage (const Image *image, const char *opacity, const PixelPacket colorize, ExceptionInfo *exception)
MagickExport Image * | ConvolveImage (const Image *image, const unsigned long order, const double *kernel, ExceptionInfo *exception)
MagickExport Image * | ConvolveImageChannel (const Image *image, const ChannelType channel, const unsigned long order, const double *kernel, ExceptionInfo *exception)
MagickExport FxInfo * | DestroyFxInfo (FxInfo *fx_info)
static double | MagickMax (const double x, const double y)
static double | MagickMin (const double x, const double y)
static Quantum | ApplyEvaluateOperator (Quantum pixel, const MagickEvaluateOperator op, const MagickRealType value)
MagickExport MagickBooleanType | EvaluateImage (Image *image, const MagickEvaluateOperator op, const double value, ExceptionInfo *exception)
MagickExport MagickBooleanType | EvaluateImageChannel (Image *image, const ChannelType channel, const MagickEvaluateOperator op, const double value, ExceptionInfo *exception)
static MagickRealType | FxEvaluateSubexpression (FxInfo *, const ChannelType, const long, const long, const char *, MagickRealType *, ExceptionInfo *)
static MagickRealType | FxMax (FxInfo *fx_info, const ChannelType channel, const long x, const long y, const char *expression, ExceptionInfo *exception)
static MagickRealType | FxMin (FxInfo *fx_info, ChannelType channel, const long x, const long y, const char *expression, ExceptionInfo *exception)
static const char * | FxSubexpression (const char *expression, ExceptionInfo *exception)
static MagickRealType | FxGetSymbol (FxInfo *fx_info, const ChannelType channel, const long x, const long y, const char *expression, ExceptionInfo *exception)
static const char * | FxOperatorPrecedence (const char *expression, ExceptionInfo *exception)
MagickExport MagickBooleanType | FxEvaluateExpression (FxInfo *fx_info, MagickRealType *alpha, ExceptionInfo *exception)
MagickExport MagickBooleanType | FxEvaluateChannelExpression (FxInfo *fx_info, const ChannelType channel, const long x, const long y, MagickRealType *alpha, ExceptionInfo *exception)
MagickExport Image * | FxImage (const Image *image, const char *expression, ExceptionInfo *exception)
MagickExport Image * | FxImageChannel (const Image *image, const ChannelType channel, const char *expression, ExceptionInfo *exception)
MagickExport Image * | ImplodeImage (const Image *image, const double amount, ExceptionInfo *exception)
MagickExport Image * | MorphImages (const Image *image, const unsigned long number_frames, ExceptionInfo *exception)
MagickExport Image * | PolaroidImage (const Image *image, const DrawInfo *draw_info, const double angle, ExceptionInfo *exception)
MagickExport Image * | RecolorImage (const Image *image, const unsigned long order, const double *color_matrix, ExceptionInfo *exception)
MagickExport Image * | SepiaToneImage (const Image *image, const double threshold, ExceptionInfo *exception)
MagickExport Image * | ShadowImage (const Image *image, const double opacity, const double sigma, const long x_offset, const long y_offset, ExceptionInfo *exception)
MagickExport Image * | SketchImage (const Image *image, const double radius, const double sigma, const double angle, ExceptionInfo *exception)
MagickExport MagickBooleanType | SolarizeImage (Image *image, const double threshold)
MagickExport Image * | SteganoImage (const Image *image, const Image *watermark, ExceptionInfo *exception)
MagickExport Image * | StereoImage (const Image *image, const Image *offset_image, ExceptionInfo *exception)
MagickExport Image * | SwirlImage (const Image *image, double degrees, ExceptionInfo *exception)
MagickExport Image * | TintImage (const Image *image, const char *opacity, const PixelPacket tint, ExceptionInfo *exception)
MagickExport Image * | VignetteImage (const Image *image, const double radius, const double sigma, const long x, const long y, ExceptionInfo *exception)
MagickExport Image * | WaveImage (const Image *image, const double amplitude, const double wave_length, ExceptionInfo *exception)

## Define Documentation

#define ColorizeImageTag "Colorize/Image"

#define ConvolveImageTag "Convolve/Image"

#define EqualOperator 0xf9

#define EvaluateImageTag "Constant/Image "

#define FxImageTag "Fx/Image"

#define GetBit | ( | alpha,
|  | i |  | ) |

Value:

    ((((unsigned long) (alpha) >> (unsigned long) \
      (i)) & 0x01) != 0)

#define GreaterThanEqualOperator 0xf8

#define ImplodeImageTag "Implode/Image"

#define LeftShiftOperator 0xf5

#define LessThanEqualOperator 0xf7

#define LogicalAndOperator 0xfb

#define LogicalOrOperator 0xfc

#define MorphImageTag "Morph/Image"

#define NotEqualOperator 0xfa

#define RecolorImageTag "Recolor/Image"

#define RightShiftOperator 0xf6

#define SepiaToneImageTag "SepiaTone/Image"

#define SetBit | ( | alpha,
|  | i,
|  | set |  | ) |

Value:

    (alpha)=(Quantum) ((set) ? (unsigned long) (alpha) \
      | (1UL << (unsigned long) (i)) : (unsigned long) (alpha) & \
      ~(1UL << (unsigned long) (i)))

#define SolarizeImageTag "Solarize/Image"

#define SteganoImageTag "Stegano/Image"

#define StereoImageTag "Stereo/Image"

#define SwirlImageTag "Swirl/Image"

#define TintImageTag "Tint/Image"

#define WaveImageTag "Wave/Image"

## Function Documentation

MagickExport FxInfo* AcquireFxInfo | ( | const Image * | image,
|  | const char * | expression |
| ) |  |  |

static Quantum ApplyEvaluateOperator | ( | Quantum | pixel,
|  | const MagickEvaluateOperator | op,
|  | const MagickRealType | value |
| ) |  |  | `[inline, static]`

MagickExport Image* CharcoalImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* ColorizeImage | ( | const Image * | image,
|  | const char * | opacity,
|  | const PixelPacket | colorize,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* ConvolveImage | ( | const Image * | image,
|  | const unsigned long | order,
|  | const double * | kernel,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* ConvolveImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const unsigned long | order,
|  | const double * | kernel,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport FxInfo* DestroyFxInfo | ( | FxInfo * | fx_info | ) |

MagickExport MagickBooleanType EvaluateImage | ( | Image * | image,
|  | const MagickEvaluateOperator | op,
|  | const double | value,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType EvaluateImageChannel | ( | Image * | image,
|  | const ChannelType | channel,
|  | const MagickEvaluateOperator | op,
|  | const double | value,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType FxEvaluateChannelExpression | ( | FxInfo * | fx_info,
|  | const ChannelType | channel,
|  | const long | x,
|  | const long | y,
|  | MagickRealType * | alpha,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType FxEvaluateExpression | ( | FxInfo * | fx_info,
|  | MagickRealType * | alpha,
|  | ExceptionInfo * | exception |
| ) |  |  |

static MagickRealType FxEvaluateSubexpression | ( | FxInfo * | fx_info,
|  | const | ChannelType,
|  | const | long,
|  | const | long,
|  | const char * | expression,
|  | MagickRealType * | beta,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

static MagickRealType FxGetSymbol | ( | FxInfo * | fx_info,
|  | const ChannelType | channel,
|  | const long | x,
|  | const long | y,
|  | const char * | expression,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

MagickExport Image* FxImage | ( | const Image * | image,
|  | const char * | expression,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* FxImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const char * | expression,
|  | ExceptionInfo * | exception |
| ) |  |  |

static MagickRealType FxMax | ( | FxInfo * | fx_info,
|  | const ChannelType | channel,
|  | const long | x,
|  | const long | y,
|  | const char * | expression,
|  | ExceptionInfo * | exception |
| ) |  |  | `[inline, static]`

static MagickRealType FxMin | ( | FxInfo * | fx_info,
|  | ChannelType | channel,
|  | const long | x,
|  | const long | y,
|  | const char * | expression,
|  | ExceptionInfo * | exception |
| ) |  |  | `[inline, static]`

static const char* FxOperatorPrecedence | ( | const char * | expression,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

static const char* FxSubexpression | ( | const char * | expression,
|  | ExceptionInfo * | exception |
| ) |  |  | `[inline, static]`

MagickExport Image* ImplodeImage | ( | const Image * | image,
|  | const double | amount,
|  | ExceptionInfo * | exception |
| ) |  |  |

static double MagickMax | ( | const double | x,
|  | const double | y |
| ) |  |  | `[inline, static]`

static double MagickMin | ( | const double | x,
|  | const double | y |
| ) |  |  | `[inline, static]`

MagickExport Image* MorphImages | ( | const Image * | image,
|  | const unsigned long | number_frames,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* PolaroidImage | ( | const Image * | image,
|  | const DrawInfo * | draw_info,
|  | const double | angle,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* RecolorImage | ( | const Image * | image,
|  | const unsigned long | order,
|  | const double * | color_matrix,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* SepiaToneImage | ( | const Image * | image,
|  | const double | threshold,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* ShadowImage | ( | const Image * | image,
|  | const double | opacity,
|  | const double | sigma,
|  | const long | x_offset,
|  | const long | y_offset,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* SketchImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | const double | angle,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType SolarizeImage | ( | Image * | image,
|  | const double | threshold |
| ) |  |  |

MagickExport Image* SteganoImage | ( | const Image * | image,
|  | const Image * | watermark,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* StereoImage | ( | const Image * | image,
|  | const Image * | offset_image,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* SwirlImage | ( | const Image * | image,
|  | double | degrees,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* TintImage | ( | const Image * | image,
|  | const char * | opacity,
|  | const PixelPacket | tint,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* VignetteImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | const long | x,
|  | const long | y,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* WaveImage | ( | const Image * | image,
|  | const double | amplitude,
|  | const double | wave_length,
|  | ExceptionInfo * | exception |
| ) |  |  |