resample.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2019 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.  You may
00006   obtain a copy of the License at
00007   
00008     https://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 #include "magick/cache-view.h"
00022 
00023 #if defined(__cplusplus) || defined(c_plusplus)
00024 extern "C" {
00025 #endif
00026 
00027 /*
00028   WARNING:  The order of this table must also match the order of a table
00029   located in AcquireResizeFilter() in "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   RobidouxSharpFilter,
00062   CosineFilter,
00063   SplineFilter,
00064   LanczosRadiusFilter,
00065   SentinelFilter  /* a count of all the filters, not a real filter */
00066 } FilterTypes;
00067 
00068 /*
00069   Backward compatibility for the more correctly named Jinc Filter.  Original
00070   source of this filter is from "zoom" but it refers to a reference by Pratt,
00071   who does not actualy name the filter.
00072 */
00073 #define BesselFilter JincFilter
00074 
00075 typedef struct _ResampleFilter
00076   ResampleFilter;
00077 
00078 extern MagickExport MagickBooleanType
00079   ResamplePixelColor(ResampleFilter *,const double,const double,
00080     MagickPixelPacket *),
00081   SetResampleFilterInterpolateMethod(ResampleFilter *,
00082     const InterpolatePixelMethod),
00083   SetResampleFilterVirtualPixelMethod(ResampleFilter *,
00084     const VirtualPixelMethod);
00085 
00086 extern MagickExport ResampleFilter
00087   *AcquireResampleFilter(const Image *,ExceptionInfo *),
00088   *DestroyResampleFilter(ResampleFilter *);
00089 
00090 extern MagickExport void
00091   ScaleResampleFilter(ResampleFilter *,const double,const double,const double,
00092     const double),
00093   SetResampleFilter(ResampleFilter *,const FilterTypes,const double);
00094 
00095 #if defined(__cplusplus) || defined(c_plusplus)
00096 }
00097 #endif
00098 
00099 #endif

Generated on 2 Sep 2019 for MagickCore by  doxygen 1.6.1