ImageMagick: MagickCore, C API for ImageMagick: Cache Views
Author: ImageMagick Studio LLC
Description: ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
Keywords: magickcore, c, api, for, imagemagick:, cache, views, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert

AcquireAuthenticCacheView • AcquireVirtualCacheView • CloneCacheView • DestroyCacheView • GetCacheViewChannels • GetCacheViewColorspace • GetCacheViewException • GetCacheViewStorageClass • GetCacheViewAuthenticPixels • GetOneCacheViewAuthenticPixel • GetCacheViewAuthenticIndexQueue • GetCacheViewAuthenticPixelQueue • GetCacheViewVirtualIndexQueue • GetCacheViewVirtualPixelQueue • GetCacheViewVirtualPixels • GetOneCacheViewVirtualPixel • GetOneCacheViewVirtualMethodPixel • QueueCacheViewAuthenticPixels • SetCacheViewStorageClass • SetCacheViewVirtualPixelMethod • SyncCacheViewAuthenticPixels

## AcquireAuthenticCacheView

AcquireAuthenticCacheView() acquires an authentic view into the pixel cache.

The format of the AcquireAuthenticCacheView method is:

    CacheView *AcquireAuthenticCacheView(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## AcquireVirtualCacheView

AcquireVirtualCacheView() acquires a virtual view into the pixel cache, using the VirtualPixelMethod that is defined within the given image itself.

The format of the AcquireVirtualCacheView method is:

    CacheView *AcquireVirtualCacheView(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## CloneCacheView

CloneCacheView() makes an exact copy of the specified cache view.

The format of the CloneCacheView method is:

    CacheView *CloneCacheView(const CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## DestroyCacheView

DestroyCacheView() destroys the specified view returned by a previous call to AcquireVirtualCacheView().

The format of the DestroyCacheView method is:

    CacheView *DestroyCacheView(CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewChannels

GetCacheViewChannels() returns the image pixel channels associated with the specified view.

The format of the GetCacheViewChannels method is:

    size_t GetCacheViewChannels(const CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewColorspace

GetCacheViewColorspace() returns the image colorspace associated with the specified view.

The format of the GetCacheViewColorspace method is:

    ColorspaceType GetCacheViewColorspace(const CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewException

GetCacheViewException() returns the image exception associated with the specified view.

The format of the GetCacheViewException method is:

    ExceptionInfo GetCacheViewException(const CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewStorageClass

GetCacheViewStorageClass() returns the image storage class associated with the specified view.

The format of the GetCacheViewStorageClass method is:

    ClassType GetCacheViewStorageClass(const CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewAuthenticPixels

GetCacheViewAuthenticPixels() 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 GetCacheViewAuthenticPixels method is:

    PixelPacket *GetCacheViewAuthenticPixels(CacheView *cache_view,
      const ssize_t x,const ssize_t y,const size_t columns,
      const size_t rows,ExceptionInfo *exception)

A description of each parameter follows:

cache_view
  the cache view.
x,y,columns,rows
  These values define the perimeter of a region of pixels.

## GetOneCacheViewAuthenticPixel

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

The format of the GetOneCacheViewAuthenticPixel method is:

    MagickBooleaNType GetOneCacheViewAuthenticPixel(
      const CacheView *cache_view,const ssize_t x,const ssize_t y,
      PixelPacket *pixel,ExceptionInfo *exception)

A description of each parameter follows:

cache_view
  the cache view.
x,y
  These values define the offset of the pixel.
pixel
  return a pixel at the specified (x,y) location.
exception
  return any errors or warnings in this structure.

## GetCacheViewAuthenticIndexQueue

GetCacheViewAuthenticIndexQueue() returns the indexes associated with the last call to SetCacheViewIndexes() or GetCacheViewAuthenticIndexQueue(). The indexes are authentic and can be updated.

The format of the GetCacheViewAuthenticIndexQueue() method is:

    IndexPacket *GetCacheViewAuthenticIndexQueue(CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewAuthenticPixelQueue

GetCacheViewAuthenticPixelQueue() returns the pixels associated with the last call to QueueCacheViewAuthenticPixels() or GetCacheViewAuthenticPixels(). The pixels are authentic and therefore can be updated.

The format of the GetCacheViewAuthenticPixelQueue() method is:

    PixelPacket *GetCacheViewAuthenticPixelQueue(CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewVirtualIndexQueue

GetCacheViewVirtualIndexQueue() returns the indexes associated with the last call to GetCacheViewVirtualIndexQueue(). The indexes are virtual and therefore cannot be updated.

The format of the GetCacheViewVirtualIndexQueue() method is:

    const IndexPacket *GetCacheViewVirtualIndexQueue(
      const CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewVirtualPixelQueue

GetCacheViewVirtualPixelQueue() returns the the pixels associated with the last call to GetCacheViewVirtualPixels(). The pixels are virtual and therefore cannot be updated.

The format of the GetCacheViewVirtualPixelQueue() method is:

    const PixelPacket *GetCacheViewVirtualPixelQueue(
      const CacheView *cache_view)

A description of each parameter follows:

cache_view
  the cache view.

## GetCacheViewVirtualPixels

GetCacheViewVirtualPixels() gets virtual 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 GetCacheViewVirtualPixels method is:

    const PixelPacket *GetCacheViewVirtualPixels(
      const CacheView *cache_view,const ssize_t x,const ssize_t y,
      const size_t columns,const size_t rows,ExceptionInfo *exception)

A description of each parameter follows:

cache_view
  the cache view.
x,y,columns,rows
  These values define the perimeter of a region of pixels.
exception
  return any errors or warnings in this structure.

## GetOneCacheViewVirtualPixel

GetOneCacheViewVirtualPixel() returns a single pixel at the specified (x,y) location. The image background color is returned if an error occurs. If you plan to modify the pixel, use GetOneCacheViewAuthenticPixel() instead.

The format of the GetOneCacheViewVirtualPixel method is:

    MagickBooleanType GetOneCacheViewVirtualPixel(
      const CacheView *cache_view,const ssize_t x,const ssize_t y,
      PixelPacket *pixel,ExceptionInfo *exception)

A description of each parameter follows:

cache_view
  the cache view.
x,y
  These values define the offset of the pixel.
pixel
  return a pixel at the specified (x,y) location.
exception
  return any errors or warnings in this structure.

## GetOneCacheViewVirtualMethodPixel

GetOneCacheViewVirtualMethodPixel() returns a single virtual pixel at the specified (x,y) location. The image background color is returned if an error occurs. If you plan to modify the pixel, use GetOneCacheViewAuthenticPixel() instead.

The format of the GetOneCacheViewVirtualPixel method is:

    MagickBooleanType GetOneCacheViewVirtualMethodPixel(
      const CacheView *cache_view,
      const VirtualPixelMethod virtual_pixel_method,const ssize_t x,
      const ssize_t y,PixelPacket *pixel,ExceptionInfo *exception)

A description of each parameter follows:

cache_view
  the cache view.
virtual_pixel_method
  the virtual pixel method.
x,y
  These values define the offset of the pixel.
pixel
  return a pixel at the specified (x,y) location.
exception
  return any errors or warnings in this structure.

## QueueCacheViewAuthenticPixels

QueueCacheViewAuthenticPixels() queues authentic 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 QueueCacheViewAuthenticPixels method is:

    PixelPacket *QueueCacheViewAuthenticPixels(CacheView *cache_view,
      const ssize_t x,const ssize_t y,const size_t columns,
      const size_t rows,ExceptionInfo *exception)

A description of each parameter follows:

cache_view
  the cache view.
x,y,columns,rows
  These values define the perimeter of a region of pixels.
exception
  return any errors or warnings in this structure.

## SetCacheViewStorageClass

SetCacheViewStorageClass() sets the image storage class associated with the specified view.

The format of the SetCacheViewStorageClass method is:

    MagickBooleanType SetCacheViewStorageClass(CacheView *cache_view,
      const ClassType storage_class)

A description of each parameter follows:

cache_view
  the cache view.
storage_class
  the image storage class: PseudoClass or DirectClass.

## SetCacheViewVirtualPixelMethod

SetCacheViewVirtualPixelMethod() sets the virtual pixel method associated with the specified cache view.

The format of the SetCacheViewVirtualPixelMethod method is:

    MagickBooleanType SetCacheViewVirtualPixelMethod(CacheView *cache_view,
      const VirtualPixelMethod virtual_pixel_method)

A description of each parameter follows:

cache_view
  the cache view.
virtual_pixel_method
  the virtual pixel method.

## SyncCacheViewAuthenticPixels

SyncCacheViewAuthenticPixels() saves the cache view pixels to the in-memory or disk cache. It returns MagickTrue if the pixel region is flushed, otherwise MagickFalse.

The format of the SyncCacheViewAuthenticPixels method is:

    MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *cache_view,
      ExceptionInfo *exception)

A description of each parameter follows:

cache_view
  the cache view.
exception
  return any errors or warnings in this structure.