- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS
  - AnimateImages
  - AppendImages
  - AverageImages
  - CloneImage
  - CloneImageInfo
  - CommentImage
  - CompositeImage
  - CondenseImage
  - CreateImage
  - CycleColormapImage
  - DescribeImage
  - DestroyImage
  - DestroyImageInfo
  - DestroyImages
  - DisplayImages
  - GetImageInfo
  - GetImageType
  - GetNumberScenes
  - GetPixels
  - IsGeometry
  - IsSubimage
  - IsTainted
  - LabelImage
  - LayerImage
  - ListToGroupImage
  - MatteImage
  - MogrifyImage
  - MogrifyImages
  - ParseImageGeometry
  - PingImage
  - ReadImage
  - ReadImages
  - RGBTransformImage
  - SetImage
  - SetImageInfo
  - SortColormapByIntentsity
  - SyncImage
  - TextureImage
  - TransformImage
  - TransformRGBImage
  - TransparentImage
  - UncondenseImage
  - WriteImage

# NAME

image - ImageMagick Image Methods

# SYNOPSIS

unsigned int AnimateImages( const ImageInfo *image_info, Image `*image` );

Image * AppendImages( Image *images, const unsigned int stack );

Image * AverageImages( const Image `*images` );

Image * CloneImage( const Image *image, const unsigned int columns, const unsigned int rows, const unsigned int clone_pixels );

ImageInfo * CloneImageInfo( const ImageInfo `*image_info` );

void CommentImage( Image *image, const char `*comments` );

void CompositeImage( Image *image, const CompositeOperator compose, Image *composite_image, const int x_offset, const int y_offset );

void CondenseImage( Image `*image` );

Image * CreateImage( const unsigned int width, const unsigned int height, const float *red, const float *green, const float *blue, const float `*opacity` );

CycleColormapImage( image, amount );

void DescribeImage( Image *image, FILE *file, const unsigned int verbose );

void DestroyImage( Image `*image` );

void DestroyImageInfo( ImageInfo `*image_info` );

void DestroyImages( Image `*image` );

unsigned int DisplayImages( const ImageInfo *image_info, Image `*image` );

void GetImageInfo( ImageInfo `*image_info` );

ImageType GetImageType( Image `*image` );

unsigned int GetNumberScenes( const Image `*image` );

unsigned int IsGeometry( const char `*geometry` );

unsigned int IsSubimage( const char *geometry, const unsigned int pedantic );

unsigned int IsTainted( const Image `*image` );

void LabelImage( Image *image, const char `*label` );

void LayerImage( Image *image, const LayerType layer );

Image ** ListToGroupImage( const Image *image, unsigned int `*number_images` );

void MatteImage( Image `*image` );

void MogrifyImage( const ImageInfo *image_info, const int argc, char ** argv, Image ** image );

void MogrifyImages( const ImageInfo *image_info, const int argc, char ** argv, Image ** images );

int ParseImageGeometry( const char *geometry, int *x, int *y, unsigned int *width, unsigned int `*height` );

Image * PingImage( const ImageInfo `*image_info` );

void RGBTransformImage( Image *image, const ColorspaceType colorspace );

Image * ReadImage( ImageInfo `*image_info` );

Image * ReadImages( ImageInfo `*image_info` );

void SetImage( Image `*image` );

void SetImageInfo( ImageInfo *image_info, const unsigned int rectify );

void SyncImage( Image `*image` );

void TextureImage( Image *image, Image `*texture` );

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

void TransformRGBImage( Image *image, const ColorspaceType colorspace );

void TransparentImage( Image *image, const char `*color` );

unsigned int UncondenseImage( Image `*image` );

unsigned int WriteImage( const ImageInfo *image_info, Image `*image` );

# FUNCTION DESCRIPTIONS

## AnimateImages

Method AnimateImages displays one or more images to an X window.

The format of the AllocateNextImage method is:

> unsigned int AnimateImages ( const ImageInfo *image_info, Image *image );

A description of each parameter follows:

status:

  Method DisplayImages returns True if the images are displayed in an X window, otherwise False is returned.

image_info:

  Specifies a pointer to an ImageInfo structure.

image:

  The address of a structure of type Image.

## AppendImages

Method AppendImages appends a set of images. All the input images must have the same width or height. Images of the same width are stacked top-to-bottom. Images of the same height are stacked left-to-right. If stack is false, rectangular images are stacked left-to-right otherwise top-to-bottom.

