MagickCore  6.8.9
composite.c File Reference
#include "magick/studio.h"
#include "magick/accelerate.h"
#include "magick/artifact.h"
#include "magick/cache-view.h"
#include "magick/channel.h"
#include "magick/client.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/composite-private.h"
#include "magick/constitute.h"
#include "magick/draw.h"
#include "magick/fx.h"
#include "magick/gem.h"
#include "magick/geometry.h"
#include "magick/image.h"
#include "magick/image-private.h"
#include "magick/list.h"
#include "magick/log.h"
#include "magick/monitor.h"
#include "magick/monitor-private.h"
#include "magick/memory_.h"
#include "magick/option.h"
#include "magick/pixel-private.h"
#include "magick/property.h"
#include "magick/quantum.h"
#include "magick/resample.h"
#include "magick/resource_.h"
#include "magick/string_.h"
#include "magick/thread-private.h"
#include "magick/threshold.h"
#include "magick/token.h"
#include "magick/utility.h"
#include "magick/version.h"
Include dependency graph for composite.c:

Macros

#define CompositeImageTag   "Composite/Image"
 
#define TextureImageTag   "Texture/Image"
 

Functions

static double MagickMin (const double x, const double y)
 
static double MagickMax (const double x, const double y)
 
static MagickRealType Atop (const MagickRealType p, const MagickRealType Sa, const MagickRealType q, const MagickRealType magick_unused(Da))
 
