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 "MagickCore/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 ColorspaceType
00044 colorspace;
00045
00046 DitherMethod
00047 dither_method;
00048
00049 MagickBooleanType
00050 measure_error;
00051
00052 size_t
00053 signature;
00054 } QuantizeInfo;
00055
00056 extern MagickExport MagickBooleanType
00057 CompressImageColormap(Image *,ExceptionInfo *),
00058 GetImageQuantizeError(Image *,ExceptionInfo *),
00059 PosterizeImage(Image *,const size_t,const DitherMethod,ExceptionInfo *),
00060 QuantizeImage(const QuantizeInfo *,Image *,ExceptionInfo *),
00061 QuantizeImages(const QuantizeInfo *,Image *,ExceptionInfo *),
00062 RemapImage(const QuantizeInfo *,Image *,const Image *,ExceptionInfo *),
00063 RemapImages(const QuantizeInfo *,Image *,const Image *,ExceptionInfo *);
00064
00065 extern MagickExport QuantizeInfo
00066 *AcquireQuantizeInfo(const ImageInfo *),
00067 *CloneQuantizeInfo(const QuantizeInfo *),
00068 *DestroyQuantizeInfo(QuantizeInfo *);
00069
00070 extern MagickExport void
00071 GetQuantizeInfo(QuantizeInfo *);
00072
00073 #if defined(__cplusplus) || defined(c_plusplus)
00074 }
00075 #endif
00076
00077 #endif