MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
fx.c File Reference
#include "magick/studio.h"
#include "magick/accelerate-private.h"
#include "magick/annotate.h"
#include "magick/artifact.h"
#include "magick/attribute.h"
#include "magick/cache.h"
#include "magick/cache-view.h"
#include "magick/channel.h"
#include "magick/color.h"
#include "magick/color-private.h"
#include "magick/colorspace.h"
#include "magick/colorspace-private.h"
#include "magick/composite.h"
#include "magick/decorate.h"
#include "magick/distort.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/magick.h"
#include "magick/memory_.h"
#include "magick/monitor.h"
#include "magick/monitor-private.h"
#include "magick/opencl-private.h"
#include "magick/option.h"
#include "magick/pixel-accessor.h"
#include "magick/pixel-private.h"
#include "magick/property.h"
#include "magick/quantum.h"
#include "magick/quantum-private.h"
#include "magick/random_.h"
#include "magick/random-private.h"
#include "magick/resample.h"
#include "magick/resample-private.h"
#include "magick/resize.h"
#include "magick/resource_.h"
#include "magick/splay-tree.h"
#include "magick/statistic.h"
#include "magick/string_.h"
#include "magick/string-private.h"
#include "magick/thread-private.h"
#include "magick/transform.h"
#include "magick/utility.h"

Data Structures

struct  _FxInfo
 

Macros

#define LeftShiftOperator   0xf5U
 
#define RightShiftOperator   0xf6U
 
#define LessThanEqualOperator   0xf7U
 
#define GreaterThanEqualOperator   0xf8U
 
#define EqualOperator   0xf9U
 
#define NotEqualOperator   0xfaU
 
#define LogicalAndOperator   0xfbU
 
#define LogicalOrOperator   0xfcU
 
#define ExponentialNotation   0xfdU
 
#define AddNoiseImageTag   "AddNoise/Image"
 
#define BlueShiftImageTag   "BlueShift/Image"
 
#define ColorizeImageTag   "Colorize/Image"
 
#define ColorMatrixImageTag   "ColorMatrix/Image"
 
#define FxMaxParenthesisDepth   58
 
#define FxMaxSubexpressionDepth   200
 
#define FxReturn(value)
 
#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

MagickExport FxInfoAcquireFxInfo (const Image *image, const char *expression)
 
MagickExport ImageAddNoiseImage (const Image *image, const NoiseType noise_type, ExceptionInfo *exception)
 
MagickExport ImageAddNoiseImageChannel (const Image *image, const ChannelType channel, const NoiseType noise_type, ExceptionInfo *exception)
 
MagickExport ImageBlueShiftImage (const Image *image, const double factor, ExceptionInfo *exception)
 
MagickExport ImageCharcoalImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
 
MagickExport ImageColorizeImage (const Image *image, const char *opacity, const PixelPacket colorize, ExceptionInfo *exception)
 
MagickExport ImageColorMatrixImage (const Image *image, const KernelInfo *color_matrix, ExceptionInfo *exception)
 
MagickExport FxInfoDestroyFxInfo (FxInfo *fx_info)
 
static double FxChannelStatistics (FxInfo *fx_info, const Image *image, ChannelType channel, const char *symbol, ExceptionInfo *exception)
 
static double FxEvaluateSubexpression (FxInfo *, const ChannelType, const ssize_t, const ssize_t, const char *, const size_t, double *, ExceptionInfo *)
 
static MagickOffsetType FxGCD (MagickOffsetType alpha, MagickOffsetType beta)
 
static const char * FxSubexpression (const char *expression, ExceptionInfo *exception)
 
static double FxGetSymbol (FxInfo *fx_info, const ChannelType channel, const ssize_t x, const ssize_t y, const char *expression, const size_t depth, ExceptionInfo *exception)
 
static const char * FxOperatorPrecedence (const char *expression, ExceptionInfo *exception)
 
MagickExport MagickBooleanType FxEvaluateExpression (FxInfo *fx_info, double *alpha, ExceptionInfo *exception)
 
MagickExport MagickBooleanType FxPreprocessExpression (FxInfo *fx_info, double *alpha, ExceptionInfo *exception)
 
MagickExport MagickBooleanType FxEvaluateChannelExpression (FxInfo *fx_info, const ChannelType channel, const ssize_t x, const ssize_t y, double *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 ImageFxImageChannel (const Image *image, const ChannelType channel, const char *expression, ExceptionInfo *exception)
 
MagickExport ImageImplodeImage (const Image *image, const double amount, ExceptionInfo *exception)
 
MagickExport ImageMorphImages (const Image *image, const size_t number_frames, ExceptionInfo *exception)
 
static Quantum PlasmaPixel (RandomInfo *random_info, const MagickRealType pixel, const double noise)
 
MagickExport 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)
 
MagickExport MagickBooleanType PlasmaImage (Image *image, const SegmentInfo *segment, size_t attenuate, size_t depth)
 
