distort.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 image distortion methods.
00017 */
00018 #ifndef MAGICKCORE_DISTORT_H
00019 #define MAGICKCORE_DISTORT_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 /*
00026   These two enum are linked, with common enumerated values.  Both
00027   DistortImages() and SparseColor() often share code to determine functional
00028   coefficients for common methods.
00029 
00030   Caution should be taken to ensure that only the common methods contain the
00031   same enumerated value, while all others remain unique across both
00032   enumerations.
00033 */
00034 typedef enum
00035 {
00036   UndefinedDistortion,
00037   AffineDistortion,
00038   AffineProjectionDistortion,
00039   ScaleRotateTranslateDistortion,
00040   PerspectiveDistortion,
00041   PerspectiveProjectionDistortion,
00042   BilinearForwardDistortion,
00043   BilinearDistortion = BilinearForwardDistortion,
00044   BilinearReverseDistortion,
00045   PolynomialDistortion,
00046   ArcDistortion,
00047   PolarDistortion,
00048   DePolarDistortion,
00049   Cylinder2PlaneDistortion,
00050   Plane2CylinderDistortion,
00051   BarrelDistortion,
00052   BarrelInverseDistortion,
00053   ShepardsDistortion,
00054   ResizeDistortion,
00055   SentinelDistortion
00056 } DistortImageMethod;
00057 
00058 typedef enum
00059 {
00060   UndefinedColorInterpolate = UndefinedDistortion,
00061   BarycentricColorInterpolate = AffineDistortion,
00062   BilinearColorInterpolate = BilinearReverseDistortion,
00063   PolynomialColorInterpolate = PolynomialDistortion,
00064   ShepardsColorInterpolate = ShepardsDistortion,
00065   /*
00066     Methods unique to SparseColor().
00067   */
00068   VoronoiColorInterpolate = SentinelDistortion,
00069   InverseColorInterpolate,
00070   ManhattanColorInterpolate
00071 } SparseColorMethod;
00072 
00073 extern MagickExport Image
00074   *AffineTransformImage(const Image *,const AffineMatrix *,ExceptionInfo *),
00075   *DistortImage(const Image *,const DistortImageMethod,const size_t,
00076     const double *,MagickBooleanType,ExceptionInfo *exception),
00077   *DistortResizeImage(const Image *,const size_t,const size_t,ExceptionInfo *),
00078   *RotateImage(const Image *,const double,ExceptionInfo *),
00079   *SparseColorImage(const Image *,const ChannelType,const SparseColorMethod,
00080     const size_t,const double *,ExceptionInfo *);
00081 
00082 #if defined(__cplusplus) || defined(c_plusplus)
00083 }
00084 #endif
00085 
00086 #endif

Generated on 30 Nov 2020 for MagickCore by  doxygen 1.6.1