The format of the AppendImage method is:

> Image *AppendImages ( Image *images, const unsigned int stack );

A description of each parameter follows:

images:

  The address of a structure of type Image; returned from ReadImage.

stack:

  An unsigned value other than stacks rectangular images top-to-bottom otherwise left-to-right.

## AverageImages

Method AverageImages averages a set of images. All the input images must be the same size in pixels.

The format of the AverageImage method is:

> Image *AverageImages ( const Image *images );

A description of each parameter follows:

averaged_image:

  Method AverageImages returns the mean pixel value for an image sequence.

images:

  The address of a structure of type Image; returned from ReadImage.

## CloneImage

Method CloneImage returns a copy of all fields of the input image. The the pixel memory is allocated but the pixel data is not copied.

The format of the CloneImage method is:

> Image *CloneImage ( const Image *image, const unsigned int columns, const unsigned int rows, const unsigned int clone_pixels );

A description of each parameter follows:

clone_image:

  Method CloneImage returns a pointer to the image after copying. A null image is returned if there is a memory shortage.

image:

  The address of a structure of type Image.

columns:

  An integer that specifies the number of columns in the copied image.

rows:

  An integer that specifies the number of rows in the copied image.

clone_pixels:

  Specifies whether the pixel data is copied. Must be either True or False;

## CloneImageInfo

Method CloneImageInfo makes a duplicate of the given image info, or if image info is NULL, a new one.

The format of the CloneImageInfo method is:

> ImageInfo *CloneImageInfo ( const ImageInfo *image_info );

A description of each parameter follows:

cloned_info:

  Method CloneImageInfo returns a duplicate of the given image info, or if image info is NULL a new one.

image_info:

  a structure of type info.

## CommentImage

Method CommentImage initializes an image comment. Optionally the comment can include the image filename, type, width, height, or scene number by embedding special format characters.

The format of the CommentImage method is:

> void CommentImage ( Image *image, const char *comments );

A description of each parameter follows:

image:

  The address of a structure of type Image.

comments:

  The address of a character string containing the comment format.

## CompositeImage

Method CompositeImage returns the second image composited onto the first at the specified offsets.

The format of the CompositeImage method is:

> void CompositeImage ( Image *image, const CompositeOperator compose, Image *composite_image, const int x_offset, const int y_offset );

A description of each parameter follows:

image:

  The address of a structure of type Image.

compose:

  Specifies an image composite operator.

composite_image:

  The address of a structure of type Image.

x_offset:

  An integer that specifies the column offset of the composited image.

y_offset:

  An integer that specifies the row offset of the composited image.

## CondenseImage

Method CondenseImage compresses an image to the minimum number of runlength-encoded packets.

The format of the CondenseImage method is:

> void CondenseImage ( Image *image );

A description of each parameter follows:

image:

  The address of a structure of type Image.

## CreateImage

Method CreateImage creates an image from the specified normalized pixel data and returns it. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

The format of the CreateImage method is:

> Image *CreateImage ( const unsigned int width, const unsigned int height, const float *red, const float *green, const float *blue, const float *opacity );

A description of each parameter follows:

image:

  Method CreateImage returns a pointer to the image after reading. A null image is returned if there is a memory shortage or if the image cannot be read.

width:

  Specifies the width in pixels of the image.

height:

  Specifies the height in pixels of the image.

red,green,blue,opacity:

  This array of normalized float values [0..1] contain the red, green, blue, and opacity components of the pixel data. The length of the arrays must equal the area specified by the width and height values. If you do not want to initialize a particular component, specify it as NULL.

## CycleColormapImage

Method CycleColormapImage cycles the image colormap by a specified amount.

The format of the CycleColormapImage method is:

> CycleColormapImage ( image, amount );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

amount:

  An unsigned value that specifies the offset of the colormap.

## DescribeImage

Method DescribeImage describes an image by printing its attributes to stdout.

The format of the DescribeImage method is:

> void DescribeImage ( Image *image, FILE *file, const unsigned int verbose );

A description of each parameter follows:

image:

  The address of a structure of type Image.

file:

  send the image attributes to this file.

verbose:

  an unsigned value other than zero prints detailed information about the image.

## DestroyImage

Method DestroyImage deallocates memory associated with an image.

The format of the DestroyImage method is:

