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( Image *image, const unsigned int columns, const unsigned int rows, const unsigned int orphan );

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 );

Image * CreateImage( const unsigned int width, const unsigned int height, const char *map, const StorageType type, const void *pixels );

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 );

Image * GetNextImage( Image *image );

unsigned int GetNumberScenes( const Image *image );

void GetPageInfo( RectangleInfo *page_info );

void GetPixelPacket( PixelPacket *pixel );

void GetPixels( Image *image, const int x, const int y, const unsigned int columns, const unsigned int rows, const char *map, const StorageType type, void *pixels );

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, Quantum opacity );

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 );

Image * MosaicImages( const 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 TransformRGBImage( Image *image, const ColorspaceType colorspace );

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 AnimateImages method is:

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

A description of each parameter follows:

status:

Method AnimateImages 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:

average_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 image pixels and indexes are copied only if the columns and rows of the cloned image are the same as the original otherwise the pixel data is undefined and must be initialized with SetPixelCache() and SyncPixelCache() methods.

The format of the CloneImage method is:

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

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.

orphan:

if true, consider this image an orphan.


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:

clone_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.


CreateImage

Method CreateImage is a convenience routine that creates an image from the pixel data you supply and returns it. It allocates the memory necessary for the new Image structure and returns a pointer to the new image. The pixel data must be in scanline order top-to-bottom. The data can be character, short int, integer, float, or double. Float and double require the pixels to be normalized [0..1]. The other types are [0..MaxRGB]. For example, to create a 640x480 image from unsigned red-green-blue character data, use

image=CreateImage ( 640, 480, "RGB", 0, pixels );;

The format of the CreateImage method is:

Image *CreateImage ( const unsigned int width, const unsigned int height, const char *map, const StorageType type, const void *pixels );

A description of each parameter follows:

image:

Method CreateImage returns a pointer to the image. 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.

map:

This character string can be any combination or order of R = red, G = green, B = blue, A = alpha, C = cyan, Y = yellow, M = magenta, and K = black. The ordering reflects the order of the pixels in the supplied pixel array.

type:

pixel type where 0 = unsigned char, 1 = short int, 2 = int, 3 = float, and 4 = double. Float and double types are expected to be normalized [0..1] otherwise [0..MaxRGB].

pixels:

This array of values contain the pixel components as defined by the map and type parameters. The length of the arrays must equal the area specified by the width and height values and type parameters.


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.


GetNextImage

Method GetNextImage returns the next image in an image sequence.

The format of the GetNextImage method is:

Image *GetNextImage ( Image *image );

A description of each parameter follows:

next:

Method GetNextImage returns the next image in an image sequence.

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.


GetPageInfo

Method GetPageInfo initializes the image page structure.

The format of the GetPageInfo method is:

void GetPageInfo ( RectangleInfo *page_info );

A description of each parameter follows:

page_info:

Specifies a pointer to a RectangleInfo structure.


GetPixels

Method GetPixels is a convenience routine. Use it to extract pixel data from an image and place it in a buffer you supply. The data is saved either as char, short int, integer, float or double format in the order specified by the type parameter. For example, we want to extract scanline 1 of a 640x480 image as character data in red-green-blue order:

GetPixels ( image, 0, 0, 640, 1, "RGB", 0, pixels );;

The format of the GetPixels method is:

void GetPixels ( Image *image, const int x, const int y, const unsigned int columns, const unsigned int rows, const char *map, const StorageType type, void *pixels );

A description of each parameter follows:

image:

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

x,y,columns,rows:

These values define the perimeter of a region of pixels you want to extract.

map:

This character string can be any combination or order of R = red, G = green, B = blue, A = alpha, C = cyan, Y = yellow, M = magenta, and K = black. The ordering reflects the order of the pixels in the supplied pixel array.

type:

pixel type where 0 = unsigned char, 1 = short int, 2 = int, 3 = float, and 4 = double. Float and double types are expected to be normalized [0..1] otherwise [0..MaxRGB].

pixels:

This array of values contain the pixel components as defined by the map and type parameters. The length of the arrays must equal the area specified by the width and height values and type parameters.


GetPixelPacket

Method GetPixelPacket initializes the PixelPacket structure.

The format of the GetPixelPacket method is:

void GetPixelPacket ( PixelPacket *pixel );

A description of each parameter follows:

pixel:

Specifies a pointer to a PixelPacket structure.


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, Quantum opacity );

A description of each parameter follows:

image:

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

opacity:

The level of transparency.


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.


MosaicImages

Method MosaicImages inlays a number of images to form a single coherent picture.

The format of the MosaicImage method is:

Image *MosaicImages ( const Image *images );

A description of each parameter follows:

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.


TransformRGBImage

Method TransformRGBImage converts the reference image from an alternate colorspace. The transformation matrices are not the standard ones: the weights are rescaled to normalize 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 defines which colorspace to transform the image to.


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.