00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_QUANTIZE_H
00019 #define MAGICKCORE_QUANTIZE_H
00020
00021 #include "magick/colorspace.h"
00022
00023 #if defined(__cplusplus) || defined(c_plusplus)
00024 extern "C" {
00025 #endif
00026
00027 typedef enum
00028 {
00029 UndefinedDitherMethod,
00030 NoDitherMethod,
00031 RiemersmaDitherMethod,
00032 FloydSteinbergDitherMethod
00033 } DitherMethod;
00034
00035 typedef struct _QuantizeInfo
00036 {
00037 size_t
00038 number_colors;
00039
00040 size_t
00041 tree_depth;
00042
00043 MagickBooleanType
00044 dither;
00045
00046 ColorspaceType
00047 colorspace;
00048
00049 MagickBooleanType
00050 measure_error;
00051
00052 size_t
00053 signature;
00054
00055 DitherMethod
00056 dither_method;
00057 } QuantizeInfo;
00058
00059 extern MagickExport MagickBooleanType
00060 CompressImageColormap(Image *),
00061 GetImageQuantizeError(Image *),
00062 PosterizeImage(Image *,const size_t,const MagickBooleanType),
00063 PosterizeImageChannel(Image *,const ChannelType,const size_t,
00064 const MagickBooleanType),
00065 QuantizeImage(const QuantizeInfo *,Image *),
00066 QuantizeImages(const QuantizeInfo *,Image *),
00067 RemapImage(const QuantizeInfo *,Image *,const Image *),
00068 RemapImages(const QuantizeInfo *,Image *,const Image *);
00069
00070 extern MagickExport QuantizeInfo
00071 *AcquireQuantizeInfo(const ImageInfo *),
00072 *CloneQuantizeInfo(const QuantizeInfo *),
00073 *DestroyQuantizeInfo(QuantizeInfo *);
00074
00075 extern MagickExport void
00076 GetQuantizeInfo(QuantizeInfo *);
00077
00078 #if defined(__cplusplus) || defined(c_plusplus)
00079 }
00080 #endif
00081
00082 #endif