ColorspaceType
colorspace;
+ ssize_t
+ channels;
+
CacheType
type;
*QueueAuthenticNexus(Image *,const ssize_t,const ssize_t,const size_t,
const size_t,NexusInfo *,ExceptionInfo *);
+extern MagickExport size_t
+ GetPixelCacheChannels(const Cache);
+
extern MagickExport void
ClonePixelCacheMethods(Cache,const Cache),
GetPixelCacheTileSize(const Image *,size_t *,size_t *),
% %
% %
% %
+% G e t C a c h e V i e w C h a n n e l s %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% GetCacheViewChannels() returns the image pixel channels associated with
+% the specified view.
+%
+% The format of the GetCacheViewChannels method is:
+%
+% size_t GetCacheViewChannels(const CacheView *cache_view)
+%
+% A description of each parameter follows:
+%
+% o cache_view: the cache view.
+%
+*/
+MagickExport size_t GetCacheViewChannels(const CacheView *cache_view)
+{
+ assert(cache_view != (CacheView *) NULL);
+ assert(cache_view->signature == MagickSignature);
+ if (cache_view->debug != MagickFalse)
+ (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
+ cache_view->image->filename);
+ return(GetPixelCacheChannels(cache_view->image->cache));
+}
+\f
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
% G e t C a c h e V i e w C o l o r s p a c e %
% %
% %
if (cache_view->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
cache_view->image->filename);
- return(cache_view->image->colorspace);
+ return(GetPixelCacheColorspace(cache_view->image->cache));
}
\f
/*
if (cache_view->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
cache_view->image->filename);
- return(cache_view->image->storage_class);
+ return(GetPixelCacheStorageClass(cache_view->image->cache));
}
\f
/*
typedef struct _CacheView
CacheView;
+extern MagickExport CacheView
+ *AcquireCacheView(const Image *),
+ *CloneCacheView(const CacheView *),
+ *DestroyCacheView(CacheView *);
+
extern MagickExport ClassType
GetCacheViewStorageClass(const CacheView *);
extern MagickExport MagickSizeType
GetCacheViewExtent(const CacheView *);
+extern MagickExport size_t
+ GetCacheViewChannels(const CacheView *);
+
extern MagickExport PixelPacket
*GetCacheViewAuthenticPixelQueue(CacheView *),
*GetCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t,
*QueueCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t,
const size_t,const size_t,ExceptionInfo *);
-extern MagickExport CacheView
- *AcquireCacheView(const Image *),
- *CloneCacheView(const CacheView *),
- *DestroyCacheView(CacheView *);
-
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
cache_info->type=UndefinedCache;
cache_info->mode=IOMode;
cache_info->colorspace=RGBColorspace;
+ cache_info->channels=4;
cache_info->file=(-1);
cache_info->id=GetMagickThreadId();
cache_info->number_threads=number_threads;
cache_info=(CacheInfo *) image->cache;
if ((image->storage_class != cache_info->storage_class) ||
(image->colorspace != cache_info->colorspace) ||
+ (image->channels != cache_info->channels) ||
(image->columns != cache_info->columns) ||
(image->rows != cache_info->rows) ||
(cache_info->nexus_info == (NexusInfo **) NULL) ||
% %
% %
% %
++ G e t P i x e l C a c h e C h a n n e l s %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% GetPixelCacheChannels() returns the number of pixel channels associated
+% with this instance of the pixel cache.
+%
+% The format of the GetPixelCacheChannels() method is:
+%
+% size_t GetPixelCacheChannels(Cache cache)
+%
+% A description of each parameter follows:
+%
+% o type: GetPixelCacheChannels returns DirectClass or PseudoClass.
+%
+% o cache: the pixel cache.
+%
+*/
+MagickExport size_t GetPixelCacheChannels(const Cache cache)
+{
+ CacheInfo
+ *cache_info;
+
+ assert(cache != (Cache) NULL);
+ cache_info=(CacheInfo *) cache;
+ assert(cache_info->signature == MagickSignature);
+ if (cache_info->debug != MagickFalse)
+ (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
+ cache_info->filename);
+ return(cache_info->channels);
+}
+\f
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
+ G e t P i x e l C a c h e C o l o r s p a c e %
% %
% %
{
cache_info->storage_class=image->storage_class;
cache_info->colorspace=image->colorspace;
+ cache_info->channels=image->channels;
cache_info->type=PingCache;
cache_info->pixels=(PixelPacket *) NULL;
cache_info->indexes=(IndexPacket *) NULL;
% %
% %
% %
+% G e t I m a g e C h a n n e l s %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% GetImageChannels() returns the number of pixel channels associated
+% with the specified image.
+%
+% The format of the GetChannels method is:
+%
+% size_t GetImageChannels(Image *image)
+%
+% A description of each parameter follows:
+%
+% o image: the image.
+%
+*/
+MagickExport size_t GetImageChannels(Image *image)
+{
+ assert(image != (Image *) NULL);
+ assert(image->signature == MagickSignature);
+ if (image->debug != MagickFalse)
+ (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
+ return(image->channels);
+}
+\f
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
+ G e t I m a g e R e f e r e n c e C o u n t %
% %
% %
% %
% %
% %
+% S e t I m a g e C h a n n e l s %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% SetImageChannels() sets the number of pixels channels associated with the
+% image.
+%
+% The format of the SetImageChannels method is:
+%
+% MagickBooleanType SetImageChannels(Image *image,const size_t channels)
+%
+% A description of each parameter follows:
+%
+% o image: the image.
+%
+% o channels: The number of pixel channels.
+%
+*/
+MagickExport MagickBooleanType SetImageChannels(Image *image,
+ const size_t channels)
+{
+ image->channels=channels;
+ return(MagickTrue);
+}
+\f
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
% S e t I m a g e C o l o r %
% %
% %
MagickBooleanType
ping;
+
+ size_t
+ channels;
};
struct _ImageInfo
SetImageInfo(ImageInfo *,const unsigned int,ExceptionInfo *),
SetImageMask(Image *,const Image *),
SetImageOpacity(Image *,const Quantum),
+ SetImageChannels(Image *,const size_t),
SetImageStorageClass(Image *,const ClassType),
SetImageType(Image *,const ImageType),
StripImage(Image *),
extern MagickExport ssize_t
GetImageReferenceCount(Image *);
+extern MagickExport ssize_t
+ GetImageChannels(Image *);
+
extern MagickExport VirtualPixelMethod
GetImageVirtualPixelMethod(const Image *),
SetImageVirtualPixelMethod(const Image *,const VirtualPixelMethod);