MagickCore  6.9.11
paint.c File Reference
Include dependency graph for paint.c:

Go to the source code of this file.

Macros

#define MaxStacksize   524288UL
 
#define PushSegmentStack(up, left, right, delta)
 
#define NumberPaintBins   256
 
#define OilPaintImageTag   "OilPaint/Image"
 
#define OpaquePaintImageTag   "Opaque/Image"
 
#define TransparentPaintImageTag   "Transparent/Image"
 
#define TransparentPaintImageTag   "Transparent/Image"
 

Functions

MagickExport MagickBooleanType FloodfillPaintImage (Image *image, const ChannelType channel, const DrawInfo *draw_info, const MagickPixelPacket *target, const ssize_t x_offset, const ssize_t y_offset, const MagickBooleanType invert)
 
MagickExport MagickBooleanType GradientImage (Image *image, const GradientType type, const SpreadMethod method, const PixelPacket *start_color, const PixelPacket *stop_color)
 
static size_t ** DestroyHistogramThreadSet (size_t **histogram)
 
static size_t ** AcquireHistogramThreadSet (const size_t count)
 
MagickExport ImageOilPaintImage (const Image *image, const double radius, ExceptionInfo *exception)
 
MagickExport MagickBooleanType OpaquePaintImage (Image *image, const MagickPixelPacket *target, const MagickPixelPacket *fill, const MagickBooleanType invert)
 
MagickExport MagickBooleanType OpaquePaintImageChannel (Image *image, const ChannelType channel, const MagickPixelPacket *target, const MagickPixelPacket *fill, const MagickBooleanType invert)
 
MagickExport MagickBooleanType TransparentPaintImage (Image *image, const MagickPixelPacket *target, const Quantum opacity, const MagickBooleanType invert)
 
MagickExport MagickBooleanType TransparentPaintImageChroma (Image *image, const MagickPixelPacket *low, const MagickPixelPacket *high, const Quantum opacity, const MagickBooleanType invert)
 

Macro Definition Documentation

◆ MaxStacksize

#define MaxStacksize   524288UL

Referenced by FloodfillPaintImage().

◆ NumberPaintBins

#define NumberPaintBins   256

Referenced by OilPaintImage().

◆ OilPaintImageTag

#define OilPaintImageTag   "OilPaint/Image"

Referenced by OilPaintImage().

◆ OpaquePaintImageTag

#define OpaquePaintImageTag   "Opaque/Image"

Referenced by OpaquePaintImageChannel().

◆ PushSegmentStack

#define PushSegmentStack (   up,
  left,
  right,
  delta 
)
Value:
{ \
if (s >= (segment_stack+MaxStacksize)) \
ThrowBinaryException(DrawError,"SegmentStackOverflow",image->filename) \
else \
{ \
if ((((up)+(delta)) >= 0) && (((up)+(delta)) < (ssize_t) image->rows)) \
{ \
s->x1=(double) (left); \
s->y1=(double) (up); \
s->x2=(double) (right); \
s->y2=(double) (delta); \
s++; \
} \
} \
}
#define MaxStacksize

Referenced by FloodfillPaintImage().

◆ TransparentPaintImageTag [1/2]

#define TransparentPaintImageTag   "Transparent/Image"

◆ TransparentPaintImageTag [2/2]

#define TransparentPaintImageTag   "Transparent/Image"

Function Documentation

◆ AcquireHistogramThreadSet()

static size_t** AcquireHistogramThreadSet ( const size_t  count)
static

◆ DestroyHistogramThreadSet()

static size_t** DestroyHistogramThreadSet ( size_t **  histogram)
static

◆ FloodfillPaintImage()

MagickExport MagickBooleanType FloodfillPaintImage ( Image image,
const ChannelType  channel,
const DrawInfo draw_info,
const MagickPixelPacket target,
const ssize_t  x_offset,
const ssize_t  y_offset,
const MagickBooleanType  invert 
)

Definition at line 110 of file paint.c.

References AcquireAuthenticCacheView(), AcquireVirtualCacheView(), AcquireVirtualMemory(), _MagickPixelPacket::blue, BlueChannel, ClampToQuantum(), CloneImage(), CMYKColorspace, _Image::colorspace, _Image::columns, ConvertRGBToCMYK(), _Image::debug, DestroyCacheView(), DestroyImage(), DirectClass, _Image::exception, _Image::filename, _DrawInfo::fill, GetCacheViewAuthenticIndexQueue(), GetCacheViewAuthenticPixels(), GetCacheViewVirtualIndexQueue(), GetCacheViewVirtualPixels(), GetFillColor(), GetMagickModule, GetMagickPixelPacket(), GetPixelOpacity, GetVirtualMemoryBlob(), _MagickPixelPacket::green, GreenChannel, _MagickPixelPacket::index, IndexChannel, IsGrayColorspace(), IsMagickColorSimilar(), LogMagickEvent(), magick_restrict, MagickCoreSignature, MagickFalse, MagickTrue, _Image::matte, MaxStacksize, _MagickPixelPacket::opacity, _PixelPacket::opacity, OpacityChannel, OpaqueAlphaChannel, OpaqueOpacity, PushSegmentStack, _MagickPixelPacket::red, RedChannel, RelinquishVirtualMemory(), ResourceLimitError, _Image::rows, SetImageAlphaChannel(), SetImageColorspace(), SetImageStorageClass(), SetMagickPixelPacket(), SetPixelBlue, SetPixelGreen, SetPixelIndex, SetPixelOpacity, SetPixelRed, _Image::signature, _DrawInfo::signature, sRGBColorspace, SyncCacheViewAuthenticPixels(), ThrowBinaryException, TraceEvent, TransparentOpacity, _SegmentInfo::x1, _SegmentInfo::x2, _SegmentInfo::y1, and _SegmentInfo::y2.

Referenced by DrawPrimitive(), and PaintFloodfillImage().

◆ GradientImage()

◆ OilPaintImage()

◆ OpaquePaintImage()

MagickExport MagickBooleanType OpaquePaintImage ( Image image,
const MagickPixelPacket target,
const MagickPixelPacket fill,
const MagickBooleanType  invert 
)

Definition at line 934 of file paint.c.

References CompositeChannels, and OpaquePaintImageChannel().

◆ OpaquePaintImageChannel()

◆ TransparentPaintImage()

◆ TransparentPaintImageChroma()