- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS
  - ChopImage
  - CoalesceImages
  - CropImage
  - DeconstructImages
  - FlattenImage
  - FlipImage
  - FlopImage
  - MosaicImages
  - ProfileImage
  - RollImage
  - ShaveImage
  - TransformImage

# NAME

transform - Methods to Transform an Image

# SYNOPSIS

Image * ChopImage( const Image *image, const RectangleInfo *chop_info );

Image * CoalesceImages( const Image *image, ExceptionInfo *exception );

Image * CropImage( const Image *image, const RectangleInfo *geometry, ExceptionInfo *exception );

Image * DeconstructImages( const Image *image, ExceptionInfo *exception );

Image * FlattenImage( const Image *image, ExceptionInfo *exception );

Image * FlipImage( const Image *image, ExceptionInfo *exception );

Image * FlopImage( const Image *image, ExceptionInfo *exception );

Image * MosaicImages( const Image *image, ExceptionInfo *exception );

unsigned int ProfileImage( Image *image, const char *name, const unsigned char *profile, const size_t length );

Image * RollImage( const Image *image, const long x_offset, const long y_offset, ExceptionInfo *exception );

Image * ShaveImage( const Image *image, const RectangleInfo *shave_info, ExceptionInfo *exception );

void TransformImage( Image ** image, const char *crop_geometry, const char *image_geometry );

# FUNCTION DESCRIPTIONS

## ChopImage

`Chop()` removes a region of an image and collapses the image to occupy the removed portion.

The format of the ChopImage method is:

> Image *ChopImage ( const Image *image, const RectangleInfo *chop_info );

          ExceptionInfo *exception)

A description of each parameter follows:

  image:
    The image.

  chop_info:
    Define the region of the image to chop.

  exception:
    Return any errors or warnings in this structure.

## CoalesceImages

> CoalesceImages() composites a set of images while respecting any page offsets and disposal methods. GIF, MIFF, and MNG animation sequences typically start with an image background and each subsequent image varies in size and offset. CoalesceImages ( ) returns a new sequence where each image in the sequence is the same size as the first and composited with the next image in the sequence.

The format of the CoalesceImages method is:

> Image *CoalesceImages ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image sequence.

  exception:
    Return any errors or warnings in this structure.

## CropImage

> Use CropImage() to extract a region of the image starting at the offset defined by geometry.

The format of the CropImage method is:

> Image *CropImage ( const Image *image, const RectangleInfo *geometry, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  geometry:
    Define the region of the image to crop with members x, y, width, and height.

  exception:
    Return any errors or warnings in this structure.

## DeconstructImages

> DeconstructImages() compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

The format of the DeconstructImages method is:

> Image *DeconstructImages ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  exception:
    Return any errors or warnings in this structure.

## FlattenImage

Method FlattenImage merges a sequence of images. This is useful for combining Photoshop layers into a single image.

The format of the FlattenImage method is:

> Image *FlattenImage ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image sequence.

  exception:
    Return any errors or warnings in this structure.

## FlipImage

> FlipImage() creates a vertical mirror image by reflecting the pixels around the central x-axis.

The format of the FlipImage method is:

> Image *FlipImage ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  exception:
    Return any errors or warnings in this structure.

## FlopImage

> FlopImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis.

The format of the FlopImage method is:

> Image *FlopImage ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  exception:
    Return any errors or warnings in this structure.

## MosaicImages

> MosaicImages() inlays an image sequence to form a single coherent picture. It returns a single image with each image in the sequence composited at the location defined by the page member of the image structure.

The format of the MosaicImage method is:

> Image *MosaicImages ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  exception:
    Return any errors or warnings in this structure.

## ProfileImage

> ProfileImage() adds or removes a ICM, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of ' *' and a profile of NULL to remove all profiles from the image.

The format of the ProfileImage method is:

> unsigned int ProfileImage ( Image *image, const char *name, const unsigned char *profile, const size_t length );

A description of each parameter follows:

  image:
    The image.

  name:
    Name of profile to add or remove: ICM, IPTC, or generic profile.

  profile:
    The profile.

  length:
    The length of the profile.

## RollImage

> RollImage() offsets an image as defined by x_offset and y_offset.

The format of the RollImage method is:

> Image *RollImage ( const Image *image, const long x_offset, const long y_offset, ExceptionInfo *exception );

A description of each parameter follows:

  image:
    The image.

  x_offset:
    The number of columns to roll in the horizontal direction.

  y_offset:
    The number of rows to roll in the vertical direction.

  exception:
    Return any errors or warnings in this structure.

## ShaveImage

Method ShaveImage shaves pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

The format of the ShaveImage method is:

> Image *ShaveImage ( const Image *image, const RectangleInfo *shave_info, ExceptionInfo *exception );

A description of each parameter follows:

  shave_image:
    Method ShaveImage returns a pointer to the shaved image. A null image is returned if there is a memory shortage or if the image width or height is zero.

  image:
    The image.

  shave_info:
    Specifies a pointer to a RectangleInfo which defines the region of the image to crop.

  exception:
    Return any errors or warnings in this structure.

## TransformImage

> TransformImage() is a convenience method that behaves like ResizeImage ( ) or CropImage ( ) but accepts scaling and/or cropping information as a region geometry specification. If the operation fails, the original image handle is returned.

The format of the TransformImage method is:

> void TransformImage ( Image **image, const char *crop_geometry, const char *image_geometry );

A description of each parameter follows:

  image:
    The image The transformed image is returned as this parameter.

  crop_geometry:
    A crop geometry string. This geometry defines a subregion of the image to crop.

  image_geometry:
    An image geometry string. This geometry defines the final size of the image.