2 Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
5 You may not use this file except in compliance with the License.
6 obtain a copy of the License at
8 http://www.imagemagick.org/script/license.php
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.
16 MagickCore image methods.
18 #ifndef _MAGICKCORE_IMAGE_H
19 #define _MAGICKCORE_IMAGE_H
21 #if defined(__cplusplus) || defined(c_plusplus)
25 #include <magick/color.h>
27 #define OpaqueOpacity ((Quantum) 0UL)
28 #define TransparentOpacity ((Quantum) QuantumRange)
32 UndefinedAlphaChannel,
34 BackgroundAlphaChannel,
36 DeactivateAlphaChannel,
39 ResetAlphaChannel, /* deprecated */
42 TransparentAlphaChannel
56 ColorSeparationMatteType,
58 PaletteBilevelMatteType
78 BottomRightOrientation,
79 BottomLeftOrientation,
82 RightBottomOrientation,
89 PixelsPerInchResolution,
90 PixelsPerCentimeterResolution
93 typedef struct _PrimaryInfo
101 typedef struct _SegmentInfo
112 UndefinedTransmitType,
119 typedef struct _ChromaticityInfo
128 #include "magick/blob.h"
129 #include "magick/colorspace.h"
130 #include "magick/cache-view.h"
131 #include "magick/color.h"
132 #include "magick/composite.h"
133 #include "magick/compress.h"
134 #include "magick/effect.h"
135 #include "magick/geometry.h"
136 #include "magick/layer.h"
137 #include "magick/monitor.h"
138 #include "magick/pixel.h"
139 #include "magick/profile.h"
140 #include "magick/quantum.h"
141 #include "magick/resample.h"
142 #include "magick/resize.h"
143 #include "magick/semaphore.h"
144 #include "magick/stream.h"
145 #include "magick/timer.h"
153 colorspace; /* colorspace of image data */
156 compression; /* compression of image when read/write */
159 quality; /* compression quality setting, meaning varies */
162 orientation; /* photo orientation of image */
165 taint, /* has image been modified since reading */
166 matte; /* is transparency channel defined and active */
169 columns, /* physical size of image */
171 depth, /* depth of image on read/write */
172 colors; /* size of color table on read */
176 background_color, /* current background color attribute */
177 border_color, /* current bordercolor attribute */
178 matte_color; /* current mattecolor attribute */
193 units; /* resolution/density ppi or ppc */
204 x_resolution, /* image resolution/density */
208 page, /* virtual canvas size and offset of image */
210 tile_info; /* deprecated */
214 blur, /* deprecated */
215 fuzz; /* current color fuzz attribute */
218 filter; /* resize/distort filter to apply */
224 endian; /* raw data integer ordering on read/write */
227 gravity; /* Gravity attribute for positioning in image */
230 compose; /* alpha composition method for layered images */
233 dispose; /* GIF animation disposal method */
239 scene, /* index of image in multi-image file */
240 delay; /* Animation delay time */
243 ticks_per_second; /* units for delay time, default 100 for GIF */
258 MagickProgressMonitor
264 *attributes; /* deprecated */
273 filename[MaxTextExtent], /* images input filename */
274 magick_filename[MaxTextExtent],
275 magick[MaxTextExtent];
282 exception; /* Error handling report */
285 debug; /* debug output attribute */
299 generic_profiles; /* this & ProfileInfo is deprecated */
305 *previous, /* Image sequence list links */
309 InterpolatePixelMethod
310 interpolate; /* Interpolation of color for between pixel lookups */
313 black_point_compensation;
316 transparent_color; /* color for 'transparent' color index in GIF */
325 *properties, /* per image properities */
326 *artifacts; /* per image sequence image artifacts */
332 dither; /* dithering method during color reduction */
428 *attributes; /* deprecated */
433 MagickProgressMonitor
453 magick[MaxTextExtent],
454 unique[MaxTextExtent],
456 filename[MaxTextExtent];
462 *tile; /* deprecated */
465 subimage, /* deprecated */
466 subrange; /* deprecated */
469 pen; /* deprecated */
475 virtual_pixel_method;
487 extern MagickExport ExceptionType
488 CatchImageException(Image *);
490 extern MagickExport FILE
491 *GetImageInfoFile(const ImageInfo *);
493 extern MagickExport Image
494 *AcquireImage(const ImageInfo *),
495 *AppendImages(const Image *,const MagickBooleanType,ExceptionInfo *),
496 *CloneImage(const Image *,const size_t,const size_t,const MagickBooleanType,
498 *CombineImages(const Image *,const ChannelType,ExceptionInfo *),
499 *DestroyImage(Image *),
500 *GetImageClipMask(const Image *,ExceptionInfo *),
501 *GetImageMask(const Image *,ExceptionInfo *),
502 *NewMagickImage(const ImageInfo *,const size_t,const size_t,
503 const MagickPixelPacket *),
504 *ReferenceImage(Image *),
505 *SeparateImages(const Image *,const ChannelType,ExceptionInfo *),
506 *SmushImages(const Image *,const MagickBooleanType,const ssize_t,
509 extern MagickExport ImageInfo
510 *AcquireImageInfo(void),
511 *CloneImageInfo(const ImageInfo *),
512 *DestroyImageInfo(ImageInfo *);
514 extern MagickExport MagickBooleanType
516 ClipImagePath(Image *,const char *,const MagickBooleanType),
517 GetImageAlphaChannel(const Image *),
518 IsTaintImage(const Image *),
519 IsMagickConflict(const char *),
520 IsHighDynamicRangeImage(const Image *,ExceptionInfo *),
521 IsImageObject(const Image *),
522 ListMagickInfo(FILE *,ExceptionInfo *),
523 ModifyImage(Image **,ExceptionInfo *),
524 ResetImagePage(Image *,const char *),
525 SeparateImageChannel(Image *,const ChannelType),
526 SetImageAlphaChannel(Image *,const AlphaChannelType),
527 SetImageBackgroundColor(Image *),
528 SetImageClipMask(Image *,const Image *),
529 SetImageColor(Image *,const MagickPixelPacket *),
530 SetImageExtent(Image *,const size_t,const size_t),
531 SetImageInfo(ImageInfo *,const unsigned int,ExceptionInfo *),
532 SetImageMask(Image *,const Image *),
533 SetImageOpacity(Image *,const Quantum),
534 SetImageChannels(Image *,const size_t),
535 SetImageStorageClass(Image *,const ClassType),
536 SetImageType(Image *,const ImageType),
539 SyncImageSettings(const ImageInfo *,Image *),
540 SyncImagesSettings(ImageInfo *,Image *);
542 extern MagickExport size_t
543 InterpretImageFilename(const ImageInfo *,Image *,const char *,int,char *);
545 extern MagickExport ssize_t
546 GetImageReferenceCount(Image *);
548 extern MagickExport size_t
549 GetImageChannels(Image *);
551 extern MagickExport VirtualPixelMethod
552 GetImageVirtualPixelMethod(const Image *),
553 SetImageVirtualPixelMethod(const Image *,const VirtualPixelMethod);
555 extern MagickExport void
556 AcquireNextImage(const ImageInfo *,Image *),
557 DestroyImagePixels(Image *),
558 DisassociateImageStream(Image *),
559 GetImageException(Image *,ExceptionInfo *),
560 GetImageInfo(ImageInfo *),
561 SetImageInfoBlob(ImageInfo *,const void *,const size_t),
562 SetImageInfoFile(ImageInfo *,FILE *);
564 #if defined(__cplusplus) || defined(c_plusplus)