# distort.c File Reference

`#include "magick/studio.h"`
`#include "magick/artifact.h"`
`#include "magick/cache-view.h"`
`#include "magick/colorspace-private.h"`
`#include "magick/composite-private.h"`
`#include "magick/distort.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/gem.h"`
`#include "magick/hashmap.h"`
`#include "magick/image.h"`
`#include "magick/list.h"`
`#include "magick/matrix.h"`
`#include "magick/memory_.h"`
`#include "magick/pixel.h"`
`#include "magick/pixel-private.h"`
`#include "magick/resample.h"`
`#include "magick/registry.h"`
`#include "magick/semaphore.h"`
`#include "magick/splay-tree.h"`
`#include "magick/string_.h"`

## Defines

#define | DistortImageTag "Distort/Image"
#define | InitalBounds(px, py)
#define | ExpandBounds(px, py)

## Functions

static void | InvertAffineCoefficients (const double *coefficients, double *inverse)
static void | InvertPerspectiveCoefficients (const double *coefficients, double *inverse)
static double | MagickRound (double x)
MagickExport Image * | DistortImage (Image *image, const DistortImageMethod method, const unsigned long number_arguments, const double *arguments, MagickBooleanType bestfit, ExceptionInfo *exception)

## Define Documentation

#define DistortImageTag "Distort/Image"

#define ExpandBounds | ( | px,
|  | py |  | ) |

Value:

    { \
      if ( (px) < min_x )  min_x = (px); \
      if ( (px) > max_x )  max_x = (px); \
      if ( (py) < min_y )  min_y = (py); \
      if ( (py) > max_y )  max_y = (py); \
    }

#define InitalBounds | ( | px,
|  | py |  | ) |

Value:

    { \
      min_x = max_x = (px); \
      min_y = max_y = (py); \
    }

## Function Documentation

MagickExport Image* DistortImage | ( | Image * | image,
|  | const DistortImageMethod | method,
|  | const unsigned long | number_arguments,
|  | const double * | arguments,
|  | MagickBooleanType | bestfit,
|  | ExceptionInfo * | exception |
| ) |  |  |

static void InvertAffineCoefficients | ( | const double * | coefficients,
|  | double * | inverse |
| ) |  |  | `[static]`

static void InvertPerspectiveCoefficients | ( | const double * | coefficients,
|  | double * | inverse |
| ) |  |  | `[static]`

static double MagickRound | ( | double | x | ) | `[inline, static]`