MagickCore  6.7.5
fx.c File Reference
#include "MagickCore/studio.h"
#include "MagickCore/annotate.h"
#include "MagickCore/artifact.h"
#include "MagickCore/attribute.h"
#include "MagickCore/cache.h"
#include "MagickCore/cache-view.h"
#include "MagickCore/color.h"
#include "MagickCore/color-private.h"
#include "MagickCore/composite.h"
#include "MagickCore/decorate.h"
#include "MagickCore/distort.h"
#include "MagickCore/draw.h"
#include "MagickCore/effect.h"
#include "MagickCore/enhance.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/fx.h"
#include "MagickCore/fx-private.h"
#include "MagickCore/gem.h"
#include "MagickCore/gem-private.h"
#include "MagickCore/geometry.h"
#include "MagickCore/layer.h"
#include "MagickCore/list.h"
#include "MagickCore/log.h"
#include "MagickCore/image.h"
#include "MagickCore/image-private.h"
#include "MagickCore/magick.h"
#include "MagickCore/memory_.h"
#include "MagickCore/monitor.h"
#include "MagickCore/monitor-private.h"
#include "MagickCore/option.h"
#include "MagickCore/pixel.h"
#include "MagickCore/pixel-accessor.h"
#include "MagickCore/property.h"
#include "MagickCore/quantum.h"
#include "MagickCore/quantum-private.h"
#include "MagickCore/random_.h"
#include "MagickCore/random-private.h"
#include "MagickCore/resample.h"
#include "MagickCore/resample-private.h"
#include "MagickCore/resize.h"
#include "MagickCore/splay-tree.h"
#include "MagickCore/statistic.h"
#include "MagickCore/string_.h"
#include "MagickCore/string-private.h"
#include "MagickCore/thread-private.h"
#include "MagickCore/transform.h"
#include "MagickCore/utility.h"
Include dependency graph for fx.c:

Go to the source code of this file.

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 ExponentialNotation   0xfd
#define AddNoiseImageTag   "AddNoise/Image"
#define BlueShiftImageTag   "BlueShift/Image"
#define ColorizeImageTag   "Colorize/Image"
#define ColorMatrixImageTag   "ColorMatrix/Image"
#define FxImageTag   "Fx/Image"
#define ImplodeImageTag   "Implode/Image"
#define MorphImageTag   "Morph/Image"
#define SepiaToneImageTag   "SepiaTone/Image"
#define ShadowImageTag   "Shadow/Image"
#define SolarizeImageTag   "Solarize/Image"
#define GetBit(alpha, i)   ((((size_t) (alpha) >> (size_t) (i)) & 0x01) != 0)
#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

