cache - Methods to Get or Set Image Pixels

- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS

- CloseImagePixels
- CompressCache
- DestroyImagePixels
- GetIndexes
- GetOnePixel
- GetImagePixels
- GetPixels
- SetImagePixels
- SyncImagePixels
- UncompressCache
- WriteCacheInfo

# NAME

cache - Methods to Get or Set Image Pixels

# SYNOPSIS

void CloseImagePixels( Image *image );

unsigned int CompressCache( Cache cache );

void DestroyImagePixels( Image *image );

IndexPacket * GetIndexes( const Image *image );

PixelPacket * GetOnePixel( const Image image, const int x, const int y );

PixelPacket * GetImagePixels( Image *image, const int x, const int y, const unsigned int columns, const unsigned int rows );

PixelPacket * GetPixels( const Image image );

PixelPacket * SetImagePixels( Image *image, const int x, const int y, const unsigned int columns, const unsigned int rows );

unsigned int SyncImagePixels( Image *image );

unsigned int UncompressCache( Cache cache );

unsigned int WriteCacheInfo( Image *image );

# FUNCTION DESCRIPTIONS

## CloseImagePixels

Method CloseImagePixels closes the pixel cache. Use this method to prevent too many file descriptors from being allocated when reading an image sequence. File descriptors are only used for a disk-based cache. This is essentially a no-op for a memory-based cache.

The format of the CloseImagePixels method is:

> void CloseImagePixels ( Image *image );

A description of each parameter follows:

image:
  The image.

## CompressCache

Method CompressCache compresses the disk-based pixel cache.

The format of the CompressCache method is:

> unsigned int CompressCache ( Cache cache );

A description of each parameter follows:

cache:
  Specifies a pointer to a Cache structure.

## DestroyImagePixels

Method DestroyImagePixels deallocates memory associated with the pixel cache.

The format of the DestroyImagePixels method is:

> void DestroyImagePixels ( Image *image );

A description of each parameter follows:

image:
  The image.

## GetIndexes

Method GetIndexes returns the colormap indexes associated with the last call to the `SetImagePixels()` or `GetImagePixels()` methods.

The format of the GetIndexes method is:

> IndexPacket *GetIndexes ( const Image *image );

A description of each parameter follows:

indexes:
  Method GetIndexes returns the colormap indexes associated with the last call to the `SetImagePixels()` or `GetImagePixels()` methods.

image:
  The image.

## GetOnePixel

Method GetOnePixel returns a single pixel at the specified (x,y) location. The image background color is returned if an error occurs.

The format of the GetOnePixel method is:

> PixelPacket *GetOnePixel ( const Image image, const int x, const int y );

A description of each parameter follows:

pixels:
  Method GetOnePixel returns a pixel at the specified (x,y) location.

image:
  The image.

x,y:
  These values define the location of the pixel to return.

## GetImagePixels

Method GetImagePixels gets pixels from the in-memory or disk pixel cache as defined by the geometry parameters. A pointer to the pixels is returned if the pixels are transferred, otherwise a NULL is returned.

The format of the GetImagePixels method is:

> PixelPacket *GetImagePixels ( Image *image, const int x, const int y, const unsigned int columns, const unsigned int rows );

A description of each parameter follows:

status:
  Method GetImagePixels returns a pointer to the pixels is returned if the pixels are transferred, otherwise a NULL is returned.

image:
  The image.

x,y,columns,rows:
  These values define the perimeter of a region of pixels.

## GetPixels

Method GetPixels returns the pixels associated with the last call to the `SetImagePixels()` or `GetImagePixels()` methods.

The format of the GetPixels method is:

> PixelPacket *GetPixels ( const Image image );

A description of each parameter follows:

pixels:
  Method GetPixels returns the pixels associated with the last call to the `SetImagePixels()` or `GetImagePixels()` methods.

image:
  The image.

## SetImagePixels

Method SetImagePixels allocates an area to store image pixels as defined by the region rectangle and returns a pointer to the area. This area is subsequently transferred from the pixel cache with method SyncImagePixels. A pointer to the pixels is returned if the pixels are transferred, otherwise a NULL is returned.

The format of the SetImagePixels method is:

> PixelPacket *SetImagePixels ( Image *image, const int x, const int y, const unsigned int columns, const unsigned int rows );

A description of each parameter follows:

pixels:
  Method SetImagePixels returns a pointer to the pixels is returned if the pixels are transferred, otherwise a NULL is returned.

image:
  The image.

x,y,columns,rows:
  These values define the perimeter of a region of pixels.

## SyncImagePixels

Method SyncImagePixels saves the image pixels to the in-memory or disk cache. The method returns True if the pixel region is synced, otherwise False.

The format of the SyncImagePixels method is:

> unsigned int SyncImagePixels ( Image *image );

A description of each parameter follows:

status:
  Method SyncImagePixels returns True if the image pixels are transferred to the in-memory or disk cache otherwise False.

image:
  The image.

## UncompressCache

Method UncompressCache uncompresses the disk-based pixel cache.

The format of the UncompressCache method is:

> unsigned int UncompressCache ( Cache cache );

A description of each parameter follows:

cache:
  Specifies a pointer to a Cache structure.

## WriteCacheInfo

Method WriteCacheInfo writes the persistent cache meta information to a file on disk.

The format of the WriteCacheInfo method is:

> unsigned int WriteCacheInfo ( Image *image );

A description of each parameter follows:

status:
  Method WriteCacheInfo returns True if the cache meta information is written to the specified file, otherwise False.

image:
  The image.