|
MagickCore
6.7.5
|
00001 /* 00002 Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization 00003 dedicated to making software imaging solutions freely available. 00004 00005 You may not use this file except in compliance with the License. 00006 obtain a copy of the License at 00007 00008 http://www.imagemagick.org/script/license.php 00009 00010 Unless required by applicable law or agreed to in writing, software 00011 distributed under the License is distributed on an "AS IS" BASIS, 00012 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 See the License for the specific language governing permissions and 00014 limitations under the License. 00015 00016 MagickCore image quantization methods. 00017 */ 00018 #ifndef _MAGICKCORE_QUANTIZE_H 00019 #define _MAGICKCORE_QUANTIZE_H 00020 00021 #if defined(__cplusplus) || defined(c_plusplus) 00022 extern "C" { 00023 #endif 00024 00025 #include "MagickCore/colorspace.h" 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; /* desired maximum number of 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 *,ExceptionInfo *), 00061 GetImageQuantizeError(Image *,ExceptionInfo *), 00062 PosterizeImage(Image *,const size_t,const MagickBooleanType,ExceptionInfo *), 00063 QuantizeImage(const QuantizeInfo *,Image *,ExceptionInfo *), 00064 QuantizeImages(const QuantizeInfo *,Image *,ExceptionInfo *), 00065 RemapImage(const QuantizeInfo *,Image *,const Image *,ExceptionInfo *), 00066 RemapImages(const QuantizeInfo *,Image *,const Image *,ExceptionInfo *); 00067 00068 extern MagickExport QuantizeInfo 00069 *AcquireQuantizeInfo(const ImageInfo *), 00070 *CloneQuantizeInfo(const QuantizeInfo *), 00071 *DestroyQuantizeInfo(QuantizeInfo *); 00072 00073 extern MagickExport void 00074 GetQuantizeInfo(QuantizeInfo *); 00075 00076 #if defined(__cplusplus) || defined(c_plusplus) 00077 } 00078 #endif 00079 00080 #endif