MagickCore  6.9.11
Convert, Edit, Or Compose Bitmap Images
fx.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore image f/x methods.
17 */
18 #ifndef MAGICKCORE_FX_H
19 #define MAGICKCORE_FX_H
20 
21 #include "magick/draw.h"
22 
23 #if defined(__cplusplus) || defined(c_plusplus)
24 extern "C" {
25 #endif
26 
27 extern MagickExport Image
28  *FxImage(const Image *,const char *,ExceptionInfo *),
29  *FxImageChannel(const Image *,const ChannelType,const char *,ExceptionInfo *);
30 
31 #if defined(__cplusplus) || defined(c_plusplus)
32 }
33 #endif
34 
35 #endif
_FxInfo::images
const Image * images
Definition: fx.c:130
_Image::colorspace
ColorspaceType colorspace
Definition: image.h:158
GetImageIndexInList
MagickExport ssize_t GetImageIndexInList(const Image *images)
Definition: list.c:670
QuantumScale
#define QuantumScale
Definition: magick-type.h:120
MagickExport
#define MagickExport
Definition: method-attribute.h:80
_Image::debug
MagickBooleanType debug
Definition: image.h:290
_Image::filename
char filename[MaxTextExtent]
Definition: image.h:278
_Image::progress_monitor
MagickProgressMonitor progress_monitor
Definition: image.h:264
_RectangleInfo::x
ssize_t x
Definition: geometry.h:129
CloneImage
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:767
_FxInfo::expression
char * expression
Definition: fx.c:133
_Image::matte
MagickBooleanType matte
Definition: image.h:171
SetImageProgress
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
_Image::next
struct _Image * next
Definition: image.h:312
PsiValue
@ PsiValue
Definition: geometry.h:34
_MagickPixelPacket::red
MagickRealType red
Definition: pixel.h:122
magick.h
DirectClass
@ DirectClass
Definition: magick-type.h:194
NewSplayTree
MagickExport SplayTreeInfo * NewSplayTree(int(*compare)(const void *, const void *), void *(*relinquish_key)(void *), void *(*relinquish_value)(void *))
Definition: splay-tree.c:1140
BlueChannel
@ BlueChannel
Definition: magick-type.h:172
threshold.h
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
DestroyCacheView
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
GetMagickPixelPacket
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2233
MagickStatusType
unsigned int MagickStatusType
Definition: magick-type.h:127
RedChannel
@ RedChannel
Definition: magick-type.h:167
_GeometryInfo::psi
double psi
Definition: geometry.h:111
statistic.h
distort.h
SetPixelOpacity
#define SetPixelOpacity(pixel, value)
Definition: pixel-accessor.h:81
_SplayTreeInfo
Definition: splay-tree.c:83
ChannelType
ChannelType
Definition: magick-type.h:165
BitwiseAndAssignmentOperator
@ BitwiseAndAssignmentOperator
Definition: fx.c:104
XiValue
@ XiValue
Definition: geometry.h:31
geometry.h
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
FormatLocaleString
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:497
_RectangleInfo::height
size_t height
Definition: geometry.h:126
fx.h
resample-private.h
channel.h
FxChannelStatistics
static double FxChannelStatistics(FxInfo *fx_info, const Image *image, ChannelType channel, const char *symbol, ExceptionInfo *exception)
Definition: fx.c:374
PlusAssignmentOperator
@ PlusAssignmentOperator
Definition: fx.c:110
IndexChannel
@ IndexChannel
Definition: magick-type.h:178
GetCacheViewAuthenticPixels
MagickExport PixelPacket * GetCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:473
memory-private.h
_GeometryInfo::sigma
double sigma
Definition: geometry.h:109
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
_Image::quality
size_t quality
Definition: image.h:164
FxImageChannel
MagickExport Image * FxImageChannel(const Image *image, const ChannelType channel, const char *expression, ExceptionInfo *exception)
Definition: fx.c:2776
property.h
CloneMagickPixelPacket
MagickExport MagickPixelPacket * CloneMagickPixelPacket(const MagickPixelPacket *pixel)
Definition: pixel.c:93
SetPixelRed
#define SetPixelRed(pixel, value)
Definition: pixel-accessor.h:82
ConvertRGBToHSL
MagickExport void ConvertRGBToHSL(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *lightness)
Definition: gem.c:1127
MagickPHI
#define MagickPHI
Definition: image-private.h:38
quantum-private.h
image-private.h
DivideAssignmentOperator
@ DivideAssignmentOperator
Definition: fx.c:113
InterpolateMagickPixelPacket
MagickExport MagickBooleanType InterpolateMagickPixelPacket(const Image *magick_restrict image, const CacheView *image_view, const InterpolatePixelMethod method, const double x, const double y, MagickPixelPacket *pixel, ExceptionInfo *exception)
Definition: pixel.c:4449
FxGCD
static MagickOffsetType FxGCD(MagickOffsetType alpha, MagickOffsetType beta)
Definition: fx.c:502
monitor.h
GetFirstImageInList
MagickExport Image * GetFirstImageInList(const Image *images)
Definition: list.c:574
_Image::columns
size_t columns
Definition: image.h:174
GetMagickPixelIntensity
MagickExport MagickRealType GetMagickPixelIntensity(const Image *image, const MagickPixelPacket *magick_restrict pixel)
Definition: pixel.c:2118
artifact.h
LeftShiftOperator
@ LeftShiftOperator
Definition: fx.c:116
SetPixelGreen
#define SetPixelGreen(pixel, value)
Definition: pixel-accessor.h:77
_GeometryInfo
Definition: geometry.h:106
GetImageChannelDepth
MagickExport size_t GetImageChannelDepth(const Image *image, const ChannelType channel, ExceptionInfo *exception)
Definition: attribute.c:562
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
resource_.h
layer.h
_GeometryInfo::xi
double xi
Definition: geometry.h:110
DestroySplayTree
MagickExport SplayTreeInfo * DestroySplayTree(SplayTreeInfo *splay_tree)
Definition: splay-tree.c:681
FxOperator
FxOperator
Definition: fx.c:103
EqualOperator
@ EqualOperator
Definition: fx.c:120
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
ModuloAssignmentOperator
@ ModuloAssignmentOperator
Definition: fx.c:109
utility.h
_CacheView
Definition: cache-view.c:66
random_.h
string_.h
RightShiftAssignmentOperator
@ RightShiftAssignmentOperator
Definition: fx.c:107
DestroyString
MagickExport char * DestroyString(char *string)
Definition: string.c:810
quantum.h
ChiValue
@ ChiValue
Definition: geometry.h:41
GetImageChannelMean
MagickExport MagickBooleanType GetImageChannelMean(const Image *image, const ChannelType channel, double *mean, double *standard_deviation, ExceptionInfo *exception)
Definition: statistic.c:1564
enhance.h
MagickTrue
@ MagickTrue
Definition: magick-type.h:201
FxImage
MagickExport Image * FxImage(const Image *, const char *, ExceptionInfo *)
_RectangleInfo::y
ssize_t y
Definition: geometry.h:130
LessThanEqualOperator
@ LessThanEqualOperator
Definition: fx.c:118
DestroyRandomInfo
MagickExport RandomInfo * DestroyRandomInfo(RandomInfo *random_info)
Definition: random.c:272
ExponentialNotation
@ ExponentialNotation
Definition: fx.c:124
IsNaN
#define IsNaN(a)
Definition: magick-type.h:221
GetPixelAlpha
#define GetPixelAlpha(pixel)
Definition: pixel-accessor.h:36
GetBlobSize
MagickExport MagickSizeType GetBlobSize(const Image *image)
Definition: blob.c:1546
_MagickPixelPacket::index
MagickRealType index
Definition: pixel.h:126
SyncCacheViewAuthenticPixels
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
_MagickPixelPacket::blue
MagickRealType blue
Definition: pixel.h:124
SubtractAssignmentOperator
@ SubtractAssignmentOperator
Definition: fx.c:111
FxEvaluateChannelExpression
MagickExport MagickBooleanType FxEvaluateChannelExpression(FxInfo *fx_info, const ChannelType channel, const ssize_t x, const ssize_t y, double *alpha, ExceptionInfo *exception)
Definition: fx.c:2659
ClampToQuantum
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:88
MagickChannelOptions
@ MagickChannelOptions
Definition: option.h:32
GrayChannel
@ GrayChannel
Definition: magick-type.h:168
thread-private.h
TraceEvent
@ TraceEvent
Definition: log.h:38
decorate.h
_Image::interpolate
InterpolatePixelMethod interpolate
Definition: image.h:315
_GeometryInfo::rho
double rho
Definition: geometry.h:108
GetImageFromList
MagickExport Image * GetImageFromList(const Image *images, const ssize_t index)
Definition: list.c:618
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:402
SubstituteString
MagickExport MagickBooleanType SubstituteString(char **string, const char *search, const char *replace)
Definition: string.c:2544
LocaleNCompare
MagickExport int LocaleNCompare(const char *p, const char *q, const size_t length)
Definition: locale.c:1570
_Image
Definition: image.h:153
GetCacheViewAuthenticIndexQueue
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
_ExceptionInfo::severity
ExceptionType severity
Definition: exception.h:105
CompareSplayTreeString
MagickExport int CompareSplayTreeString(const void *target, const void *source)
Definition: splay-tree.c:411
StripString
MagickExport void StripString(char *message)
Definition: string.c:2482
ErrorException
@ ErrorException
Definition: exception.h:54
AcquireAuthenticCacheView
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
_MagickPixelPacket
Definition: pixel.h:105
_GeometryInfo::chi
double chi
Definition: geometry.h:112
ImageError
@ ImageError
Definition: exception.h:69
FileToString
MagickExport char * FileToString(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:985
MagickPI
#define MagickPI
Definition: image-private.h:40
LocaleCompare
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1435
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:448
OpacityChannel
@ OpacityChannel
Definition: magick-type.h:175
attribute.h
GetImageChannelRange
MagickExport MagickBooleanType GetImageChannelRange(const Image *image, const ChannelType channel, double *minima, double *maxima, ExceptionInfo *exception)
Definition: statistic.c:2222
_Image::y_resolution
double y_resolution
Definition: image.h:210
_Image::exception
ExceptionInfo exception
Definition: image.h:287
OptionError
@ OptionError
Definition: exception.h:57
splay-tree.h
MagentaChannel
@ MagentaChannel
Definition: magick-type.h:171
_Image::x_resolution
double x_resolution
Definition: image.h:209
resize.h
SetPixelBlue
#define SetPixelBlue(pixel, value)
Definition: pixel-accessor.h:71
accelerate-private.h
MagickFalse
@ MagickFalse
Definition: magick-type.h:200
MagickProgressMonitor
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
Definition: monitor.h:26
FxEvaluateSubexpression
static double FxEvaluateSubexpression(FxInfo *, const ChannelType, const ssize_t, const ssize_t, const char *, const size_t, double *, ExceptionInfo *)
Definition: fx.c:1407
GetValueFromSplayTree
MagickExport const void * GetValueFromSplayTree(SplayTreeInfo *splay_tree, const void *key)
Definition: splay-tree.c:920
LeftShiftAssignmentOperator
@ LeftShiftAssignmentOperator
Definition: fx.c:106
QueryMagickColor
MagickExport MagickBooleanType QueryMagickColor(const char *name, MagickPixelPacket *color, ExceptionInfo *exception)
Definition: color.c:2945
pixel-private.h
image.h
LogicalAndOperator
@ LogicalAndOperator
Definition: fx.c:122
AcquireRandomInfo
MagickExport RandomInfo * AcquireRandomInfo(void)
Definition: random.c:161
IncrementAssignmentOperator
@ IncrementAssignmentOperator
Definition: fx.c:114
RhoValue
@ RhoValue
Definition: geometry.h:37
_FxInfo
Definition: fx.c:128
YellowChannel
@ YellowChannel
Definition: magick-type.h:173
DefaultChannels
@ DefaultChannels
Definition: magick-type.h:188
GetPseudoRandomValue
MagickExport double GetPseudoRandomValue(RandomInfo *magick_restrict random_info)
Definition: random.c:608
GetFxSymbolValue
static const double * GetFxSymbolValue(FxInfo *fx_info, const char *symbol)
Definition: fx.c:344
ParseGeometry
MagickExport MagickStatusType ParseGeometry(const char *geometry, GeometryInfo *geometry_info)
Definition: geometry.c:861
_FxInfo::colors
SplayTreeInfo * colors
Definition: fx.c:139
FxImageChannel
MagickExport Image * FxImageChannel(const Image *, const ChannelType, const char *, ExceptionInfo *)
Definition: fx.c:2776
color-private.h
draw.h
FxSubexpression
static const char * FxSubexpression(const char *expression, ExceptionInfo *exception)
Definition: fx.c:509
annotate.h
AddValueToSplayTree
MagickExport MagickBooleanType AddValueToSplayTree(SplayTreeInfo *splay_tree, const void *key, const void *value)
Definition: splay-tree.c:153
composite.h
PerceptibleReciprocal
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
QuantumRange
#define QuantumRange
Definition: magick-type.h:86
CMYKColorspace
@ CMYKColorspace
Definition: colorspace.h:39
AcquireFxThreadSet
static FxInfo ** AcquireFxThreadSet(const Image *image, const char *expression, ExceptionInfo *exception)
Definition: fx.c:2717
FxOperatorPrecedence
static const char * FxOperatorPrecedence(const char *expression, ExceptionInfo *exception)
Definition: fx.c:1134
NotEqualOperator
@ NotEqualOperator
Definition: fx.c:121
_Image::rows
size_t rows
Definition: image.h:175
MultiplyAssignmentOperator
@ MultiplyAssignmentOperator
Definition: fx.c:112
AcquireFxInfo
MagickExport FxInfo * AcquireFxInfo(const Image *images, const char *expression)
Definition: fx.c:176
cache-view.h
FxPreprocessExpression
MagickExport MagickBooleanType FxPreprocessExpression(FxInfo *fx_info, double *alpha, ExceptionInfo *exception)
Definition: fx.c:2643
cache.h
DestroyFxThreadSet
static FxInfo ** DestroyFxThreadSet(FxInfo **fx_info)
Definition: fx.c:2704
GetImageListLength
MagickExport size_t GetImageListLength(const Image *images)
Definition: list.c:709
colorspace.h
log.h
BlackChannel
@ BlackChannel
Definition: magick-type.h:177
ConstantString
MagickExport char * ConstantString(const char *source)
Definition: string.c:699
FxEvaluateExpression
MagickExport MagickBooleanType FxEvaluateExpression(FxInfo *fx_info, double *alpha, ExceptionInfo *exception)
Definition: fx.c:2633
_Image::signature
size_t signature
Definition: image.h:307
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:199
_Image::extent
MagickSizeType extent
Definition: image.h:340
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1123
_ExceptionInfo
Definition: exception.h:103
_RectangleInfo::width
size_t width
Definition: geometry.h:125
PowerAssignmentOperator
@ PowerAssignmentOperator
Definition: fx.c:108
SetPixelIndex
#define SetPixelIndex(indexes, value)
Definition: pixel-accessor.h:78
studio.h
FxMaxSubexpressionDepth
#define FxMaxSubexpressionDepth
resample.h
IsFxFunction
static MagickBooleanType IsFxFunction(const char *expression, const char *name, const size_t length)
Definition: fx.c:483
ParseCommandOption
MagickExport ssize_t ParseCommandOption(const CommandOption option, const MagickBooleanType list, const char *options)
Definition: option.c:2585
effect.h
FxImage
MagickExport Image * FxImage(const Image *image, const char *expression, ExceptionInfo *exception)
Definition: fx.c:2766
MagickRealType
MagickDoubleType MagickRealType
Definition: magick-type.h:125
_PointInfo::y
double y
Definition: draw.h:142
monitor-private.h
ClearMagickException
MagickExport void ClearMagickException(ExceptionInfo *exception)
Definition: exception.c:164
GreaterThanEqualOperator
@ GreaterThanEqualOperator
Definition: fx.c:119
GRAYColorspace
@ GRAYColorspace
Definition: colorspace.h:29
AcquireVirtualCacheView
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
_FxInfo::random_info
RandomInfo * random_info
Definition: fx.c:146
_FxInfo::view
CacheView ** view
Definition: fx.c:143
AcquireCriticalMemory
MagickExport void * AcquireCriticalMemory(const size_t size)
Definition: memory.c:595
DestroyImage
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1166
opencl-private.h
transform.h
ThreadResource
@ ThreadResource
Definition: resource_.h:33
memory_.h
SigmaValue
@ SigmaValue
Definition: geometry.h:40
DecrementAssignmentOperator
@ DecrementAssignmentOperator
Definition: fx.c:115
_MagickPixelPacket::matte
MagickBooleanType matte
Definition: pixel.h:113
GetMagickPrecision
MagickExport int GetMagickPrecision(void)
Definition: magick.c:690
color.h
_PointInfo
Definition: draw.h:139
MagickEpsilon
#define MagickEpsilon
Definition: magick-type.h:115
FxReturn
#define FxReturn(value)
pixel-accessor.h
InterpretSiPrefixValue
MagickExport double InterpretSiPrefixValue(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string.c:1306
exception-private.h
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1149
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
exception.h
FxImageTag
#define FxImageTag
option.h
GetImageChannelKurtosis
MagickExport MagickBooleanType GetImageChannelKurtosis(const Image *image, const ChannelType channel, double *kurtosis, double *skewness, ExceptionInfo *exception)
Definition: statistic.c:1398
_FxInfo::symbols
SplayTreeInfo * symbols
Definition: fx.c:140
FxMaxParenthesisDepth
#define FxMaxParenthesisDepth
SetImageStorageClass
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class)
Definition: image.c:2587
random-private.h
CopyMagickString
MagickExport size_t CopyMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
Definition: string.c:753
list.h
gem.h
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1420
AcquireExceptionInfo
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
Definition: exception.c:113
MaxTextExtent
#define MaxTextExtent
Definition: method-attribute.h:89
LogicalOrOperator
@ LogicalOrOperator
Definition: fx.c:123
string-private.h
colorspace-private.h
_FxInfo::exception
ExceptionInfo * exception
Definition: fx.c:149
InheritException
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:692
DestroyFxInfo
MagickExport FxInfo * DestroyFxInfo(FxInfo *fx_info)
Definition: fx.c:291
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
AcquireString
MagickExport char * AcquireString(const char *source)
Definition: string.c:125
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)
Definition: fx.c:536
_Image::page
RectangleInfo page
Definition: image.h:213
_MagickPixelPacket::opacity
MagickRealType opacity
Definition: pixel.h:125
SetFxSymbolValue
static MagickBooleanType SetFxSymbolValue(FxInfo *magick_restrict fx_info, const char *magick_restrict symbol, const double value)
Definition: fx.c:349
BitwiseOrAssignmentOperator
@ BitwiseOrAssignmentOperator
Definition: fx.c:105
_PointInfo::x
double x
Definition: draw.h:141
_MagickPixelPacket::green
MagickRealType green
Definition: pixel.h:123
GreenChannel
@ GreenChannel
Definition: magick-type.h:170
AlphaChannel
@ AlphaChannel
Definition: magick-type.h:174
FxParseConditional
#define FxParseConditional(subexpression, sentinal, p, q)
CyanChannel
@ CyanChannel
Definition: magick-type.h:169
GetMagickResourceLimit
MagickExport MagickSizeType GetMagickResourceLimit(const ResourceType type)
Definition: resource.c:842
_PixelPacket
Definition: pixel.h:132
fx-private.h
_FxInfo::file
FILE * file
Definition: fx.c:136
_RandomInfo
Definition: random.c:78
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:634
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:135
GetOpenMPThreadId
static int GetOpenMPThreadId(void)
Definition: thread-private.h:120
MagickPathExtent
#define MagickPathExtent
Definition: magick-type.h:31
RightShiftOperator
@ RightShiftOperator
Definition: fx.c:117