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   RigidAffineDistortion
00057 } DistortMethod;
00058 
00059 typedef enum
00060 {
00061   UndefinedColorInterpolate = UndefinedDistortion,
00062   BarycentricColorInterpolate = AffineDistortion,
00063   BilinearColorInterpolate = BilinearReverseDistortion,
00064   PolynomialColorInterpolate = PolynomialDistortion,
00065   ShepardsColorInterpolate = ShepardsDistortion,
00066   /*
00067     Methods unique to SparseColor().
00068   */
00069   VoronoiColorInterpolate = SentinelDistortion,
00070   InverseColorInterpolate,
00071   ManhattanColorInterpolate
00072 } SparseColorMethod;
00073 
00074 extern MagickExport Image
00075   *AffineTransformImage(const Image *,const AffineMatrix *,ExceptionInfo *),
00076   *DistortImage(const Image *,const DistortMethod,const size_t,
00077     const double *,MagickBooleanType,ExceptionInfo *exception),
00078   *DistortResizeImage(const Image *,const size_t,const size_t,ExceptionInfo *),
00079   *RotateImage(const Image *,const double,ExceptionInfo *),
00080   *SparseColorImage(const Image *,const SparseColorMethod,const size_t,
00081     const double *,ExceptionInfo *);
00082 
00083 #if defined(__cplusplus) || defined(c_plusplus)
00084 }
00085 #endif
00086 
00087 #endif

Generated on 17 Aug 2020 for MagickCore by  doxygen 1.6.1