> void DestroyImage ( Image *image );

A description of each parameter follows:

image:

  The address of a structure of type Image.

## DestroyImageInfo

Method DestroyImageInfo deallocates memory associated with an ImageInfo structure.

The format of the DestroyImageInfo method is:

> void DestroyImageInfo ( ImageInfo *image_info );

A description of each parameter follows:

image_info:

  Specifies a pointer to an ImageInfo structure.

## DestroyImages

Method DestroyImages deallocates memory associated with a linked list of images.

The format of the DestroyImages method is:

> void DestroyImages ( Image *image );

A description of each parameter follows:

image:

  The address of a structure of type Image.

## DisplayImages

Method DisplayImages displays one or more images to an X window.

The format of the AllocateNextImage method is:

> unsigned int DisplayImages ( const ImageInfo *image_info, Image *image );

A description of each parameter follows:

status:

  Method DisplayImages returns True if the images are displayed in an X window, otherwise False is returned.

image_info:

  Specifies a pointer to an ImageInfo structure.

image:

  The address of a structure of type Image.

## GetImageInfo

Method GetImageInfo initializes the ImageInfo structure.

The format of the GetImageInfo method is:

> void GetImageInfo ( ImageInfo *image_info );

A description of each parameter follows:

image_info:

  Specifies a pointer to an ImageInfo structure.

## GetImageType

Method GetImageType returns the type of image (e.g. bilevel, palette, etc).

The format of the GetImageType method is:

> ImageType GetImageType ( Image *image );

A description of each parameter follows:

type:

  Method GetImageType returns a ImageType enum that specifies the type of the specified image (e.g. bilevel, palette, etc).

image:

  The address of a structure of type Image.

## GetNumberScenes

Method GetNumberScenes returns the number of scenes in an image sequence.

The format of the GetNumberScenes method is:

> unsigned int GetNumberScenes ( const Image *image );

A description of each parameter follows:

scenes:

  Method GetNumberScenes returns the number of scenes in an image sequence.

image:

  The address of a structure of type Image.

## GetPixels

Method GetPixels returns the pixel data of an image as normalized red, green, blue, and opacity values.

The format of the GetPixels method is:

        unsigned int IsGeometry(const char *geometry)

A description of each parameter follows:

image:

  Specifies a pointer to a Image structure; returned from ReadImage.

red_pixels,green_pixels,blue_pixels,opacity_pixels:

  These arrays are returned with the correpondingred, green, blue, and opacity values from the image. The length of the arrays must equal the area specified by the columns and row values values of the Image structure. If you do not want to initialize a particular component, specify it as NULL.

## IsGeometry

Method IsGeometry returns True if the geometry specification is valid as determined by ParseGeometry.

The format of the IsGeometry method is:

> unsigned int IsGeometry ( const char *geometry );

A description of each parameter follows:

status:

  Method IsGeometry returns True if the geometry specification is valid otherwise False is returned.

geometry:

  This string is the geometry specification.

## IsSubimage

Method IsSubimage returns True if the geometry is a valid subimage specification (e.g. [1], [1-9], [1,7,4]).

The format of the IsSubimage method is:

> unsigned int IsSubimage ( const char *geometry, const unsigned int pedantic );

A description of each parameter follows:

status:

  Method IsSubimage returns True if the geometry is a valid subimage specification otherwise False is returned.

geometry:

  This string is the geometry specification.

pedantic:

  A value other than 0 invokes a more restriction set of conditions for a valid specification (e.g. [1], [1-4], [4-1]).

## IsTainted

Method IsTainted returns True if the image has been altered since it was first read or if any image in the sequence has a difference magic or filename.

The format of the IsTainted method is:

> unsigned int IsTainted ( const Image *image );

A description of each parameter follows:

status:

  Method IsTainted returns True if the image has been altered since it was first read.

image:

  The address of a structure of type Image.

## LabelImage

Method LabelImage initializes an image label. Optionally the label can include the image filename, type, width, height, or scene number by embedding special format characters.

The format of the LabelImage method is:

> void LabelImage ( Image *image, const char *label );

A description of each parameter follows:

image:

  The address of a structure of type Image.

label:

  The address of a character string containing the label format.

## LayerImage

Method LayerImage extracts the specified layer from the references image.

The format of the LayerImage method is:

> void LayerImage ( Image *image, const LayerType layer );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

