resample.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2020 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 "MagickCore/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   HannFilter,
00040   HammingFilter,
00041   BlackmanFilter,
00042   GaussianFilter,
00043   QuadraticFilter,
00044   CubicFilter,
00045   CatromFilter,
00046   MitchellFilter,
00047   JincFilter,
00048   SincFilter,
00049   SincFastFilter,
00050   KaiserFilter,
00051   WelchFilter,
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   CubicSplineFilter,
00066   SentinelFilter  /* a count of all the filters, not a real filter */
00067 } FilterType;
00068 
00069 /*
00070   Backward compatibility for the more correctly named Jinc Filter.  Original
00071   source of this filter is from "zoom" but it refers to a reference by Pratt,
00072   who does not actualy name the filter.
00073 
00074   also miss-spellings of common filters
00075 */
00076 #define BesselFilter  JincFilter
00077 #define WelshFilter   WelchFilter
00078 #define HanningFilter HannFilter
00079 
00080 typedef struct _ResampleFilter
00081   ResampleFilter;
00082 
00083 extern MagickExport MagickBooleanType
00084   ResamplePixelColor(ResampleFilter *,const double,const double,
00085     PixelInfo *,ExceptionInfo *),
00086   SetResampleFilterInterpolateMethod(ResampleFilter *,
00087     const PixelInterpolateMethod),
00088   SetResampleFilterVirtualPixelMethod(ResampleFilter *,
00089     const VirtualPixelMethod);
00090 
00091 extern MagickExport ResampleFilter
00092   *AcquireResampleFilter(const Image *,ExceptionInfo *),
00093   *DestroyResampleFilter(ResampleFilter *);
00094 
00095 extern MagickExport void
00096   ScaleResampleFilter(ResampleFilter *,const double,const double,const double,
00097     const double),
00098   SetResampleFilter(ResampleFilter *,const FilterType);
00099 
00100 #if defined(__cplusplus) || defined(c_plusplus)
00101 }
00102 #endif
00103 
00104 #endif

Generated on 20 Jan 2020 for MagickCore by  doxygen 1.6.1