|
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 graphic resample methods. 00017 */ 00018 #ifndef _MAGICKCORE_RESAMPLE_H 00019 #define _MAGICKCORE_RESAMPLE_H 00020 00021 #if defined(__cplusplus) || defined(c_plusplus) 00022 extern "C" { 00023 #endif 00024 00025 #include <MagickCore/cache-view.h> 00026 00027 /* 00028 WARNING: The order of this table must also match the order of a table 00029 located in AcquireResizeFilter() or "resize.c" otherwise the users filter 00030 will not match the actual filter that is setup. 00031 */ 00032 typedef enum 00033 { 00034 UndefinedFilter, 00035 PointFilter, 00036 BoxFilter, 00037 TriangleFilter, 00038 HermiteFilter, 00039 HanningFilter, 00040 HammingFilter, 00041 BlackmanFilter, 00042 GaussianFilter, 00043 QuadraticFilter, 00044 CubicFilter, 00045 CatromFilter, 00046 MitchellFilter, 00047 JincFilter, 00048 SincFilter, 00049 SincFastFilter, 00050 KaiserFilter, 00051 WelshFilter, 00052 ParzenFilter, 00053 BohmanFilter, 00054 BartlettFilter, 00055 LagrangeFilter, 00056 LanczosFilter, 00057 LanczosSharpFilter, 00058 Lanczos2Filter, 00059 Lanczos2SharpFilter, 00060 RobidouxFilter, 00061 SentinelFilter /* a count of all the filters, not a real filter */ 00062 } FilterTypes; 00063 00064 /* 00065 Backward compatibility for the more correctly named Jinc Filter. Original 00066 source of this filter is from "zoom" but it refers to a reference by Pratt, 00067 who does not actualy name the filter. 00068 */ 00069 #define BesselFilter JincFilter 00070 00071 typedef struct _ResampleFilter 00072 ResampleFilter; 00073 00074 extern MagickExport MagickBooleanType 00075 ResamplePixelColor(ResampleFilter *,const double,const double, 00076 PixelInfo *), 00077 SetResampleFilterInterpolateMethod(ResampleFilter *, 00078 const PixelInterpolateMethod), 00079 SetResampleFilterVirtualPixelMethod(ResampleFilter *, 00080 const VirtualPixelMethod); 00081 00082 extern MagickExport ResampleFilter 00083 *AcquireResampleFilter(const Image *,ExceptionInfo *), 00084 *DestroyResampleFilter(ResampleFilter *); 00085 00086 extern MagickExport void 00087 ScaleResampleFilter(ResampleFilter *,const double,const double,const double, 00088 const double), 00089 SetResampleFilter(ResampleFilter *,const FilterTypes,const double); 00090 00091 #if defined(__cplusplus) || defined(c_plusplus) 00092 } 00093 #endif 00094 00095 #endif