layer:

  A value of type LayerType that identifies which layer to extract.

## ListToGroupImage

Method ListToGroupImage converts a linked list of images to a sequential array.

The format of the ListToGroupImage method is:

> Image **ListToGroupImage ( const Image *image, unsigned int *number_images );

A description of each parameter follows:

images:

  Method ListToGroupImage converts a linked list of images to a sequential array and returns the array..

images:

  The address of a structure of type Image; returned from ReadImage.

number_images:

  A pointer to an unsigned integer. The number of images in the image array is returned here.

## MatteImage

Method MatteImage initializes the matte channel of the reference image to opaque.

The format of the MatteImage method is:

> void MatteImage ( Image *image );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

## MogrifyImage

Method MogrifyImage applies image processing options to an image as prescribed by command line options.

The format of the MogrifyImage method is:

> void MogrifyImage ( const ImageInfo *image_info, const int argc, char **argv, Image **image );

A description of each parameter follows:

image_info:

  Specifies a pointer to an ImageInfo structure.

argc:

  Specifies a pointer to an integer describing the number of elements in the argument vector.

argv:

  Specifies a pointer to a text array containing the command line arguments.

image:

  The address of a structure of type Image; returned from ReadImage.

## MogrifyImages

Method MogrifyImages applies image processing options to a sequence of images as prescribed by command line options.

The format of the MogrifyImage method is:

> void MogrifyImages ( const ImageInfo *image_info, const int argc, char **argv, Image **images );

A description of each parameter follows:

image_info:

  Specifies a pointer to an ImageInfo structure.

argc:

  Specifies a pointer to an integer describing the number of elements in the argument vector.

argv:

  Specifies a pointer to a text array containing the command line arguments.

images:

  The address of a structure of type Image; returned from ReadImage.

## ParseImageGeometry

Method ParseImageGeometry parses a geometry specification and returns the width, height, x, and y values. It also returns flags that indicates which of the four values (width, height, xoffset, yoffset) were located in the string, and whether the x and y values are negative. In addition,

The format of the ParseImageGeometry method is:

> int ParseImageGeometry ( const char *geometry, int *x, int *y, unsigned int *width, unsigned int *height );

A description of each parameter follows:

flags:

  Method ParseImageGeometry returns a bitmask that indicates which of the four values were located in the geometry string.

image_geometry:

  Specifies a character string representing the geometry specification.

x,y:

  A pointer to an integer. The x and y offset as determined by the geometry specification is returned here.

width,height:

  A pointer to an unsigned integer. The width and height as determined by the geometry specification is returned here.

## PingImage

Method PingImage returns the image size in bytes if it exists and can be the image is returned as well. Note, only the first image in a multi-frame image file is pinged.

The format of the PingImage method is:

> Image *PingImage ( const ImageInfo *image_info );

A description of each parameter follows:

Image:

  Method PingImage returns the image size in bytes if the image file exists and it size can be determined otherwise 0.

image_info:

  Specifies a pointer to an ImageInfo structure.

## ReadImage

Method ReadImage reads an image and returns it. It allocates the memory necessary for the new Image structure and returns a pointer to the new image. By default, the image format is determined by its magic number. To specify a particular image format, precede the filename with an explicit image format name and a colon (i.e. ps:image) or as the filename suffix (i.e. image.ps).

The format of the ReadImage method is:

> Image *ReadImage ( ImageInfo *image_info );

A description of each parameter follows:

image:

  Method ReadImage returns a pointer to the image after reading. A null image is returned if there is a memory shortage or if the image cannot be read.

image_info:

  Specifies a pointer to an ImageInfo structure.

## ReadImages

Method ReadImages reads a list of image names from a file and then returns the images as a linked list.

The format of the ReadImage method is:

> Image *ReadImages ( ImageInfo *image_info );

A description of each parameter follows:

image:

  Method ReadImage returns a pointer to the image after reading. A null image is returned if there is a memory shortage or if the image cannot be read.

image_info:

  Specifies a pointer to an ImageInfo structure.

## RGBTransformImage

Method RGBTransformImage converts the reference image from RGB to an alternate colorspace. The transformation matrices are not the standard ones: the weights are rescaled to normalized the range of the transformed values to be [0..MaxRGB].

The format of the RGBTransformImage method is:

> void RGBTransformImage ( Image *image, const ColorspaceType colorspace );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

