composite.c File Reference

#include "magick/studio.h"
#include "magick/artifact.h"
#include "magick/cache-view.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/utility.h"
#include "magick/version.h"

Include dependency graph for composite.c:

Go to the source code of this file.

Defines

#define CompositeImageTag   "Composite/Image"

Functions

static double MagickMin (const double x, const double y)
static MagickRealType Add (const MagickRealType p, const MagickRealType q)
static void CompositeAdd (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Atop (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeAtop (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static void CompositeBumpmap (const MagickPixelPacket *p, const MagickRealType magick_unused(alpha), const MagickPixelPacket *q, const MagickRealType magick_unused(beta), MagickPixelPacket *composite)
static void CompositeClear (const MagickPixelPacket *q, MagickPixelPacket *composite)
static MagickRealType ColorBurn (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeColorBurn (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType ColorDodge (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeColorDodge (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Darken (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeDarken (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Difference (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeDifference (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Divide (const MagickRealType p, const MagickRealType q)
static void CompositeDivide (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Exclusion (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeExclusion (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType HardLight (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeHardLight (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static void CompositeHSB (const MagickRealType red, const MagickRealType green, const MagickRealType blue, double *hue, double *saturation, double *brightness)
static MagickRealType In (const MagickRealType p, const MagickRealType alpha, const MagickRealType magick_unused(q), const MagickRealType beta)
static void CompositeIn (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Lighten (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeLighten (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType LinearLight (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeLinearLight (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Minus (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeMinus (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Multiply (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeMultiply (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Out (const MagickRealType p, const MagickRealType alpha, const MagickRealType magick_unused(q), const MagickRealType beta)
static void CompositeOut (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static void CompositeOver (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Overlay (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeOverlay (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Plus (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositePlus (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Screen (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeScreen (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType SoftLight (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeSoftLight (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Subtract (const MagickRealType p, const MagickRealType magick_unused(alpha), const MagickRealType q, const MagickRealType magick_unused(beta))
static void CompositeSubtract (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static MagickRealType Threshold (const MagickRealType p, const MagickRealType magick_unused(alpha), const MagickRealType q, const MagickRealType magick_unused(beta), const MagickRealType threshold, const MagickRealType amount)
static void CompositeThreshold (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, const MagickRealType threshold, const MagickRealType amount, MagickPixelPacket *composite)
static MagickRealType Xor (const MagickRealType p, const MagickRealType alpha, const MagickRealType q, const MagickRealType beta)
static void CompositeXor (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
static void HSBComposite (const double hue, const double saturation, const double brightness, MagickRealType *red, MagickRealType *green, MagickRealType *blue)
MagickExport MagickBooleanType CompositeImage (Image *image, const CompositeOperator compose, const Image *composite_image, const long x_offset, const long y_offset)
MagickExport MagickBooleanType CompositeImageChannel (Image *image, const ChannelType magick_unused(channel), const CompositeOperator compose, const Image *composite_image, const long x_offset, const long y_offset)


Define Documentation

#define CompositeImageTag   "Composite/Image"

Referenced by CompositeImageChannel().


Function Documentation

static MagickRealType Add ( const MagickRealType  p,
const MagickRealType  q 
) [inline, static]

Definition at line 123 of file composite.c.

References QuantumRange.

Referenced by CompositeAdd().

static MagickRealType Atop ( const MagickRealType  p,
const MagickRealType  alpha,
const MagickRealType  q,
const MagickRealType  beta 
) [inline, static]

Definition at line 146 of file composite.c.

References QuantumScale.

Referenced by CompositeAtop().

static MagickRealType ColorBurn ( const MagickRealType  p,
const MagickRealType  alpha,
const MagickRealType  q,
const MagickRealType  beta 
) [static]

Definition at line 201 of file composite.c.

References QuantumScale.

Referenced by CompositeColorBurn().

static MagickRealType ColorDodge ( const MagickRealType  p,
const MagickRealType  alpha,
const MagickRealType  q,
const MagickRealType  beta 
) [static]

Definition at line 244 of file composite.c.

References QuantumRange, and QuantumScale.

Referenced by CompositeColorDodge().

static void CompositeAdd ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeAtop ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeBumpmap ( const MagickPixelPacket p,
const MagickRealType   magick_unusedalpha,
const MagickPixelPacket q,
const MagickRealType   magick_unusedbeta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeClear ( const MagickPixelPacket q,
MagickPixelPacket composite 
) [inline, static]

static void CompositeColorBurn ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeColorDodge ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeDarken ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeDifference ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeDivide ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeExclusion ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeHardLight ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeHSB ( const MagickRealType  red,
const MagickRealType  green,
const MagickRealType  blue,
double *  hue,
double *  saturation,
double *  brightness 
) [static]

Definition at line 448 of file composite.c.

References QuantumScale.

Referenced by CompositeImageChannel().

MagickExport MagickBooleanType CompositeImage ( Image image,
const CompositeOperator  compose,
const Image composite_image,
const long  x_offset,
const long  y_offset 
)

MagickExport MagickBooleanType CompositeImageChannel ( Image image,
const ChannelType   magick_unusedchannel,
const CompositeOperator  compose,
const Image composite_image,
const long  x_offset,
const long  y_offset 
)

Definition at line 990 of file composite.c.

References AcquireCacheView(), AcquireCacheViewThreadSet(), AcquireResampleFilter(), AddCompositeOp, AtopCompositeOp, BlendCompositeOp, _PixelPacket::blue, _MagickPixelPacket::blue, BumpmapCompositeOp, ChangeMaskCompositeOp, ClearCompositeOp, CloneImage(), CMYKColorspace, ColorBurnCompositeOp, ColorDodgeCompositeOp, ColorizeCompositeOp, _MagickPixelPacket::colorspace, _Image::colorspace, _Image::columns, CompositeAdd(), CompositeAtop(), CompositeBumpmap(), CompositeClear(), CompositeColorBurn(), CompositeColorDodge(), CompositeDarken(), CompositeDifference(), CompositeDivide(), CompositeExclusion(), CompositeHardLight(), CompositeHSB(), CompositeImageTag, CompositeIn(), CompositeLighten(), CompositeLinearLight(), CompositeMinus(), CompositeMultiply(), CompositeOut(), CompositeOver(), CompositeOverlay(), CompositePlus(), CompositeScreen(), CompositeSoftLight(), CompositeSubtract(), CompositeThreshold(), CompositeXor(), ConvertRGBToCMYK(), CopyBlackCompositeOp, CopyBlueCompositeOp, CopyCompositeOp, CopyCyanCompositeOp, CopyGreenCompositeOp, CopyMagentaCompositeOp, CopyOpacityCompositeOp, CopyRedCompositeOp, CopyYellowCompositeOp, DarkenCompositeOp, _Image::debug, DestroyCacheView(), DestroyCacheViewThreadSet(), DestroyImage(), DestroyResampleFilter(), DifferenceCompositeOp, DirectClass, DisplaceCompositeOp, DissolveCompositeOp, DivideCompositeOp, DstAtopCompositeOp, DstCompositeOp, DstInCompositeOp, DstOutCompositeOp, DstOverCompositeOp, _Image::exception, ExclusionCompositeOp, _Image::filename, _Image::geometry, GetCacheViewAuthenticPixels(), GetCacheViewThreadId(), GetCacheViewVirtualPixels(), GetImageArtifact(), GetMagickModule, GetMagickPixelPacket(), _MagickPixelPacket::green, _PixelPacket::green, HardLightCompositeOp, HSBComposite(), HueCompositeOp, InCompositeOp, _MagickPixelPacket::index, IsMagickColorSimilar(), LightenCompositeOp, LinearLightCompositeOp, LogMagickEvent(), LuminizeCompositeOp, MagickEpsilon, MagickFalse, MagickPixelIntensityToQuantum(), MagickSignature, MagickTrue, _MagickPixelPacket::matte, _Image::matte, MinusCompositeOp, ModulateCompositeOp, MultiplyCompositeOp, NoCompositeOp, _PixelPacket::opacity, _MagickPixelPacket::opacity, OpaqueAlphaChannel, OpaqueOpacity, OutCompositeOp, OverCompositeOp, OverlayCompositeOp, ParseGeometry(), PlusCompositeOp, _Image::progress_monitor, QuantumRange, QueueCacheViewAuthenticPixels(), _MagickPixelPacket::red, _PixelPacket::red, ReplaceCompositeOp, ResamplePixelColor(), _GeometryInfo::rho, RoundToQuantum(), _Image::rows, SaturateCompositeOp, ScreenCompositeOp, SetGeometryInfo(), SetImageAlphaChannel(), SetImageProgress(), SetImageStorageClass(), SetPixelPacket(), _GeometryInfo::sigma, SigmaValue, _Image::signature, SoftLightCompositeOp, SrcAtopCompositeOp, SrcCompositeOp, SrcInCompositeOp, SrcOutCompositeOp, SrcOverCompositeOp, SubtractCompositeOp, SyncCacheViewAuthenticPixels(), ThresholdCompositeOp, TraceEvent, TransparentOpacity, and XorCompositeOp.

Referenced by CompositeImage().

static void CompositeIn ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeLighten ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeLinearLight ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeMinus ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeMultiply ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeOut ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeOver ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]

static void CompositeOverlay ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
) [inline, static]