|
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 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 } SparseColorMethod; 00071 00072 extern MagickExport Image 00073 *AffineTransformImage(const Image *,const AffineMatrix *,ExceptionInfo *), 00074 *DistortImage(const Image *,const DistortImageMethod,const size_t, 00075 const double *,MagickBooleanType,ExceptionInfo *exception), 00076 *DistortResizeImage(const Image *,const size_t,const size_t,ExceptionInfo *), 00077 *RotateImage(const Image *,const double,ExceptionInfo *), 00078 *SparseColorImage(const Image *,const SparseColorMethod,const size_t, 00079 const double *,ExceptionInfo *); 00080 00081 #if defined(__cplusplus) || defined(c_plusplus) 00082 } 00083 #endif 00084 00085 #endif