[ImageMagick] [sponsor]

AffineTransformImage

AffineTransformImage() transforms an image as dictated by the affine matrix. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

The format of the AffineTransformImage method is:

  Image *AffineTransformImage(const Image *image,
    AffineMatrix *affine_matrix,ExceptionInfo *exception)

A description of each parameter follows:

image

    the image.

affine_matrix

    the affine matrix.

exception

    Return any errors or warnings in this structure.

DeskewImage

DeskewImage() utilizes a radon transform to straighten an image and returns it.

The format of the DeskewImage method is:

  Image *DeskewImage(const Image *image,const double threshold,
    ExceptionInfo *exception)

A description of each parameter follows:

image

    the image.

threshold

    deskewing threshold.

exception

    Return any errors or warnings in this structure.

RotateImage

RotateImage() creates a new image that is a rotated copy of an existing one. Positive angles rotate counter-clockwise (right-hand rule), while negative angles rotate clockwise. Rotated images are usually larger than the originals and have 'empty' triangular corners. X axis. Empty triangles left over from shearing the image are filled with the background color defined by member 'background_color' of the image. RotateImage allocates the memory necessary for the new Image structure and returns a pointer to the new image.

RotateImage() is based on the paper "A Fast Algorithm for General Raster Rotatation" by Alan W. Paeth. RotateImage is adapted from a similar method based on the Paeth paper written by Michael Halle of the Spatial Imaging Group, MIT Media Lab.

The format of the RotateImage method is:

  Image *RotateImage(const Image *image,const double degrees,
    ExceptionInfo *exception)

A description of each parameter follows.

image

    the image.

degrees

    Specifies the number of degrees to rotate the image.

exception

    Return any errors or warnings in this structure.

ShearImage

ShearImage() creates a new image that is a shear_image copy of an existing one. Shearing slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color defined by member 'background_color' of the image.. ShearImage() allocates the memory necessary for the new Image structure and returns a pointer to the new image.

ShearImage() is based on the paper "A Fast Algorithm for General Raster Rotatation" by Alan W. Paeth.

The format of the ShearImage method is:

  Image *ShearImage(const Image *image,const double x_shear,
    const double y_shear,ExceptionInfo *exception)

A description of each parameter follows.

image

    the image.

x_shear, y_shear

    Specifies the number of degrees to shear the image.

exception

    Return any errors or warnings in this structure.