colorspace:

  An unsigned integer value that indicates which colorspace to transform the image.

## SetImage

Method SetImage initializes the reference image to the background color.

The format of the SetImage method is:

> void SetImage ( Image *image );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

## SetImageInfo

Method SetImageInfo initializes the `magick' field of the ImageInfo structure. It is set to a type of image format based on the prefix or suffix of the filename. For example, `ps:image' returns PS indicating a Postscript image. JPEG is returned for this filename: `image.jpg'. The filename prefix has precendence over the suffix. Use an optional index enclosed in brackets after a file name to specify a desired subimage of a multi-resolution image format like Photo CD (e.g. img0001.pcd[4]).

The format of the SetImageInfo method is:

> void SetImageInfo ( ImageInfo *image_info, const unsigned int rectify );

A description of each parameter follows:

image_info:

  Specifies a pointer to an ImageInfo structure.

rectify:

  an unsigned value other than zero rectifies the attribute for multi-frame support (user may want multi-frame but image format may not support it).

## SortColormapByIntentsity

Method SortColormapByIntensity sorts the colormap of a PseudoClass image by decreasing color intensity.

The format of the SortColormapByIntensity method is:

        void SortColormapByIntensity(Image *image)

A description of each parameter follows:

image:

  A pointer to a Image structure.

## SyncImage

Method SyncImage initializes the red, green, and blue intensities of each pixel as defined by the colormap index.

The format of the SyncImage method is:

> void SyncImage ( Image *image );

A description of each parameter follows:

image:

  The address of a structure of type Image.

## TextureImage

Method TextureImage layers a texture onto the background of an image.

The format of the TextureImage method is:

> void TextureImage ( Image *image, Image *texture );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

texture:

  This image contains the texture to layer on the background.

## TransformImage

Method TransformImage creates a new image that is a transformed size of of existing one as specified by the crop and image geometries. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

If a crop geometry is specified a subregion of the image is obtained. If the specified image size, as defined by the image and scale geometries, is smaller than the actual image size, the image is first minified to an integral of the specified image size with an antialias digital filter. The image is then scaled to the exact specified image size with pixel replication. If the specified image size is greater than the actual image size, the image is first enlarged to an integral of the specified image size with bilinear interpolation. The image is then scaled to the exact specified image size with pixel replication.

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 address of an address of a structure of type Image. The transformed image is returned as this parameter.

crop_geometry:

  Specifies a pointer to a crop geometry string. This geometry defines a subregion of the image.

image_geometry:

  Specifies a pointer to a image geometry string. The specified width and height of this geometry string are absolute.

## TransformRGBImage

Method TransformRGBImage converts the reference image from an alternate colorspace. The transformation matrices are not the standard ones: the weights are rescaled to normalized the range of the transformed values to be [0..MaxRGB].

The format of the TransformRGBImage method is:

> void TransformRGBImage ( Image *image, const ColorspaceType colorspace );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

colorspace:

  An unsigned integer value that indicates the colorspace the image is currently in. On return the image is in the RGB color space.

## TransparentImage

Method TransparentImage creates a matte image associated with the image. All pixel locations are initially set to opaque. Any pixel that matches the specified color are set to transparent.

The format of the TransparentImage method is:

> void TransparentImage ( Image *image, const char *color );

A description of each parameter follows:

image:

  The address of a structure of type Image; returned from ReadImage.

color:

  A character string that contain an X11 color string.

## UncondenseImage

Method UncondenseImage uncompresses runlength-encoded pixels packets to a rectangular array of pixels.

The format of the UncondenseImage method is:

> unsigned int UncondenseImage ( Image *image );

A description of each parameter follows:

status:

  Method UncondenseImage returns True if the image is uncompressed otherwise False.

image:

  The address of a structure of type Image.

## WriteImage

Method WriteImage writes an image to a file as defined by image->filename. You can specify a particular image format by prefixing the file with the image type and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). The image may be modified to adapt it to the requirements of the image format. For example, DirectClass images must be color-reduced to PseudoClass if the format is GIF.

The format of the WriteImage method is:

> unsigned int WriteImage ( const ImageInfo *image_info, Image *image );

A description of each parameter follows:

status:

  Method WriteImage return True if the image is written. False is returned is there is a memory shortage or if the image file fails to write.

image_info:

  Specifies a pointer to an ImageInfo structure.

image:

  A pointer to a Image structure.