shear - Shear or Rotate an Image by an Arbitrary Angle
Image * AffineTransformImage( const Image *image, AffineMatrix *affine, ExceptionInfo *exception );
Image * RotateImage( const Image *image, const double degrees, ExceptionInfo *exception );
Image * ShearImage( const Image *image, const double x_shear, const double y_shear, ExceptionInfo *exception );
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, ExceptionInfo *exception );
A description of each parameter follows:
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.
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.