ImageMagick: MagickCore, C API for ImageMagick: Working with Image Lists
Author: ImageMagick Studio LLC
Description: ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images.
Keywords: magickcore, c, api, for, imagemagick:, working, with, image, lists, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing

Unix
Mac OS X
Windows
Processing
Options
Usage
MagickWand
MagickCore
PerlMagick
Magick++
Unix
Windows
Links

# Module list Methods

## AppendImageToList

AppendImageToList() appends the second image list to the end of the first list. The given image list pointer is left unchanged, unless it was empty.

The format of the AppendImageToList method is:

      AppendImageToList(Image *images,const Image *image)

A description of each parameter follows:

##### images

the image list to be appended to.

##### image

the appended image or image list.

## CloneImageList

CloneImageList() returns a duplicate of the image list.

The format of the CloneImageList method is:

      Image *CloneImageList(const Image *images,ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image list.

##### exception

return any errors or warnings in this structure.

## CloneImages

CloneImages() clones one or more images from an image sequence, using a comma separated list of image numbers or ranges.

The numbers start at 0 for the first image in the list, while negative numbers refer to images starting counting from the end of the range. Images may be refered to multiple times to clone them multiple times. Images refered beyond the available number of images in list are ignored.

Images referenced may be reversed, and results in a clone of those images also being made with a reversed order.

The format of the CloneImages method is:

      Image *CloneImages(const Image *images,const char *scenes,
        ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image sequence.

##### scenes

This character string specifies which scenes to clone (e.g. 1,3-5,7-3,2).

##### exception

return any errors or warnings in this structure.

## DeleteImageFromList

DeleteImageFromList() deletes an image from the list. List pointer is moved to the next image, if one is present. See RemoveImageFromList().

The format of the DeleteImageFromList method is:

      DeleteImageFromList(Image **images)

A description of each parameter follows:

##### images

the image list.

## DeleteImages

DeleteImages() deletes one or more images from an image sequence, using a comma separated list of image numbers or ranges.

The numbers start at 0 for the first image, while negative numbers refer to images starting counting from the end of the range. Images may be refered to multiple times without problems. Image refered beyond the available number of images in list are ignored.

If the referenced images are in the reverse order, that range will be completely ignored. Unlike CloneImages().

The format of the DeleteImages method is:

      DeleteImages(Image **images,const char *scenes,ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image sequence.

##### scenes

This character string specifies which scenes to delete (e.g. 1,3-5,-2-6,2).

##### exception

return any errors or warnings in this structure.

## DestroyImageList

DestroyImageList() destroys an image list.

The format of the DestroyImageList method is:

      Image *DestroyImageList(Image *image)

A description of each parameter follows:

##### image

the image sequence.

## GetFirstImageInList

GetFirstImageInList() returns a pointer to the first image in the list.

The format of the GetFirstImageInList method is:

      Image *GetFirstImageInList(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetImageFromList

GetImageFromList() returns an image at the specified offset from the list.

The format of the GetImageFromList method is:

      Image *GetImageFromList(const Image *images,const ssize_t index)

A description of each parameter follows:

##### images

the image list.

##### index

the position within the list.

## GetImageIndexInList

GetImageIndexInList() returns the offset in the list of the specified image.

The format of the GetImageIndexInList method is:

      ssize_t GetImageIndexInList(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetImageListLength

GetImageListLength() returns the length of the list (the number of images in the list).

The format of the GetImageListLength method is:

      size_t GetImageListLength(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetLastImageInList

GetLastImageInList() returns a pointer to the last image in the list.

The format of the GetLastImageInList method is:

      Image *GetLastImageInList(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetNextImageInList

GetNextImageInList() returns the next image in the list.

The format of the GetNextImageInList method is:

      Image *GetNextImageInList(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetPreviousImageInList

GetPreviousImageInList() returns the previous image in the list.

The format of the GetPreviousImageInList method is:

      Image *GetPreviousImageInList(const Image *images)

A description of each parameter follows:

##### images

the image list.

## ImageListToArray

ImageListToArray() is a convenience method that converts an image list to a sequential array. For example,

group = ImageListToArray(images, exception); while (i = 0; group[i] != (Image *) NULL; i++) printf("s\n", group[i]->filename); printf("d images\n", i); group = RelinquishMagickMemory(group);

The format of the ImageListToArray method is:

      Image **ImageListToArray(const Image *images,ExceptionInfo *exception)

A description of each parameter follows:

##### image

the image list.

##### exception

return any errors or warnings in this structure.

## InsertImageInList

InsertImageInList() inserts the second image or image list into the first image list immediately after the image pointed to. The given image list pointer is unchanged unless previously empty.

The format of the InsertImageInList method is:

      InsertImageInList(Image **images,Image *image)

A description of each parameter follows:

##### images

the image list to insert into.

##### image

the image list to insert.

## NewImageList

NewImageList() creates an empty image list.

The format of the NewImageList method is:

      Image *NewImageList(void)

## PrependImageToList

PrependImageToList() prepends the image to the beginning of the list.

The format of the PrependImageToList method is:

      PrependImageToList(Image *images,Image *image)

A description of each parameter follows:

##### images

the image list.

##### image

the image.

## RemoveImageFromList

RemoveImageFromList() removes and returns the image pointed to.

The given image list pointer is set to point to the next image in list if it exists, otherwise it is set to the previous image, or NULL if list was emptied.

The format of the RemoveImageFromList method is:

      Image *RemoveImageFromList(Image **images)

A description of each parameter follows:

##### images

the image list.

## RemoveFirstImageFromList

RemoveFirstImageFromList() removes and returns the first image in the list.

If the given image list pointer pointed to the removed first image, it is set to the new first image of list, or NULL if list was emptied, otherwise it is left as is.

The format of the RemoveFirstImageFromList method is:

      Image *RemoveFirstImageFromList(Image **images)

A description of each parameter follows:

##### images

the image list.

## RemoveLastImageFromList

RemoveLastImageFromList() removes and returns the last image from the list.

If the given image list pointer pointed to the removed last image, it is set to the new last image of list, or NULL if list was emptied, otherwise it is left as is.

The format of the RemoveLastImageFromList method is:

      Image *RemoveLastImageFromList(Image **images)

A description of each parameter follows:

##### images

the image list.

## ReplaceImageInList

ReplaceImageInList() replaces an image in the list. Old image is destroyed. The given image list pointer is set to point to the just inserted image.

The format of the ReplaceImageInList method is:

      ReplaceImageInList(Image **images,Image *image)

A description of each parameter follows:

##### images

the image list.

##### image

the image.

## ReverseImageList

ReverseImageList() reverses the order of an image list. The list pointer is reset to that start of the re-ordered list.

The format of the ReverseImageList method is:

      void ReverseImageList(Image **images)

A description of each parameter follows:

##### images

the image list.

## SpliceImageIntoList

SpliceImageIntoList() removes 'length' images from the list and replaces them with the specified splice. Removed images are returned.

The format of the SpliceImageIntoList method is:

      SpliceImageIntoList(Image **images,const size_t,
        const Image *splice)

A description of each parameter follows:

##### images

the image list.

##### length

the length of the image list to remove.

##### splice

Replace the removed image list with this list.

## SplitImageList

SplitImageList() splits an image into two lists, after given image The list that was split off is returned, which may be empty.

The format of the SplitImageList method is:

      Image *SplitImageList(Image *images)

A description of each parameter follows:

##### images

the image list.

Discourse Server • Studio