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 */
426 *attributes; /* deprecated */
431 MagickProgressMonitor
451 magick[MaxTextExtent],
452 unique[MaxTextExtent],
454 filename[MaxTextExtent];
460 *tile; /* deprecated */
463 subimage, /* deprecated */
464 subrange; /* deprecated */
467 pen; /* deprecated */
473 virtual_pixel_method;
485 extern MagickExport ExceptionType
486 CatchImageException(Image *);
488 extern MagickExport FILE
489 *GetImageInfoFile(const ImageInfo *);
491 extern MagickExport Image
492 *AcquireImage(const ImageInfo *),
493 *AppendImages(const Image *,const MagickBooleanType,ExceptionInfo *),
494 *CloneImage(const Image *,const size_t,const size_t,const MagickBooleanType,
496 *CombineImages(const Image *,const ChannelType,ExceptionInfo *),
497 *DestroyImage(Image *),
498 *GetImageClipMask(const Image *,ExceptionInfo *),
499 *GetImageMask(const Image *,ExceptionInfo *),
500 *NewMagickImage(const ImageInfo *,const size_t,const size_t,
501 const MagickPixelPacket *),
502 *ReferenceImage(Image *),
503 *SeparateImages(const Image *,const ChannelType,ExceptionInfo *),
504 *SmushImages(const Image *,const MagickBooleanType,const ssize_t,
507 extern MagickExport ImageInfo
508 *AcquireImageInfo(void),
509 *CloneImageInfo(const ImageInfo *),
510 *DestroyImageInfo(ImageInfo *);
512 extern MagickExport MagickBooleanType
514 ClipImagePath(Image *,const char *,const MagickBooleanType),
515 GetImageAlphaChannel(const Image *),
516 IsTaintImage(const Image *),
517 IsMagickConflict(const char *),
518 IsHighDynamicRangeImage(const Image *,ExceptionInfo *),
519 IsImageObject(const Image *),
520 ListMagickInfo(FILE *,ExceptionInfo *),
521 ModifyImage(Image **,ExceptionInfo *),
522 ResetImagePage(Image *,const char *),
523 SeparateImageChannel(Image *,const ChannelType),
524 SetImageAlphaChannel(Image *,const AlphaChannelType),
525 SetImageBackgroundColor(Image *),
526 SetImageClipMask(Image *,const Image *),
527 SetImageColor(Image *,const MagickPixelPacket *),
528 SetImageExtent(Image *,const size_t,const size_t),
529 SetImageInfo(ImageInfo *,const unsigned int,ExceptionInfo *),
530 SetImageMask(Image *,const Image *),
531 SetImageOpacity(Image *,const Quantum),
532 SetImageStorageClass(Image *,const ClassType),
533 SetImageType(Image *,const ImageType),
536 SyncImageSettings(const ImageInfo *,Image *),
537 SyncImagesSettings(ImageInfo *,Image *);
539 extern MagickExport size_t
540 InterpretImageFilename(const ImageInfo *,Image *,const char *,int,char *);
542 extern MagickExport ssize_t
543 GetImageReferenceCount(Image *);
545 extern MagickExport VirtualPixelMethod
546 GetImageVirtualPixelMethod(const Image *),
547 SetImageVirtualPixelMethod(const Image *,const VirtualPixelMethod);
549 extern MagickExport void
550 AcquireNextImage(const ImageInfo *,Image *),
551 DestroyImagePixels(Image *),
552 DisassociateImageStream(Image *),
553 GetImageException(Image *,ExceptionInfo *),
554 GetImageInfo(ImageInfo *),
555 SetImageInfoBlob(ImageInfo *,const void *,const size_t),
556 SetImageInfoFile(ImageInfo *,FILE *);
558 #if defined(__cplusplus) || defined(c_plusplus)