| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /*
- Copyright 1999 ImageMagick Studio LLC, a non-profit organization
- dedicated to making software imaging solutions freely available.
-
- You may not use this file except in compliance with the License. You may
- obtain a copy of the License at
-
- https://imagemagick.org/script/license.php
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- MagickCore image distortion methods.
- */
- #ifndef MAGICKCORE_DISTORT_H
- #define MAGICKCORE_DISTORT_H
- #if defined(__cplusplus) || defined(c_plusplus)
- extern "C" {
- #endif
- /*
- These two enum are linked, with common enumerated values. Both
- DistortImages() and SparseColor() often share code to determine functional
- coefficients for common methods.
- Caution should be taken to ensure that only the common methods contain the
- same enumerated value, while all others remain unique across both
- enumerations.
- */
- typedef enum
- {
- UndefinedDistortion,
- AffineDistortion,
- AffineProjectionDistortion,
- ScaleRotateTranslateDistortion,
- PerspectiveDistortion,
- PerspectiveProjectionDistortion,
- BilinearForwardDistortion,
- BilinearDistortion = BilinearForwardDistortion,
- BilinearReverseDistortion,
- PolynomialDistortion,
- ArcDistortion,
- PolarDistortion,
- DePolarDistortion,
- Cylinder2PlaneDistortion,
- Plane2CylinderDistortion,
- BarrelDistortion,
- BarrelInverseDistortion,
- ShepardsDistortion,
- ResizeDistortion,
- SentinelDistortion
- } DistortImageMethod;
- typedef enum
- {
- UndefinedColorInterpolate = UndefinedDistortion,
- BarycentricColorInterpolate = AffineDistortion,
- BilinearColorInterpolate = BilinearReverseDistortion,
- PolynomialColorInterpolate = PolynomialDistortion,
- ShepardsColorInterpolate = ShepardsDistortion,
- /*
- Methods unique to SparseColor().
- */
- VoronoiColorInterpolate = SentinelDistortion,
- InverseColorInterpolate,
- ManhattanColorInterpolate
- } SparseColorMethod;
- extern MagickExport Image
- *AffineTransformImage(const Image *,const AffineMatrix *,ExceptionInfo *),
- *DistortImage(const Image *,const DistortImageMethod,const size_t,
- const double *,MagickBooleanType,ExceptionInfo *exception),
- *DistortResizeImage(const Image *,const size_t,const size_t,ExceptionInfo *),
- *RotateImage(const Image *,const double,ExceptionInfo *),
- *SparseColorImage(const Image *,const ChannelType,const SparseColorMethod,
- const size_t,const double *,ExceptionInfo *);
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
- #endif
|