MagickExport ImagePolaroidImage (const Image *image, const DrawInfo *draw_info, const double angle, ExceptionInfo *exception)
 
MagickExport ImageSepiaToneImage (const Image *image, const double threshold, ExceptionInfo *exception)
 
MagickExport ImageShadowImage (const Image *image, const double opacity, const double sigma, 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, ExceptionInfo *exception)
 
MagickExport MagickBooleanType SolarizeImage (Image *image, const double threshold)
 
MagickExport MagickBooleanType SolarizeImageChannel (Image *image, const ChannelType channel, 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, ExceptionInfo *exception)
 
MagickExport ImageTintImage (const Image *image, const char *opacity, const PixelPacket tint, ExceptionInfo *exception)
 
MagickExport ImageVignetteImage (const Image *image, const double radius, const double sigma, const ssize_t x, const ssize_t y, ExceptionInfo *exception)
 
MagickExport ImageWaveImage (const Image *image, const double amplitude, const double wave_length, ExceptionInfo *exception)
 
static void HatTransform (const float *magick_restrict pixels, const size_t stride, const size_t extent, const size_t scale, float *kernel)
 
MagickExport ImageWaveletDenoiseImage (const Image *image, const double threshold, const double softness, ExceptionInfo *exception)
 

Macro Definition Documentation

◆ AddNoiseImageTag

#define AddNoiseImageTag   "AddNoise/Image"

◆ BlueShiftImageTag

#define BlueShiftImageTag   "BlueShift/Image"

Referenced by BlueShiftImage().

◆ ColorizeImageTag

#define ColorizeImageTag   "Colorize/Image"

Referenced by ColorizeImage().

◆ ColorMatrixImageTag

#define ColorMatrixImageTag   "ColorMatrix/Image"

Referenced by ColorMatrixImage().

◆ EqualOperator

#define EqualOperator   0xf9U

◆ ExponentialNotation

#define ExponentialNotation   0xfdU

◆ FxImageTag

#define FxImageTag   "Fx/Image"

Referenced by FxImageChannel().

◆ FxMaxParenthesisDepth

#define FxMaxParenthesisDepth   58

Referenced by FxEvaluateSubexpression().

◆ FxMaxSubexpressionDepth

#define FxMaxSubexpressionDepth   200

Referenced by FxEvaluateSubexpression().

◆ FxReturn

#define FxReturn (   value)
Value:
{ \
subexpression=DestroyString(subexpression); \
return(value); \
}
MagickExport char * DestroyString(char *string)
Definition: string.c:820

Referenced by FxEvaluateSubexpression().

◆ GetBit

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

Referenced by SteganoImage().

◆ GreaterThanEqualOperator

#define GreaterThanEqualOperator   0xf8U

◆ ImplodeImageTag

#define ImplodeImageTag   "Implode/Image"

Referenced by ImplodeImage().

◆ LeftShiftOperator

#define LeftShiftOperator   0xf5U

◆ LessThanEqualOperator

#define LessThanEqualOperator   0xf7U

◆ LogicalAndOperator

#define LogicalAndOperator   0xfbU

◆ LogicalOrOperator

#define LogicalOrOperator   0xfcU

◆ MorphImageTag

#define MorphImageTag   "Morph/Image"

Referenced by MorphImages().

◆ NotEqualOperator

#define NotEqualOperator   0xfaU

◆ RightShiftOperator

#define RightShiftOperator   0xf6U

◆ SepiaToneImageTag

#define SepiaToneImageTag   "SepiaTone/Image"

Referenced by SepiaToneImage().

◆ SetBit

#define SetBit (   alpha,
  i,
  set 
)
Value:
(alpha)=(Quantum) ((set) != 0 ? (size_t) (alpha) \
| (one << (size_t) (i)) : (size_t) (alpha) & ~(one << (size_t) (i)))
unsigned short Quantum
Definition: magick-type.h:85

Referenced by SteganoImage().

◆ ShadowImageTag

#define ShadowImageTag   "Shadow/Image"

Referenced by ShadowImage().

◆ SolarizeImageTag

#define SolarizeImageTag   "Solarize/Image"

Referenced by SolarizeImageChannel().

◆ SteganoImageTag

#define SteganoImageTag   "Stegano/Image"

Referenced by SteganoImage().

◆ StereoImageTag

#define StereoImageTag   "Stereo/Image"

Referenced by StereoAnaglyphImage().

◆ SwirlImageTag

#define SwirlImageTag   "Swirl/Image"

Referenced by SwirlImage().

◆ TintImageTag

#define TintImageTag   "Tint/Image"

Referenced by TintImage().

◆ WaveImageTag

#define WaveImageTag   "Wave/Image"

Referenced by WaveImage().

Function Documentation

◆ AcquireFxInfo()

◆ AcquireFxThreadSet()

◆ AddNoiseImage()

