MagickCore  6.9.12-38
Convert, Edit, Or Compose Bitmap Images
layer.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 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 layer methods.
17 */
18 #ifndef MAGICKCORE_LAYER_H
19 #define MAGICKCORE_LAYER_H
20 
21 #if defined(__cplusplus) || defined(c_plusplus)
22 extern "C" {
23 #endif
24 
25 typedef enum
26 {
31  PreviousDispose = 3
33 
34 typedef enum
35 {
54 
55 extern MagickExport Image
63 
64 extern MagickExport void
65  CompositeLayers(Image *,const CompositeOperator,Image *,const ssize_t,
66  const ssize_t,ExceptionInfo *),
70 
71 #if defined(__cplusplus) || defined(c_plusplus)
72 }
73 #endif
74 
75 #endif
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
GetPreviousImageInList
MagickExport Image * GetPreviousImageInList(const Image *images)
Definition: list.c:818
profile.h
CompositeLayer
@ CompositeLayer
Definition: layer.h:48
_Image::background_color
PixelPacket background_color
Definition: image.h:181
_RectangleInfo::x
ssize_t x
Definition: geometry.h:130
CloneImage
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:771
TransparentOpacity
#define TransparentOpacity
Definition: image.h:28
RemoveZeroDelayLayers
MagickExport void RemoveZeroDelayLayers(Image **images, ExceptionInfo *exception)
Definition: layer.c:1727
_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
OpaqueOpacity
#define OpaqueOpacity
Definition: image.h:27
DisposeImages
MagickExport Image * DisposeImages(const Image *, ExceptionInfo *)
CompositeLayers
MagickExport void CompositeLayers(Image *, const CompositeOperator, Image *, const ssize_t, const ssize_t, ExceptionInfo *)
IsMagickColorSimilar
MagickExport MagickBooleanType IsMagickColorSimilar(const MagickPixelPacket *p, const MagickPixelPacket *q)
Definition: color.c:1949
MergeLayer
@ MergeLayer
Definition: layer.h:49
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
GetMagickPixelPacket
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2233
statistic.h
ComparePixels
static MagickBooleanType ComparePixels(const ImageLayerMethod method, const MagickPixelPacket *p, const MagickPixelPacket *q)
Definition: layer.c:526
CropImage
MagickExport Image * CropImage(const Image *image, const RectangleInfo *geometry, ExceptionInfo *exception)
Definition: transform.c:614
CoalesceImages
MagickExport Image * CoalesceImages(const Image *, ExceptionInfo *)
geometry.h
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
OptionWarning
@ OptionWarning
Definition: exception.h:34
_RectangleInfo::height
size_t height
Definition: geometry.h:127
channel.h
NewImageList
MagickExport Image * NewImageList(void)
Definition: list.c:953
RemoveDuplicateLayers
MagickExport void RemoveDuplicateLayers(Image **, ExceptionInfo *)
CompositeCanvas
static void CompositeCanvas(Image *destination, const CompositeOperator compose, Image *source, ssize_t x_offset, ssize_t y_offset)
Definition: layer.c:1817
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
_RectangleInfo
Definition: geometry.h:124
property.h
MergeImageLayers
MagickExport Image * MergeImageLayers(Image *image, const ImageLayerMethod method, ExceptionInfo *exception)
Definition: layer.c:1950
OverCompositeOp
@ OverCompositeOp
Definition: composite.h:67
MergeImageLayers
MagickExport Image * MergeImageLayers(Image *, const ImageLayerMethod, ExceptionInfo *)
monitor.h
GetFirstImageInList
MagickExport Image * GetFirstImageInList(const Image *images)
Definition: list.c:576
ReferenceImage
MagickExport Image * ReferenceImage(Image *image)
Definition: image.c:2165
_Image::columns
size_t columns
Definition: image.h:174
ChangeMaskCompositeOp
@ ChangeMaskCompositeOp
Definition: composite.h:33
artifact.h
RemoveZeroLayer
@ RemoveZeroLayer
Definition: layer.h:47
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
resource_.h
layer.h
_Image::ticks_per_second
ssize_t ticks_per_second
Definition: image.h:248
MagickDisposeOptions
@ MagickDisposeOptions
Definition: option.h:47
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
CompareImageLayers
MagickExport Image * CompareImageLayers(const Image *, const ImageLayerMethod, ExceptionInfo *)
UnrecognizedDispose
@ UnrecognizedDispose
Definition: layer.h:27
SetImageBackgroundColor
MagickExport MagickBooleanType SetImageBackgroundColor(Image *image)
Definition: image.c:2371
GetLastImageInList
MagickExport Image * GetLastImageInList(const Image *images)
Definition: list.c:752
string_.h
CompareClearLayer
@ CompareClearLayer
Definition: layer.h:39
DeconstructImages
MagickExport Image * DeconstructImages(const Image *images, ExceptionInfo *exception)
Definition: layer.c:914
MagickTrue
@ MagickTrue
Definition: magick-type.h:201
_RectangleInfo::y
ssize_t y
Definition: geometry.h:131
CloneImageArtifacts
MagickExport MagickBooleanType CloneImageArtifacts(Image *image, const Image *clone_image)
Definition: artifact.c:100
CopyCompositeOp
@ CopyCompositeOp
Definition: composite.h:40
OpaqueAlphaChannel
@ OpaqueAlphaChannel
Definition: image.h:38
_Image::compose
CompositeOperator compose
Definition: image.h:235
FlattenLayer
@ FlattenLayer
Definition: layer.h:50
CloneImageProfiles
MagickExport MagickBooleanType CloneImageProfiles(Image *image, const Image *clone_image)
Definition: profile.c:122
CoalesceImages
MagickExport Image * CoalesceImages(const Image *image, ExceptionInfo *exception)
Definition: layer.c:232
TraceEvent
@ TraceEvent
Definition: log.h:38
OptimizePlusImageLayers
MagickExport Image * OptimizePlusImageLayers(const Image *image, ExceptionInfo *exception)
Definition: layer.c:1482
ImageLayerMethod
ImageLayerMethod
Definition: layer.h:35
CompareAnyLayer
@ CompareAnyLayer
Definition: layer.h:38
AppendImageToList
MagickExport void AppendImageToList(Image **images, const Image *append)
Definition: list.c:80
ThrowImageException
#define ThrowImageException(severity, tag)
Definition: exception-private.h:70
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:402
GetVirtualPixels
MagickExport const PixelPacket * GetVirtualPixels(const Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache.c:3450
SetImageAlphaChannel
MagickExport MagickBooleanType SetImageAlphaChannel(Image *image, const AlphaChannelType alpha_type)
Definition: channel.c:652
GetAuthenticPixels
MagickExport PixelPacket * GetAuthenticPixels(Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache.c:1623
_Image::dispose
DisposeType dispose
Definition: image.h:238
_Image
Definition: image.h:153
MergeLayersTag
#define MergeLayersTag
TrimBoundsLayer
@ TrimBoundsLayer
Definition: layer.h:52
_MagickPixelPacket
Definition: pixel.h:105
DisposeImages
MagickExport Image * DisposeImages(const Image *images, ExceptionInfo *exception)
Definition: layer.c:382
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:448
_Image::delay
size_t delay
Definition: image.h:245
attribute.h
CompareOverlayLayer
@ CompareOverlayLayer
Definition: layer.h:40
_Image::exception
ExceptionInfo exception
Definition: image.h:287
OptionError
@ OptionError
Definition: exception.h:57
_Image::iterations
size_t iterations
Definition: image.h:251
UndefinedDispose
@ UndefinedDispose
Definition: layer.h:28
resize.h
DupDispose
#define DupDispose
Definition: layer.c:963
CompareImageBounds
static RectangleInfo CompareImageBounds(const Image *image1, const Image *image2, const ImageLayerMethod method, ExceptionInfo *exception)
Definition: layer.c:596
MagickFalse
@ MagickFalse
Definition: magick-type.h:200
SyncAuthenticPixels
MagickExport MagickBooleanType SyncAuthenticPixels(Image *image, ExceptionInfo *exception)
Definition: cache.c:5630
CoalesceLayer
@ CoalesceLayer
Definition: layer.h:37
_Image::previous
struct _Image * previous
Definition: image.h:309
pixel-private.h
image.h
OptimizePlusLayer
@ OptimizePlusLayer
Definition: layer.h:44
GetPixelOpacity
#define GetPixelOpacity(pixel)
Definition: pixel-accessor.h:49
CommandOptionToMnemonic
MagickExport const char * CommandOptionToMnemonic(const CommandOption option, const ssize_t type)
Definition: option.c:2311
NoneDispose
@ NoneDispose
Definition: layer.h:29
GetNextImageInList
MagickExport Image * GetNextImageInList(const Image *images)
Definition: list.c:786
BackgroundDispose
@ BackgroundDispose
Definition: layer.h:30
_PixelPacket::opacity
Quantum opacity
Definition: pixel.h:146
OptimizeLayer
@ OptimizeLayer
Definition: layer.h:42
color-private.h
CompositeImage
MagickExport MagickBooleanType CompositeImage(Image *image, const CompositeOperator compose, const Image *source_image, const ssize_t x_offset, const ssize_t y_offset)
Definition: composite.c:1593
composite.h
ClearBounds
static void ClearBounds(Image *image, RectangleInfo *bounds)
Definition: layer.c:98
PerceptibleReciprocal
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
QuantumRange
#define QuantumRange
Definition: magick-type.h:86
IsBoundsCleared
static MagickBooleanType IsBoundsCleared(const Image *image1, const Image *image2, RectangleInfo *bounds, ExceptionInfo *exception)
Definition: layer.c:166
GetVirtualIndexQueue
MagickExport const IndexPacket * GetVirtualIndexQueue(const Image *image)
Definition: cache.c:2819
_Image::rows
size_t rows
Definition: image.h:175
cache.h
SetMagickPixelPacket
static void SetMagickPixelPacket(const Image *image, const PixelPacket *color, const IndexPacket *index, MagickPixelPacket *pixel)
Definition: pixel-private.h:78
GetImageListLength
MagickExport size_t GetImageListLength(const Image *images)
Definition: list.c:711
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
DeconstructImages
MagickExport Image * DeconstructImages(const Image *, ExceptionInfo *)
_Image::signature
size_t signature
Definition: image.h:307
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:199
RemoveZeroDelayLayers
MagickExport void RemoveZeroDelayLayers(Image **, ExceptionInfo *)
Definition: layer.c:1727
OptimizeImageLayer
@ OptimizeImageLayer
Definition: layer.h:43
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
_ExceptionInfo
Definition: exception.h:103
DelDispose
#define DelDispose
Definition: layer.c:967
_RectangleInfo::width
size_t width
Definition: geometry.h:126
OptimizeImageLayers
MagickExport Image * OptimizeImageLayers(const Image *, ExceptionInfo *)
studio.h
OptimizeImageTransparency
MagickExport void OptimizeImageTransparency(const Image *, ExceptionInfo *)
effect.h
DeleteImageFromList
MagickExport void DeleteImageFromList(Image **images)
Definition: list.c:326
MagickRealType
MagickDoubleType MagickRealType
Definition: magick-type.h:125
monitor-private.h
MosaicLayer
@ MosaicLayer
Definition: layer.h:51
DestroyImage
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1177
transform.h
OptimizeLayerFrames
static Image * OptimizeLayerFrames(const Image *image, const ImageLayerMethod method, ExceptionInfo *exception)
Definition: layer.c:971
UndefinedLayer
@ UndefinedLayer
Definition: layer.h:36
memory_.h
_MagickPixelPacket::matte
MagickBooleanType matte
Definition: pixel.h:113
OptimizeImageLayers
MagickExport Image * OptimizeImageLayers(const Image *image, ExceptionInfo *exception)
Definition: layer.c:1449
color.h
OptimizeImageTransparency
MagickExport void OptimizeImageTransparency(const Image *image, ExceptionInfo *exception)
Definition: layer.c:1519
RemoveDuplicateLayers
MagickExport void RemoveDuplicateLayers(Image **images, ExceptionInfo *exception)
Definition: layer.c:1644
exception-private.h
DisposeLayer
@ DisposeLayer
Definition: layer.h:41
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
CloneImageProperties
MagickExport MagickBooleanType CloneImageProperties(Image *image, const Image *clone_image)
Definition: property.c:130
exception.h
PreviousDispose
@ PreviousDispose
Definition: layer.h:31
option.h
CompositeOperator
CompositeOperator
Definition: composite.h:26
list.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
DestroyImageList
MagickExport Image * DestroyImageList(Image *images)
Definition: list.c:477
RemoveDupsLayer
@ RemoveDupsLayer
Definition: layer.h:46
CompositeLayers
MagickExport void CompositeLayers(Image *destination, const CompositeOperator compose, Image *source, const ssize_t x_offset, const ssize_t y_offset, ExceptionInfo *exception)
Definition: layer.c:1826
OptimizePlusImageLayers
MagickExport Image * OptimizePlusImageLayers(const Image *, ExceptionInfo *)
Definition: layer.c:1482
_Image::page
RectangleInfo page
Definition: image.h:213
_MagickPixelPacket::opacity
MagickRealType opacity
Definition: pixel.h:125
OptimizeTransLayer
@ OptimizeTransLayer
Definition: layer.h:45
CompareImageLayers
MagickExport Image * CompareImageLayers(const Image *image, const ImageLayerMethod method, ExceptionInfo *exception)
Definition: layer.c:767
_PixelPacket
Definition: pixel.h:132
DisposeType
DisposeType
Definition: layer.h:26
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:665
Quantum
unsigned short Quantum
Definition: magick-type.h:85
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:135