static void CompositeAtop (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static void CompositeBumpmap (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static void CompositeClear (const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType ColorBurn (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeColorBurn (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType ColorDodge (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeColorDodge (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType Darken (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
 
static void CompositeDarken (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static void CompositeDarkenIntensity (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType Difference (const MagickRealType p, const MagickRealType Sa, const MagickRealType q, const MagickRealType Da)
 
static void CompositeDifference (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType Divide (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeDivide (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType Exclusion (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeExclusion (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType HardLight (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeHardLight (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType HardMix (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeHardMix (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static void HCLComposite (const double hue, const double chroma, const double luma, MagickRealType *red, MagickRealType *green, MagickRealType *blue)
 
static void CompositeHCL (const MagickRealType red, const MagickRealType green, const MagickRealType blue, double *hue, double *chroma, double *luma)
 
static MagickRealType In (const MagickRealType p, const MagickRealType Sa, const MagickRealType magick_unused(q), const MagickRealType Da)
 
static void CompositeIn (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType Lighten (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
 
static void CompositeLighten (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static void CompositeLightenIntensity (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static void CompositeLinearDodge (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType LinearBurn (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeLinearBurn (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType LinearLight (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeLinearLight (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType Mathematics (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da, const GeometryInfo *geometry_info)
 
static void CompositeMathematics (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, const GeometryInfo *args, MagickPixelPacket *composite)
 
static void CompositePlus (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType Minus (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType magick_unused(Da))
 
static void CompositeMinus (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType ModulusAdd (const MagickRealType p, const MagickRealType Sa, const MagickRealType q, const MagickRealType Da)
 
static void CompositeModulusAdd (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType ModulusSubtract (const MagickRealType p, const MagickRealType Sa, const MagickRealType q, const MagickRealType Da)
 
static void CompositeModulusSubtract (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType Multiply (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeMultiply (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType Out (const MagickRealType p, const MagickRealType Sa, const MagickRealType magick_unused(q), const MagickRealType Da)
 
static void CompositeOut (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType PegtopLight (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositePegtopLight (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType PinLight (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositePinLight (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType Screen (const MagickRealType Sca, const MagickRealType Dca)
 
static void CompositeScreen (const MagickPixelPacket *p, const MagickPixelPacket *q, const ChannelType channel, MagickPixelPacket *composite)
 
static MagickRealType SoftLight (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeSoftLight (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType Threshold (const MagickRealType p, const MagickRealType q, const MagickRealType threshold, const MagickRealType amount)
 
static void CompositeThreshold (const MagickPixelPacket *p, const MagickPixelPacket *q, const MagickRealType threshold, const MagickRealType amount, MagickPixelPacket *composite)
 
static MagickRealType VividLight (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeVividLight (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
static MagickRealType Xor (const MagickRealType Sca, const MagickRealType Sa, const MagickRealType Dca, const MagickRealType Da)
 
static void CompositeXor (const MagickPixelPacket *p, const MagickPixelPacket *q, MagickPixelPacket *composite)
 
MagickExport MagickBooleanType CompositeImage (Image *image, const CompositeOperator compose, const Image *composite_image, const ssize_t x_offset, const ssize_t y_offset)
 
MagickExport MagickBooleanType CompositeImageChannel (Image *image, const ChannelType channel, const CompositeOperator compose, const Image *composite, const ssize_t x_offset, const ssize_t y_offset)
 
MagickExport MagickBooleanType TextureImage (Image *image, const Image *texture)
 

Macro Definition Documentation

#define CompositeImageTag   "Composite/Image"

Referenced by CompositeImageChannel().

#define TextureImageTag   "Texture/Image"

Referenced by TextureImage().

Function Documentation

static MagickRealType Atop ( const MagickRealType  p,
const MagickRealType  Sa,
const MagickRealType  q,
const MagickRealType   magick_unusedDa 
)
inlinestatic

References magick_unreferenced.

Referenced by CompositeAtop().

static MagickRealType ColorBurn ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

References MagickEpsilon, and MagickMin().

Referenced by CompositeColorBurn().

static MagickRealType ColorDodge ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

References MagickEpsilon, and MagickMin().

Referenced by CompositeColorDodge().

static void CompositeHCL ( const MagickRealType  red,
const MagickRealType  green,
const MagickRealType  blue,
double *  hue,
double *  chroma,
double *  luma 
)
static

References MagickMax(), MagickMin(), and QuantumScale.

Referenced by CompositeImageChannel().

MagickExport MagickBooleanType CompositeImageChannel ( Image image,
const ChannelType  channel,
const CompositeOperator  compose,
const Image composite,
const ssize_t  x_offset,
const ssize_t  y_offset 
)

References AccelerateCompositeImage(), AcquireAuthenticCacheView(), AcquireResampleFilter(), AcquireVirtualCacheView(), AspectValue, AtopCompositeOp, BlendCompositeOp, _MagickPixelPacket::blue, BlurCompositeOp, BumpmapCompositeOp, ChangeMaskCompositeOp, ClampToQuantum(), ClearCompositeOp, CloneImage(), CMYKColorspace, ColorBurnCompositeOp, ColorDodgeCompositeOp, ColorizeCompositeOp, _MagickPixelPacket::colorspace, _Image::colorspace, _Image::columns, CompositeAtop(), CompositeBumpmap(), CompositeClear(), CompositeColorBurn(), CompositeColorDodge(), CompositeDarken(), CompositeDarkenIntensity(), CompositeDifference(), CompositeDivide(), CompositeExclusion(), CompositeHardLight(), CompositeHardMix(), CompositeHCL(), CompositeImageTag, CompositeIn(), CompositeLighten(), CompositeLightenIntensity(), CompositeLinearBurn(), CompositeLinearDodge(), CompositeLinearLight(), CompositeMathematics(), CompositeMinus(), CompositeModulusAdd(), CompositeModulusSubtract(), CompositeMultiply(), CompositeOut(), CompositePegtopLight(), CompositePinLight(), CompositePlus(), CompositeScreen(), CompositeSoftLight(), CompositeThreshold(), CompositeVividLight(), CompositeXor(), ConvertRGBToCMYK(), CopyBlackCompositeOp, CopyBlueCompositeOp, CopyCompositeOp, CopyCyanCompositeOp, CopyGreenCompositeOp, CopyMagentaCompositeOp, CopyMagickMemory(), CopyOpacityCompositeOp, CopyRedCompositeOp, CopyYellowCompositeOp, DarkenCompositeOp, DarkenIntensityCompositeOp, _Image::debug, DegreesToRadians(), DestroyCacheView(), DestroyImage(), DestroyResampleFilter(), DifferenceCompositeOp, DirectClass, DisplaceCompositeOp, DissolveCompositeOp, DistortCompositeOp, DivideDstCompositeOp, DivideSrcCompositeOp, DstAtopCompositeOp, DstCompositeOp, DstInCompositeOp, DstOutCompositeOp, DstOverCompositeOp, _Image::exception, ExclusionCompositeOp, _Image::filename, GaussianFilter, GetCacheViewAuthenticIndexQueue(), GetCacheViewAuthenticPixels(), GetCacheViewVirtualIndexQueue(), GetCacheViewVirtualPixels(), GetImageArtifact(), GetMagickModule, GetMagickPixelPacket(), GetOneVirtualMagickPixel(), GetPixelBlue, GetPixelGreen, GetPixelIndex, GetPixelOpacity, GetPixelRed, _MagickPixelPacket::green, HardLightCompositeOp, HardMixCompositeOp, HCLComposite(), HeightValue, HueCompositeOp, InCompositeOp, _MagickPixelPacket::index, InterpolateMagickPixelPacket(), IsGrayColorspace(), IsMagickColorSimilar(), IsMagickTrue(), LightenCompositeOp, LightenIntensityCompositeOp, LinearBurnCompositeOp, LinearDodgeCompositeOp, LinearLightCompositeOp, LogMagickEvent(), LuminizeCompositeOp, MagickEpsilon, MagickFalse, MagickPixelCompositeBlend(), MagickPixelCompositeOver(), MagickPixelIntensityToQuantum(), MagickSignature, MagickTrue, MathematicsCompositeOp, _MagickPixelPacket::matte, _Image::matte, MinusDstCompositeOp, MinusSrcCompositeOp, ModulateCompositeOp, ModulusAddCompositeOp, ModulusSubtractCompositeOp, MultiplyCompositeOp, NoCompositeOp, NoValue, _MagickPixelPacket::opacity, OpaqueAlphaChannel, OpaqueOpacity, OptionWarning, OutCompositeOp, OverCompositeOp, OverlayCompositeOp, ParseGeometry(), PegtopLightCompositeOp, PercentValue, PinLightCompositeOp, PlusCompositeOp, _Image::progress_monitor, _GeometryInfo::psi, QuantumRange, QuantumScale, QueueCacheViewAuthenticPixels(), _MagickPixelPacket::red, ReplaceCompositeOp, ResamplePixelColor(), _GeometryInfo::rho, _Image::rows, SaturateCompositeOp, ScaleResampleFilter(), ScreenCompositeOp, SetGeometryInfo(), SetImageAlphaChannel(), SetImageColorspace(), SetImageProgress(), SetImageStorageClass(), SetPixelBlue, SetPixelGreen, SetPixelIndex, SetPixelOpacity, SetPixelPacket(), SetPixelRed, SetResampleFilter(), _GeometryInfo::sigma, SigmaValue, _Image::signature, SoftLightCompositeOp, SrcAtopCompositeOp, SrcCompositeOp, SrcInCompositeOp, SrcOutCompositeOp, SrcOverCompositeOp, sRGBColorspace, SyncCacheViewAuthenticPixels(), ThresholdCompositeOp, ThrowMagickException(), TraceEvent, TransparentOpacity, UndefinedInterpolatePixel, VividLightCompositeOp, WidthValue, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _GeometryInfo::xi, XorCompositeOp, XValue, _PointInfo::y, _SegmentInfo::y1, _SegmentInfo::y2, and YValue.

Referenced by CompositeImage(), and MorphologyApply().

static MagickRealType Darken ( const MagickRealType  p,
const MagickRealType  alpha,
const MagickRealType  q,
const MagickRealType  beta 
)
inlinestatic

References MagickOver_().

Referenced by CompositeDarken().

static MagickRealType Difference ( const MagickRealType  p,
const MagickRealType  Sa,
const MagickRealType  q,
const MagickRealType  Da 
)
inlinestatic

References MagickMin().

Referenced by CompositeDifference().

static MagickRealType Divide ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

References MagickEpsilon.

Referenced by CompositeDivide().

static MagickRealType Exclusion ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

Referenced by CompositeExclusion().

static MagickRealType HardLight ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

Referenced by CompositeHardLight().

static MagickRealType HardMix ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

Referenced by CompositeHardMix().

static void HCLComposite ( const double  hue,
const double  chroma,
const double  luma,
MagickRealType red,
MagickRealType green,
MagickRealType blue 
)
static

References QuantumRange.

Referenced by CompositeImageChannel().

static MagickRealType In ( const MagickRealType  p,
const MagickRealType  Sa,
const MagickRealType   magick_unusedq,
const MagickRealType  Da 
)
inlinestatic

References magick_unreferenced.

Referenced by CompositeIn().

static MagickRealType Lighten ( const MagickRealType  p,
const MagickRealType  alpha,
const MagickRealType  q,
const MagickRealType  beta 
)
inlinestatic

References MagickOver_().

Referenced by CompositeLighten().

static MagickRealType LinearBurn ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
inlinestatic

Referenced by CompositeLinearBurn().

static MagickRealType LinearLight ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
inlinestatic

Referenced by CompositeLinearLight().

static double MagickMax ( const double  x,
const double  y 
)
inlinestatic
static double MagickMin ( const double  x,
const double  y 
)
inlinestatic
static MagickRealType Mathematics ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da,
const GeometryInfo geometry_info 
)
inlinestatic
static MagickRealType Minus ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType   magick_unusedDa 
)
inlinestatic

References magick_unreferenced.

Referenced by CompositeMinus().

static MagickRealType ModulusAdd ( const MagickRealType  p,
const MagickRealType  Sa,
const MagickRealType  q,
const MagickRealType  Da 
)
inlinestatic

References QuantumRange.

Referenced by CompositeModulusAdd().

static MagickRealType ModulusSubtract ( const MagickRealType  p,
const MagickRealType  Sa,
const MagickRealType  q,
const MagickRealType  Da 
)
inlinestatic

References QuantumRange.

Referenced by CompositeModulusSubtract().

static MagickRealType Multiply ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
inlinestatic

Referenced by CompositeMultiply().

static MagickRealType Out ( const MagickRealType  p,
const MagickRealType  Sa,
const MagickRealType   magick_unusedq,
const MagickRealType  Da 
)
inlinestatic

References magick_unreferenced.

Referenced by CompositeOut().

static MagickRealType PegtopLight ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

References MagickEpsilon.

Referenced by CompositePegtopLight().

static MagickRealType PinLight ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

Referenced by CompositePinLight().

static MagickRealType Screen ( const MagickRealType  Sca,
const MagickRealType  Dca 
)
inlinestatic

Referenced by CompositeScreen().

static MagickRealType SoftLight ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

Referenced by CompositeSoftLight().

static MagickRealType Threshold ( const MagickRealType  p,
const MagickRealType  q,
const MagickRealType  threshold,
const MagickRealType  amount 
)
inlinestatic

Referenced by CompositeThreshold().

static MagickRealType VividLight ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

References MagickEpsilon.

Referenced by CompositeVividLight().

static MagickRealType Xor ( const MagickRealType  Sca,
const MagickRealType  Sa,
const MagickRealType  Dca,
const MagickRealType  Da 
)
static

Referenced by CompositeXor().