MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
layer.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2019 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.
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 {
32 } DisposeType;
33 
34 typedef enum
35 {
54 
55 extern MagickExport Image
57  *DisposeImages(const Image *,ExceptionInfo *),
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:803
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:129
CloneImage
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:788
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:1977
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:2242
statistic.h
ComparePixels
static MagickBooleanType ComparePixels(const ImageLayerMethod method, const MagickPixelPacket *p, const MagickPixelPacket *q)
Definition: layer.c:525
CropImage
MagickExport Image * CropImage(const Image *image, const RectangleInfo *geometry, ExceptionInfo *exception)
Definition: transform.c:613
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:126
channel.h
NewImageList
MagickExport Image * NewImageList(void)
Definition: list.c:938
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:122
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:561
ReferenceImage
MagickExport Image * ReferenceImage(Image *image)
Definition: image.c:2175
_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:2381
GetLastImageInList
MagickExport Image * GetLastImageInList(const Image *images)
Definition: list.c:737
string_.h
GetVirtualIndexQueue
const MagickExport IndexPacket * GetVirtualIndexQueue(const Image *image)
Definition: cache.c:2809
CompareClearLayer
@ CompareClearLayer
Definition: layer.h:39
DeconstructImages
MagickExport Image * DeconstructImages(const Image *images, ExceptionInfo *exception)
Definition: layer.c:913
MagickTrue
@ MagickTrue
Definition: magick-type.h:194
_RectangleInfo::y
ssize_t y
Definition: geometry.h:130
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:148
CoalesceImages
MagickExport Image * CoalesceImages(const Image *image, ExceptionInfo *exception)
Definition: layer.c:231
TraceEvent
@ TraceEvent
Definition: log.h:38
OptimizePlusImageLayers
MagickExport Image * OptimizePlusImageLayers(const Image *image, ExceptionInfo *exception)
Definition: layer.c:1481
ImageLayerMethod
ImageLayerMethod
Definition: layer.h:34
CompareAnyLayer
@ CompareAnyLayer
Definition: layer.h:38
AppendImageToList
MagickExport void AppendImageToList(Image **images, const Image *append)
Definition: list.c:78
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:407
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:1614
_Image::dispose
DisposeType dispose
Definition: image.h:238
_Image
Definition: image.h:152
MergeLayersTag
#define MergeLayersTag
TrimBoundsLayer
@ TrimBoundsLayer
Definition: layer.h:52
_MagickPixelPacket
Definition: pixel.h:104
DisposeImages
MagickExport Image * DisposeImages(const Image *images, ExceptionInfo *exception)
Definition: layer.c:381
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:441
_Image::delay
size_t delay
Definition: image.h:245
CompareOverlayLayer
@ CompareOverlayLayer
Definition: layer.h:40
_Image::exception
ExceptionInfo exception
Definition: image.h:287
OptionError
@ OptionError
Definition: exception.h:57
GetVirtualPixels
const MagickExport 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:3454
_Image::iterations
size_t iterations
Definition: image.h:251
UndefinedDispose
@ UndefinedDispose
Definition: layer.h:28
resize.h
DupDispose
#define DupDispose
Definition: layer.c:962
CompareImageBounds
static RectangleInfo CompareImageBounds(const Image *image1, const Image *image2, const ImageLayerMethod method, ExceptionInfo *exception)
Definition: layer.c:595
MagickFalse
@ MagickFalse
Definition: magick-type.h:193
SyncAuthenticPixels
MagickExport MagickBooleanType SyncAuthenticPixels(Image *image, ExceptionInfo *exception)
Definition: cache.c:5589
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
NoneDispose
@ NoneDispose
Definition: layer.h:29
GetNextImageInList
MagickExport Image * GetNextImageInList(const Image *images)
Definition: list.c:771
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:1587
composite.h
ClearBounds
static void ClearBounds(Image *image, RectangleInfo *bounds)
Definition: layer.c:97
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:165
_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:696
_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:191
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:1077
_ExceptionInfo
Definition: exception.h:102
CommandOptionToMnemonic
const MagickExport char * CommandOptionToMnemonic(const CommandOption option, const ssize_t type)
Definition: option.c:2292
DelDispose
#define DelDispose
Definition: layer.c:966
_RectangleInfo::width
size_t width
Definition: geometry.h:125
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:311
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:1187
transform.h
OptimizeLayerFrames
static Image * OptimizeLayerFrames(const Image *image, const ImageLayerMethod method, ExceptionInfo *exception)
Definition: layer.c:970
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:1448
color.h
OptimizeImageTransparency
MagickExport void OptimizeImageTransparency(const Image *image, ExceptionInfo *exception)
Definition: layer.c:1518
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:1068
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:25
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:1399
AcquireExceptionInfo
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
Definition: exception.c:106
DestroyImageList
MagickExport Image * DestroyImageList(Image *images)
Definition: list.c:462
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:1481
_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:766
_PixelPacket
Definition: pixel.h:131
DisposeType
DisposeType
Definition: layer.h:25
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
Quantum
unsigned short Quantum
Definition: magick-type.h:85
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:135