MagickPrivate FxInfoAcquireFxInfo (const Image *image, const char *expression)
MagickExport ImageAddNoiseImage (const Image *image, const NoiseType noise_type, const double attenuate, ExceptionInfo *exception)
MagickExport ImageBlueShiftImage (const Image *image, const double factor, ExceptionInfo *exception)
MagickExport ImageCharcoalImage (const Image *image, const double radius, const double sigma, const double bias, ExceptionInfo *exception)
MagickExport ImageColorizeImage (const Image *image, const char *blend, const PixelInfo *colorize, ExceptionInfo *exception)
MagickExport ImageColorMatrixImage (const Image *image, const KernelInfo *color_matrix, ExceptionInfo *exception)
MagickPrivate FxInfoDestroyFxInfo (FxInfo *fx_info)
static double MagickMax (const double x, const double y)
static double MagickMin (const double x, const double y)
static MagickRealType FxChannelStatistics (FxInfo *fx_info, const Image *image, PixelChannel channel, const char *symbol, ExceptionInfo *exception)
static MagickRealType FxEvaluateSubexpression (FxInfo *, const PixelChannel, const ssize_t, const ssize_t, const char *, MagickRealType *, ExceptionInfo *)
static MagickOffsetType FxGCD (MagickOffsetType alpha, MagickOffsetType beta)
static const char * FxSubexpression (const char *expression, ExceptionInfo *exception)
static MagickRealType FxGetSymbol (FxInfo *fx_info, const PixelChannel channel, const ssize_t x, const ssize_t y, const char *expression, ExceptionInfo *exception)
static const char * FxOperatorPrecedence (const char *expression, ExceptionInfo *exception)
MagickPrivate MagickBooleanType FxEvaluateExpression (FxInfo *fx_info, MagickRealType *alpha, ExceptionInfo *exception)
MagickExport MagickBooleanType FxPreprocessExpression (FxInfo *fx_info, MagickRealType *alpha, ExceptionInfo *exception)
MagickPrivate MagickBooleanType FxEvaluateChannelExpression (FxInfo *fx_info, const PixelChannel channel, const ssize_t x, const ssize_t y, MagickRealType *alpha, ExceptionInfo *exception)
static FxInfo ** DestroyFxThreadSet (FxInfo **fx_info)
static FxInfo ** AcquireFxThreadSet (const Image *image, const char *expression, ExceptionInfo *exception)
MagickExport ImageFxImage (const Image *image, const char *expression, ExceptionInfo *exception)
MagickExport ImageImplodeImage (const Image *image, const double amount, const PixelInterpolateMethod method, ExceptionInfo *exception)
MagickExport ImageMorphImages (const Image *image, const size_t number_frames, ExceptionInfo *exception)
static Quantum PlasmaPixel (RandomInfo *random_info, const MagickRealType pixel, const MagickRealType noise)
static MagickBooleanType PlasmaImageProxy (Image *image, CacheView *image_view, CacheView *u_view, CacheView *v_view, RandomInfo *random_info, const SegmentInfo *segment, size_t attenuate, size_t depth, ExceptionInfo *exception)
MagickExport MagickBooleanType PlasmaImage (Image *image, const SegmentInfo *segment, size_t attenuate, size_t depth, ExceptionInfo *exception)
MagickExport ImagePolaroidImage (const Image *image, const DrawInfo *draw_info, const char *caption, const double angle, const PixelInterpolateMethod method, ExceptionInfo *exception)
MagickExport ImageSepiaToneImage (const Image *image, const double threshold, ExceptionInfo *exception)
MagickExport ImageShadowImage (const Image *image, const double alpha, const double sigma, const double bias, const ssize_t x_offset, const ssize_t y_offset, ExceptionInfo *exception)
MagickExport ImageSketchImage (const Image *image, const double radius, const double sigma, const double angle, const double bias, ExceptionInfo *exception)
MagickExport MagickBooleanType SolarizeImage (Image *image, const double threshold, ExceptionInfo *exception)
MagickExport ImageSteganoImage (const Image *image, const Image *watermark, ExceptionInfo *exception)
MagickExport ImageStereoImage (const Image *left_image, const Image *right_image, ExceptionInfo *exception)
MagickExport ImageStereoAnaglyphImage (const Image *left_image, const Image *right_image, const ssize_t x_offset, const ssize_t y_offset, ExceptionInfo *exception)
MagickExport ImageSwirlImage (const Image *image, double degrees, const PixelInterpolateMethod method, ExceptionInfo *exception)
MagickExport ImageTintImage (const Image *image, const char *blend, const PixelInfo *tint, ExceptionInfo *exception)
MagickExport ImageVignetteImage (const Image *image, const double radius, const double sigma, const double bias, const ssize_t x, const ssize_t y, ExceptionInfo *exception)
MagickExport ImageWaveImage (const Image *image, const double amplitude, const double wave_length, const PixelInterpolateMethod method, ExceptionInfo *exception)

Define Documentation

#define AddNoiseImageTag   "AddNoise/Image"

Referenced by AddNoiseImage().

#define BlueShiftImageTag   "BlueShift/Image"

Referenced by BlueShiftImage().

#define ColorizeImageTag   "Colorize/Image"

Referenced by ColorizeImage().

#define ColorMatrixImageTag   "ColorMatrix/Image"

Referenced by ColorMatrixImage().

#define EqualOperator   0xf9

Definition at line 99 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define ExponentialNotation   0xfd

Definition at line 103 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define FxImageTag   "Fx/Image"

Referenced by FxImage().

#define GetBit (   alpha,
 
)    ((((size_t) (alpha) >> (size_t) (i)) & 0x01) != 0)

Referenced by SteganoImage().

#define GreaterThanEqualOperator   0xf8

Definition at line 98 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define ImplodeImageTag   "Implode/Image"

Referenced by ImplodeImage().

#define LeftShiftOperator   0xf5

Definition at line 95 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define LessThanEqualOperator   0xf7

Definition at line 97 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define LogicalAndOperator   0xfb

Definition at line 101 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define LogicalOrOperator   0xfc