MagickExport Image* AddNoiseImage ( const Image image,
const NoiseType  noise_type,
ExceptionInfo exception 
)

◆ AddNoiseImageChannel()

◆ BlueShiftImage()

◆ CharcoalImage()

◆ ColorizeImage()

◆ ColorMatrixImage()

◆ DestroyFxInfo()

◆ DestroyFxThreadSet()

static FxInfo** DestroyFxThreadSet ( FxInfo **  fx_info)
static

◆ FxChannelStatistics()

◆ FxEvaluateChannelExpression()

MagickExport MagickBooleanType FxEvaluateChannelExpression ( FxInfo fx_info,
const ChannelType  channel,
const ssize_t  x,
const ssize_t  y,
double *  alpha,
ExceptionInfo exception 
)

◆ FxEvaluateExpression()

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

◆ FxEvaluateSubexpression()

◆ FxGCD()

static MagickOffsetType FxGCD ( MagickOffsetType  alpha,
MagickOffsetType  beta 
)
static

Referenced by FxEvaluateSubexpression().

◆ FxGetSymbol()

static double FxGetSymbol ( FxInfo fx_info,
const ChannelType  channel,
const ssize_t  x,
const ssize_t  y,
const char *  expression,
const size_t  depth,
ExceptionInfo exception 
)
static

References AcquireString(), AddValueToSplayTree(), BlackChannel, _MagickPixelPacket::blue, BlueChannel, _GeometryInfo::chi, ChiValue, ClampToQuantum(), CloneMagickPixelPacket(), CMYKColorspace, _FxInfo::colors, _Image::colorspace, _Image::columns, ConstantString(), ConvertRGBToHSL(), CopyMagickString(), CyanChannel, DefaultChannels, DestroyString(), _FxInfo::exception, _FxInfo::expression, _Image::extent, _Image::filename, FxChannelStatistics(), FxEvaluateSubexpression(), GetBlobSize(), GetImageChannelDepth(), GetImageFromList(), GetImageIndexInList(), GetImageListLength(), GetMagickModule, GetMagickPixelIntensity(), GetMagickPixelPacket(), GetPixelAlpha, GetValueFromSplayTree(), _MagickPixelPacket::green, GreenChannel, _RectangleInfo::height, ImageError, _FxInfo::images, _MagickPixelPacket::index, IndexChannel, _Image::interpolate, InterpolateMagickPixelPacket(), LocaleCompare(), LocaleNCompare(), MagentaChannel, MagickFalse, _MagickPixelPacket::matte, MaxTextExtent, _MagickPixelPacket::opacity, OpacityChannel, OptionError, _Image::page, ParseGeometry(), _GeometryInfo::psi, PsiValue, _Image::quality, QuantumScale, QueryMagickColor(), _MagickPixelPacket::red, RedChannel, _GeometryInfo::rho, RhoValue, _Image::rows, _GeometryInfo::sigma, SigmaValue, StringToDouble(), StripString(), _FxInfo::symbols, ThrowMagickException(), _FxInfo::view, _RectangleInfo::width, _RectangleInfo::x, _PointInfo::x, _Image::x_resolution, _GeometryInfo::xi, XiValue, _RectangleInfo::y, _PointInfo::y, _Image::y_resolution, and YellowChannel.

Referenced by FxEvaluateSubexpression().

◆ FxImage()

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

References FxImageChannel(), and GrayChannel.

◆ FxImageChannel()

◆ FxOperatorPrecedence()

◆ FxPreprocessExpression()

MagickExport MagickBooleanType FxPreprocessExpression ( FxInfo fx_info,
double *  alpha,
ExceptionInfo exception 
)

◆ FxSubexpression()

static const char* FxSubexpression ( const char *  expression,
ExceptionInfo exception 
)
inlinestatic

◆ HatTransform()

static void HatTransform ( const float *magick_restrict  pixels,
const size_t  stride,
const size_t  extent,
const size_t  scale,
float *  kernel 
)
inlinestatic

References magick_restrict.

Referenced by WaveletDenoiseImage().

◆ ImplodeImage()

◆ MorphImages()

◆ PlasmaImage()

◆ PlasmaImageProxy()

◆ PlasmaPixel()

static Quantum PlasmaPixel ( RandomInfo random_info,
const MagickRealType  pixel,
const double  noise 
)
inlinestatic

◆ PolaroidImage()

◆ SepiaToneImage()

◆ ShadowImage()

◆ SketchImage()

◆ SolarizeImage()

MagickExport MagickBooleanType SolarizeImage ( Image image,
const double  threshold 
)

◆ SolarizeImageChannel()

◆ SteganoImage()

◆ StereoAnaglyphImage()

◆ StereoImage()

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

References StereoAnaglyphImage().

◆ SwirlImage()

◆ TintImage()

◆ VignetteImage()

◆ WaveImage()

◆ WaveletDenoiseImage()