Definition at line 102 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define MorphImageTag   "Morph/Image"

Referenced by MorphImages().

#define NotEqualOperator   0xfa

Definition at line 100 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define RightShiftOperator   0xf6

Definition at line 96 of file fx.c.

Referenced by AcquireFxInfo(), FxOperatorPrecedence(), and FxEvaluateSubexpression().

#define SepiaToneImageTag   "SepiaTone/Image"

Referenced by SepiaToneImage().

#define SetBit (   alpha,
  i,
  set 
)
Value:
(Quantum) ((set) != 0 ? (size_t) (alpha) \
  | (one << (size_t) (i)) : (size_t) (alpha) & ~(one << (size_t) (i)))

Referenced by SteganoImage().

#define ShadowImageTag   "Shadow/Image"
#define SolarizeImageTag   "Solarize/Image"

Referenced by SolarizeImage().

#define SteganoImageTag   "Stegano/Image"

Referenced by SteganoImage().

#define StereoImageTag   "Stereo/Image"

Referenced by StereoAnaglyphImage().

#define SwirlImageTag   "Swirl/Image"

Referenced by SwirlImage().

#define TintImageTag   "Tint/Image"

Referenced by TintImage().

#define WaveImageTag   "Wave/Image"

Referenced by WaveImage().


Function Documentation

static FxInfo** AcquireFxThreadSet ( const Image image,
const char *  expression,
ExceptionInfo exception 
) [static]
MagickExport Image* CharcoalImage ( const Image image,
const double  radius,
const double  sigma,
const double  bias,
ExceptionInfo exception 
)
static FxInfo** DestroyFxThreadSet ( FxInfo **  fx_info) [static]

Definition at line 2962 of file fx.c.

References GetOpenMPMaximumThreads(), DestroyFxInfo(), and RelinquishMagickMemory().

Referenced by AcquireFxThreadSet(), and FxImage().

MagickPrivate MagickBooleanType FxEvaluateChannelExpression ( FxInfo fx_info,
const PixelChannel  channel,
const ssize_t  x,
const ssize_t  y,
MagickRealType alpha,
ExceptionInfo exception 
)
MagickPrivate MagickBooleanType FxEvaluateExpression ( FxInfo fx_info,
MagickRealType alpha,
ExceptionInfo exception 
)

Definition at line 2893 of file fx.c.

References FxEvaluateChannelExpression(), and GrayPixelChannel.

static MagickOffsetType FxGCD ( MagickOffsetType  alpha,
MagickOffsetType  beta 
) [static]

Definition at line 1258 of file fx.c.

Referenced by FxEvaluateSubexpression().

static MagickRealType FxGetSymbol ( FxInfo fx_info,
const PixelChannel  channel,
const ssize_t  x,
const ssize_t  y,
const char *  expression,
ExceptionInfo exception 
) [static]
static const char* FxOperatorPrecedence ( const char *  expression,
ExceptionInfo exception 
) [static]
MagickExport MagickBooleanType FxPreprocessExpression ( FxInfo fx_info,
MagickRealType alpha,
ExceptionInfo exception 
)

Definition at line 2904 of file fx.c.

References _FxInfo::file, FxEvaluateChannelExpression(), and GrayPixelChannel.

Referenced by AcquireFxThreadSet(), and FxImage().

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

Definition at line 1265 of file fx.c.

References ThrowMagickException(), GetMagickModule, and OptionError.

Referenced by FxOperatorPrecedence().

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

Definition at line 1140 of file fx.c.

Referenced by PolaroidImage(), and SwirlImage().

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

Definition at line 1147 of file fx.c.

static MagickBooleanType PlasmaImageProxy ( Image image,
CacheView image_view,
CacheView u_view,
CacheView v_view,
RandomInfo random_info,
const SegmentInfo segment,
size_t  attenuate,
size_t  depth,
ExceptionInfo exception 
) [static]
static Quantum PlasmaPixel ( RandomInfo random_info,
const MagickRealType  pixel,
const MagickRealType  noise 
) [inline, static]

Definition at line 3649 of file fx.c.

References ClampToQuantum(), and GetPseudoRandomValue().

Referenced by PlasmaImageProxy().

MagickExport Image* StereoImage ( const Image left_image,
const Image right_image,
ExceptionInfo exception 
)

Definition at line 4911 of file fx.c.

References StereoAnaglyphImage().