## AcquireCacheViewIndexes

AcquireCacheViewIndexes() returns the indexes associated with the specified view.

The format of the AcquireCacheViewIndexes method is:

      const IndexPacket *AcquireCacheViewIndexes(const ViewInfo *cache_view)

A description of each parameter follows:

##### cache_view

the cache view.

## AcquireCacheViewPixels

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

      const PixelPacket *AcquireCacheViewPixels(const ViewInfo *cache_view,
        const long x,const long y,const unsigned long columns,
        const unsigned long 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.

## AcquireImagePixels

AcquireImagePixels() returns an immutable pixel region. If the region is successfully accessed, a pointer to it is returned, otherwise NULL is returned. The returned pointer may point to a temporary working copy of the pixels or it may point to the original pixels in memory. Performance is maximized if the selected region is part of one row, or one or more full rows, since there is opportunity to access the pixels in-place (without a copy) if the image is in RAM, or in a memory-mapped file. The returned pointer should *never* be deallocated by the user.

Pixels accessed via the returned pointer represent a simple array of type PixelPacket. If the image type is CMYK or the storage class is PseudoClass, call GetAuthenticIndexQueue() after invoking GetAuthenticPixels() to access the black color component or to obtain the colormap indexes (of type IndexPacket) corresponding to the region.

If you plan to modify the pixels, use GetAuthenticPixels() instead.

Note, the AcquireImagePixels() and GetAuthenticPixels() methods are not thread-safe. In a threaded environment, use GetCacheViewVirtualPixels() or GetCacheViewAuthenticPixels() instead.

The format of the AcquireImagePixels() method is:

      const PixelPacket *AcquireImagePixels(const Image *image,const long x,
        const long y,const unsigned long columns,const unsigned long rows,
        ExceptionInfo *exception)

A description of each parameter follows:

##### image

the image.

##### x,y,columns,rows

These values define the perimeter of a region of pixels.

##### exception

return any errors or warnings in this structure.

## AcquireIndexes

AcquireIndexes() returns the black channel or the colormap indexes associated with the last call to QueueAuthenticPixels() or GetVirtualPixels(). NULL is returned if the black channel or colormap indexes are not available.

The format of the AcquireIndexes() method is:

      const IndexPacket *AcquireIndexes(const Image *image)

A description of each parameter follows:

##### indexes

AcquireIndexes() returns the indexes associated with the last call to QueueAuthenticPixels() or GetVirtualPixels().

##### image

the image.

## AcquireMemory

AcquireMemory() returns a pointer to a block of memory at least size bytes suitably aligned for any use.

The format of the AcquireMemory method is:

      void *AcquireMemory(const size_t size)

A description of each parameter follows:

##### size

the size of the memory in bytes to allocate.

## AcquireOneCacheViewPixel

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

      MagickBooleanType AcquireOneCacheViewPixel(const ViewInfo *cache_view,
        const long x,const long 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.

## AcquireOneCacheViewVirtualPixel

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

      MagickBooleanType AcquireOneCacheViewVirtualPixel(
        const ViewInfo *cache_view,
        const VirtualPixelMethod virtual_pixel_method,const long x,
        const long 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.

## AcquireOneMagickPixel

AcquireOneMagickPixel() 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 GetOnePixel() instead.

The format of the AcquireOneMagickPixel() method is:

      MagickPixelPacket AcquireOneMagickPixel(const Image image,const long x,
        const long y,ExceptionInfo exception)

A description of each parameter follows:

##### image

the image.

##### x,y

These values define the location of the pixel to return.

##### exception

return any errors or warnings in this structure.

## AcquireOnePixel

AcquireOnePixel() 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 GetOnePixel() instead.

The format of the AcquireOnePixel() method is:

      PixelPacket AcquireOnePixel(const Image image,const long x,
        const long y,ExceptionInfo exception)

A description of each parameter follows:

##### image

the image.

##### x,y

These values define the location of the pixel to return.

##### exception

return any errors or warnings in this structure.

## AcquireOneVirtualPixel

AcquireOneVirtualPixel() returns a single pixel at the specified (x,y) location as defined by specified pixel method. The image background color is returned if an error occurs. If you plan to modify the pixel, use GetOnePixel() instead.

The format of the AcquireOneVirtualPixel() method is:

      PixelPacket AcquireOneVirtualPixel(const Image image,
        const VirtualPixelMethod virtual_pixel_method,const long x,
        const long y,ExceptionInfo exception)

A description of each parameter follows:

##### virtual_pixel_method

the virtual pixel method.

##### image

the image.

##### x,y

These values define the location of the pixel to return.

##### exception

return any errors or warnings in this structure.

## AcquirePixels

AcquirePixels() returns the pixels associated with the last call to QueueAuthenticPixels() or GetVirtualPixels().

The format of the AcquirePixels() method is:

      const PixelPacket *AcquirePixels(const Image image)

A description of each parameter follows:

##### image

the image.

## AffinityImage

AffinityImage() replaces the colors of an image with the closest color from a reference image.

The format of the AffinityImage method is:

      MagickBooleanType AffinityImage(const QuantizeInfo *quantize_info,
        Image *image,const Image *affinity_image)

A description of each parameter follows:

##### quantize_info

Specifies a pointer to an QuantizeInfo structure.

##### image

the image.

##### affinity_image

the reference image.

## AffinityImages

AffinityImages() replaces the colors of a sequence of images with the closest color from a reference image.

The format of the AffinityImage method is:

      MagickBooleanType AffinityImages(const QuantizeInfo *quantize_info,
        Image *images,Image *affinity_image)

A description of each parameter follows:

##### quantize_info

Specifies a pointer to an QuantizeInfo structure.

##### images

the image sequence.

##### affinity_image

the reference image.

## AllocateImage

AllocateImage() returns a pointer to an image structure initialized to default values.

The format of the AllocateImage method is:

      Image *AllocateImage(const ImageInfo *image_info)

A description of each parameter follows:

##### image_info

Many of the image default values are set from this structure. For example, filename, compression, depth, background color, and others.

## AllocateImageColormap

AllocateImageColormap() allocates an image colormap and initializes it to a linear gray colorspace. If the image already has a colormap, it is replaced. AllocateImageColormap() returns MagickTrue if successful, otherwise MagickFalse if there is not enough memory.

The format of the AllocateImageColormap method is:

      MagickBooleanType AllocateImageColormap(Image *image,
        const unsigned long colors)

A description of each parameter follows:

##### image

the image.

##### colors

the number of colors in the image colormap.

## AllocateNextImage

AllocateNextImage() initializes the next image in a sequence to default values. The next member of image points to the newly allocated image. If there is a memory shortage, next is assigned NULL.

The format of the AllocateNextImage method is:

      void AllocateNextImage(const ImageInfo *image_info,Image *image)

A description of each parameter follows:

##### image_info

Many of the image default values are set from this structure. For example, filename, compression, depth, background color, and others.

##### image

the image.

## AllocateString

AllocateString() allocates memory for a string and copies the source string to that memory location (and returns it).

The format of the AllocateString method is:

      char *AllocateString(const char *source)

A description of each parameter follows:

##### source

A character string.

## ChannelThresholdImage

ChannelThresholdImage() changes the value of individual pixels based on the intensity of each pixel channel. The result is a high-contrast image.

The format of the ChannelThresholdImage method is:

      unsigned int ChannelThresholdImage(Image *image,const char *level)

A description of each parameter follows:

##### image

the image.

##### level

define the threshold values.

## ClipPathImage

ClipPathImage() sets the image clip mask based any clipping path information if it exists.

The format of the ClipImage method is:

      MagickBooleanType ClipPathImage(Image *image,const char *pathname,
        const MagickBooleanType inside)

A description of each parameter follows:

##### image

the image.

##### pathname

name of clipping path resource. If name is preceded by #, use clipping path numbered by name.

##### inside

if non-zero, later operations take effect inside clipping path. Otherwise later operations take effect outside clipping path.

## CloneImageAttributes

CloneImageAttributes() clones one or more image attributes.

The format of the CloneImageAttributes method is:

      MagickBooleanType CloneImageAttributes(Image *image,
        const Image *clone_image)

A description of each parameter follows:

##### image

the image.

##### clone_image

the clone image.

## CloneMemory

CloneMemory() copies size bytes from memory area source to the destination. Copying between objects that overlap will take place correctly. It returns destination.

The format of the CloneMemory method is:

      void *CloneMemory(void *destination,const void *source,
        const size_t size)

A description of each parameter follows:

##### destination

the destination.

##### source

the source.

##### size

the size of the memory in bytes to allocate.

## CloseCacheView

CloseCacheView() closes the specified view returned by a previous call to OpenCacheView().

The format of the CloseCacheView method is:

      ViewInfo *CloseCacheView(ViewInfo *view_info)

A description of each parameter follows:

##### view_info

the address of a structure of type ViewInfo.

## ColorFloodfill

ColorFloodfill() changes the color value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the color value is changed for any neighbor pixel that does not match the bordercolor member of image.

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

The format of the ColorFloodfillImage method is:

      MagickBooleanType ColorFloodfillImage(Image *image,
        const DrawInfo *draw_info,const PixelPacket target,
        const long x_offset,const long y_offset,const PaintMethod method)

A description of each parameter follows:

##### image

the image.

##### draw_info

the draw info.

##### target

the RGB value of the target color.

##### x,y

the starting location of the operation.

##### method

Choose either FloodfillMethod or FillToBorderMethod.

## DeleteImageAttribute

DeleteImageAttribute() deletes an attribute from the image.

The format of the DeleteImageAttribute method is:

      MagickBooleanType DeleteImageAttribute(Image *image,const char *key)

A description of each parameter follows:

##### image

the image info.

##### key

the image key.

## DeleteImageList

DeleteImageList() deletes an image at the specified position in the list.

The format of the DeleteImageList method is:

      unsigned int DeleteImageList(Image *images,const long offset)

A description of each parameter follows:

##### images

the image list.

##### offset

the position within the list.

## DeleteMagickRegistry

DeleteMagickRegistry() deletes an entry in the registry as defined by the id. It returns MagickTrue if the entry is deleted otherwise MagickFalse if no entry is found in the registry that matches the id.

The format of the DeleteMagickRegistry method is:

      MagickBooleanType DeleteMagickRegistry(const long id)

A description of each parameter follows:

##### id

the registry id.

## DescribeImage

DescribeImage() describes an image by printing its attributes to the file. Attributes include the image width, height, size, and others.

The format of the DescribeImage method is:

      MagickBooleanType DescribeImage(Image *image,FILE *file,
        const MagickBooleanType verbose)

A description of each parameter follows:

##### image

the image.

##### file

the file, typically stdout.

##### verbose

A value other than zero prints more detailed information about the image.

## DestroyImageAttributes

DestroyImageAttributes() deallocates memory associated with the image attribute list.

The format of the DestroyImageAttributes method is:

      DestroyImageAttributes(Image *image)

A description of each parameter follows:

##### image

the image.

## DestroyImages

DestroyImages() destroys an image list.

The format of the DestroyImages method is:

      void DestroyImages(Image *image)

A description of each parameter follows:

##### image

the image sequence.

## DestroyMagick

DestroyMagick() destroys the ImageMagick environment.

The format of the DestroyMagick function is:

      DestroyMagick(void)

## DispatchImage

DispatchImage() extracts pixel data from an image and returns it to you. The method returns MagickFalse on success otherwise MagickTrue if an error is encountered. The data is returned as char, short int, int, long, float, or double in the order specified by map.

Suppose you want to extract the first scanline of a 640x480 image as character data in red-green-blue order:

      DispatchImage(image,0,0,640,1,"RGB",CharPixel,pixels,exception);

The format of the DispatchImage method is:

      unsigned int DispatchImage(const Image *image,const long x_offset,
        const long y_offset,const unsigned long columns,
        const unsigned long rows,const char *map,const StorageType type,
        void *pixels,ExceptionInfo *exception)

A description of each parameter follows:

##### image

the image.

##### x_offset, y_offset, columns, rows

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

##### map

This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha, C = cyan, Y = yellow, M = magenta, K = black, or I = intensity (for grayscale).

##### type

Define the data type of the pixels. Float and double types are normalized to [0..1] otherwise [0..QuantumRange]. Choose from these types: CharPixel, ShortPixel, IntegerPixel, LongPixel, FloatPixel, or DoublePixel.

##### pixels

This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.

##### exception

return any errors or warnings in this structure.

## FlattenImages

FlattenImages() Obsolete Function: Use MergeImageLayers() instead.

The format of the FlattenImage method is:

      Image *FlattenImage(Image *image,ExceptionInfo *exception)

A description of each parameter follows:

##### image

the image sequence.

##### exception

return any errors or warnings in this structure.

## FormatImageAttribute

FormatImageAttribute() permits formatted key/value pairs to be saved as an image attribute.

The format of the FormatImageAttribute method is:

      MagickBooleanType FormatImageAttribute(Image *image,const char *key,
        const char *format,...)

A description of each parameter follows.

##### image

The image.

##### key

The attribute key.

##### format

A string describing the format to use to write the remaining arguments.

## FormatString

FormatString() prints formatted output of a variable argument list.

The format of the FormatString method is:

      void FormatString(char *string,const char *format,...)

A description of each parameter follows.

##### string

Method FormatString returns the formatted string in this character buffer.

##### format

A string describing the format to use to write the remaining arguments.

## GetConfigureBlob

GetConfigureBlob() returns the specified configure file as a blob.

The format of the GetConfigureBlob method is:

      void *GetConfigureBlob(const char *filename,ExceptionInfo *exception)

A description of each parameter follows:

##### filename

the configure file name.

##### path

return the full path information of the configure file.

##### length

This pointer to a size_t integer sets the initial length of the blob. On return, it reflects the actual length of the blob.

##### exception

return any errors or warnings in this structure.

## GetCacheView

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

      PixelPacket *GetCacheView(ViewInfo *cache_view,const long x,
        const long y,const unsigned long columns,const unsigned long rows)

A description of each parameter follows:

##### cache_view

the address of a structure of type ViewInfo.

##### x,y,columns,rows

These values define the perimeter of a region of pixels.

## GetCacheViewIndexes

GetCacheViewIndexes() returns the indexes associated with the specified view.

The format of the GetCacheViewIndexes method is:

      IndexPacket *GetCacheViewIndexes(const ViewInfo *cache_view)

A description of each parameter follows:

##### cache_view

the cache view.

## GetCacheViewPixels

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

      PixelPacket *GetCacheViewPixels(ViewInfo *cache_view,const long x,
        const long y,const unsigned long columns,const unsigned long rows)

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.

## GetImageAttribute

GetImageAttribute() searches the list of image attributes and returns a pointer to the attribute if it exists otherwise NULL.

The format of the GetImageAttribute method is:

      const ImageAttribute *GetImageAttribute(const Image *image,
        const char *key)

A description of each parameter follows:

##### image

the image.

##### key

These character strings are the name of an image attribute to return.

## GetImageClippingPathAttribute

GetImageClippingPathAttribute() searches the list of image attributes and returns a pointer to a clipping path if it exists otherwise NULL.

The format of the GetImageClippingPathAttribute method is:

      const ImageAttribute *GetImageClippingPathAttribute(Image *image)

A description of each parameter follows:

##### attribute

Method GetImageClippingPathAttribute returns the clipping path if it exists otherwise NULL.

##### image

the image.

## GetImageFromMagickRegistry

GetImageFromMagickRegistry() gets an image from the registry as defined by its name. If the image is not found, a NULL image is returned.

The format of the GetImageFromMagickRegistry method is:

      Image *GetImageFromMagickRegistry(const char *name,long *id,
        ExceptionInfo *exception)

A description of each parameter follows:

##### name

the name of the image to retrieve from the registry.

##### id

the registry id.

##### exception

return any errors or warnings in this structure.

## GetMagickRegistry

GetMagickRegistry() gets a blob from the registry as defined by the id. If the blob that matches the id is not found, NULL is returned.

The format of the GetMagickRegistry method is:

      const void *GetMagickRegistry(const long id,RegistryType *type,
        size_t *length,ExceptionInfo *exception)

A description of each parameter follows:

##### id

the registry id.

##### type

the registry type.

##### length

the blob length in number of bytes.

##### exception

return any errors or warnings in this structure.

## GetImageGeometry

GetImageGeometry() returns a region as defined by the geometry string with respect to the image and its gravity.

The format of the GetImageGeometry method is:

      int GetImageGeometry(Image *image,const char *geometry,
        const unsigned int size_to_fit,RectangeInfo *region_info)

A description of each parameter follows:

##### flags

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

##### geometry

The geometry (e.g. 100x100+10+10).

##### size_to_fit

A value other than 0 means to scale the region so it fits within the specified width and height.

##### region_info

the region as defined by the geometry string with respect to the image and its gravity.

## GetImageList

GetImageList() returns an image at the specified position in the list.

The format of the GetImageList method is:

      Image *GetImageList(const Image *images,const long offset,
        ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image list.

##### offset

the position within the list.

##### exception

return any errors or warnings in this structure.

## GetImageListIndex

GetImageListIndex() returns the position in the list of the specified image.

The format of the GetImageListIndex method is:

      long GetImageListIndex(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetImageListSize

GetImageListSize() returns the number of images in the list.

The format of the GetImageListSize method is:

      unsigned long GetImageListSize(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetImagePixels

GetImagePixels() obtains a pixel region for read/write access. If the region is successfully accessed, a pointer to a PixelPacket array representing the region is returned, otherwise NULL is returned.

The returned pointer may point to a temporary working copy of the pixels or it may point to the original pixels in memory. Performance is maximized if the selected region is part of one row, or one or more full rows, since then there is opportunity to access the pixels in-place (without a copy) if the image is in RAM, or in a memory-mapped file. The returned pointer should *never* be deallocated by the user.

Pixels accessed via the returned pointer represent a simple array of type PixelPacket. If the image type is CMYK or if the storage class is PseduoClass, call GetAuthenticIndexQueue() after invoking GetImagePixels() to obtain the black color component or colormap indexes (of type IndexPacket) corresponding to the region. Once the PixelPacket (and/or IndexPacket) array has been updated, the changes must be saved back to the underlying image using SyncAuthenticPixels() or they may be lost.

The format of the GetImagePixels() method is:

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

A description of each parameter follows:

##### image

the image.

##### x,y,columns,rows

These values define the perimeter of a region of pixels.

## GetIndexes

GetIndexes() returns the black channel or the colormap indexes associated with the last call to QueueAuthenticPixels() or GetVirtualPixels(). NULL is returned if the black channel or colormap indexes are not available.

The format of the GetIndexes() method is:

      IndexPacket *GetIndexes(const Image *image)

A description of each parameter follows:

##### indexes

GetIndexes() returns the indexes associated with the last call to QueueAuthenticPixels() or GetAuthenticPixels().

##### image

the image.

## GetNextImage

GetNextImage() returns the next image in a list.

The format of the GetNextImage method is:

      Image *GetNextImage(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetNextImageAttribute

GetNextImageAttribute() gets the next image attribute.

The format of the GetNextImageAttribute method is:

      const ImageAttribute *GetNextImageAttribute(const Image *image)

A description of each parameter follows:

##### image

the image.

## GetNumberScenes

GetNumberScenes() returns the number of images in the list.

The format of the GetNumberScenes method is:

      unsigned int GetNumberScenes(const Image *images)

A description of each parameter follows:

##### images

the image list.

## GetOnePixel

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 long x,const long y)

A description of each parameter follows:

##### image

the image.

##### x,y

These values define the location of the pixel to return.

## GetPixels

GetPixels() returns the pixels associated with the last call to QueueAuthenticPixels() or GetAuthenticPixels().

The format of the GetPixels() method is:

      PixelPacket *GetPixels(const Image image)

A description of each parameter follows:

##### pixels

GetPixels() returns the pixels associated with the last call to QueueAuthenticPixels() or GetAuthenticPixels().

##### image

the image.

## GetPreviousImage

GetPreviousImage() returns the previous image in a list.

The format of the GetPreviousImage method is:

      Image *GetPreviousImage(const Image *images)

A description of each parameter follows:

##### images

the image list.

## HSLTransform

HSLTransform() converts a (hue, saturation, lightness) to a (red, green, blue) triple.

The format of the HSLTransformImage method is:

      void HSLTransform(const double hue,const double saturation,
        const double lightness,Quantum *red,Quantum *green,Quantum *blue)

A description of each parameter follows:

##### hue, saturation, lightness

A double value representing a component of the HSL color space.

##### red, green, blue

A pointer to a pixel component of type Quantum.

## IdentityAffine

IdentityAffine() initializes the affine transform to the identity matrix.

The format of the IdentityAffine method is:

      IdentityAffine(AffineMatrix *affine)

A description of each parameter follows:

##### affine

A pointer the affine transform of type AffineMatrix.

## InitializeMagick

InitializeMagick() initializes the ImageMagick environment.

The format of the InitializeMagick function is:

      InitializeMagick(const char *path)

A description of each parameter follows:

##### path

the execution path of the current ImageMagick client.

## InterpolatePixelColor

InterpolatePixelColor() applies bi-linear or tri-linear interpolation between a pixel and it's neighbors.

The format of the InterpolatePixelColor method is:

      MagickPixelPacket InterpolatePixelColor(const Image *image,
        ViewInfo *view_info,InterpolatePixelMethod method,const double x,
        const double y,ExceptionInfo *exception)

A description of each parameter follows:

##### image

the image.

##### image_view

the image cache view.

##### type

the type of pixel color interpolation.

##### x,y

A double representing the current (x,y) position of the pixel.

##### exception

return any errors or warnings in this structure.

## InterpretImageAttributes

InterpretImageAttributes() replaces any embedded formatting characters with the appropriate image attribute and returns the translated text.

The format of the InterpretImageAttributes method is:

      char *InterpretImageAttributes(const ImageInfo *image_info,Image *image,
        const char *embed_text)

A description of each parameter follows:

##### image_info

the image info.

##### image

the image.

##### embed_text

the address of a character string containing the embedded formatting characters.

## LiberateMemory

LiberateMemory() frees memory that has already been allocated, and NULL's the pointer to it.

The format of the LiberateMemory method is:

      void LiberateMemory(void **memory)

A description of each parameter follows:

##### memory

A pointer to a block of memory to free for reuse.

## LiberateSemaphoreInfo

LiberateSemaphoreInfo() relinquishes a semaphore.

The format of the LiberateSemaphoreInfo method is:

      LiberateSemaphoreInfo(void **semaphore_info)

A description of each parameter follows:

##### semaphore_info

Specifies a pointer to an SemaphoreInfo structure.

## MagickIncarnate

MagickIncarnate() initializes the ImageMagick environment.

The format of the MagickIncarnate function is:

      MagickIncarnate(const char *path)

A description of each parameter follows:

##### path

the execution path of the current ImageMagick client.

## MagickMonitor

MagickMonitor() calls the monitor handler method with a text string that describes the task and a measure of completion. The method returns MagickTrue on success otherwise MagickFalse if an error is encountered, e.g. if there was a user interrupt.

The format of the MagickMonitor method is:

      MagickBooleanType MagickMonitor(const char *text,
        const MagickOffsetType offset,const MagickSizeType span,
        void *client_data)

A description of each parameter follows:

##### offset

the position relative to the span parameter which represents how much progress has been made toward completing a task.

##### span

the span relative to completing a task.

##### client_data

the client data.

## MapImage

MapImage() replaces the colors of an image with the closest color from a reference image.

The format of the MapImage method is:

      MagickBooleanType MapImage(Image *image,const Image *map_image,
        const MagickBooleanType dither)

A description of each parameter follows:

##### image

Specifies a pointer to an Image structure.

##### map_image

the image. Reduce image to a set of colors represented by this image.

##### dither

Set this integer value to something other than zero to dither the mapped image.

## MapImages

MapImages() replaces the colors of a sequence of images with the closest color from a reference image.

The format of the MapImage method is:

      MagickBooleanType MapImages(Image *images,Image *map_image,
        const MagickBooleanType dither)

A description of each parameter follows:

##### image

Specifies a pointer to a set of Image structures.

##### map_image

the image. Reduce image to a set of colors represented by this image.

##### dither

Set this integer value to something other than zero to dither the quantized image.

## MatteFloodfill

MatteFloodfill() changes the transparency value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the transparency value is changed for any neighbor pixel that does not match the bordercolor member of image.

By default target must match a particular pixel transparency exactly. However, in many cases two transparency values may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two transparency values as the same. For example, set fuzz to 10 and the opacity values of 100 and 102 respectively are now interpreted as the same value for the purposes of the floodfill.

The format of the MatteFloodfillImage method is:

      MagickBooleanType MatteFloodfillImage(Image *image,
        const PixelPacket target,const Quantum opacity,const long x_offset,
        const long y_offset,const PaintMethod method)

A description of each parameter follows:

##### image

the image.

##### target

the RGB value of the target color.

##### opacity

the level of transparency: 0 is fully opaque and QuantumRange is fully transparent.

##### x,y

the starting location of the operation.

##### method

Choose either FloodfillMethod or FillToBorderMethod.

## MosaicImages

MosaicImages() Obsolete Function: Use MergeImageLayers() instead.

The format of the MosaicImage method is:

      Image *MosaicImages(const Image *image,ExceptionInfo *exception)

A description of each parameter follows:

##### image

the image list to be composited together

##### exception

return any errors or warnings in this structure.

## OpaqueImage

OpaqueImage() changes any pixel that matches color with the color defined by fill.

By default color must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. Fuzz defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.

The format of the OpaqueImage method is:

      MagickBooleanType OpaqueImage(Image *image,
        const PixelPacket *target,const PixelPacket fill)

A description of each parameter follows:

##### image

the image.

##### target

the RGB value of the target color.

##### fill

the replacement color.

## OpenCacheView

OpenCacheView() opens a view into the pixel cache, using the VirtualPixelMethod that is defined within the given image itself.

The format of the OpenCacheView method is:

      ViewInfo *OpenCacheView(const Image *image)

A description of each parameter follows:

##### image

the image.

## PaintFloodfill

PaintFloodfill() changes the color value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the color value is changed for any neighbor pixel that does not match the bordercolor member of image.

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

The format of the PaintFloodfillImage method is:

      MagickBooleanType PaintFloodfillImage(Image *image,
        const ChannelType channel,const MagickPixelPacket target,const long x,
        const long y,const DrawInfo *draw_info,const PaintMethod method)

A description of each parameter follows:

##### image

the image.

##### channel

the channel(s).

##### target

the RGB value of the target color.

##### x,y

the starting location of the operation.

##### draw_info

the draw info.

##### method

Choose either FloodfillMethod or FillToBorderMethod.

## PaintOpaqueImage

PaintOpaqueImage() changes any pixel that matches color with the color defined by fill.

By default color must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. Fuzz defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.

The format of the PaintOpaqueImage method is:

      MagickBooleanType PaintOpaqueImage(Image *image,
        const PixelPacket *target,const PixelPacket *fill)
      MagickBooleanType PaintOpaqueImageChannel(Image *image,
        const ChannelType channel,const PixelPacket *target,
        const PixelPacket *fill)

A description of each parameter follows:

##### image

the image.

##### channel

the channel(s).

##### target

the RGB value of the target color.

##### fill

the replacement color.

## PaintTransparentImage

PaintTransparentImage() changes the opacity value associated with any pixel that matches color to the value defined by opacity.

By default color must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. Fuzz defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.

The format of the PaintTransparentImage method is:

      MagickBooleanType PaintTransparentImage(Image *image,
        const MagickPixelPacket *target,const Quantum opacity)

A description of each parameter follows:

##### image

the image.

##### target

the RGB value of the target color.

##### opacity

the replacement opacity value.

## PopImageList

PopImageList() removes the last image in the list.

The format of the PopImageList method is:

      Image *PopImageList(Image **images)

A description of each parameter follows:

##### images

the image list.

## PopImagePixels

PopImagePixels() transfers one or more pixel components from the image pixel cache to a user supplied buffer. The pixels are returned in network byte order. MagickTrue is returned if the pixels are successfully transferred, otherwise MagickFalse.

The format of the PopImagePixels method is:

      size_t PopImagePixels(Image *,const QuantumType quantum,
        unsigned char *destination)

A description of each parameter follows:

##### image

the image.

##### quantum

Declare which pixel components to transfer (RGB, RGBA, etc).

##### destination

The components are transferred to this buffer.

## PostscriptGeometry

PostscriptGeometry() replaces any page mneumonic with the equivalent size in picas.

The format of the PostscriptGeometry method is:

      char *PostscriptGeometry(const char *page)

A description of each parameter follows.

##### page

Specifies a pointer to an array of characters. The string is either a Postscript page name (e.g. A4) or a postscript page geometry (e.g. 612x792+36+36).

## PushImageList

PushImageList() adds an image to the end of the list.

The format of the PushImageList method is:

      unsigned int PushImageList(Image *images,const Image *image,
        ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image list.

##### image

the image.

##### exception

return any errors or warnings in this structure.

## PushImagePixels

PushImagePixels() transfers one or more pixel components from a user supplied buffer into the image pixel cache of an image. The pixels are expected in network byte order. It returns MagickTrue if the pixels are successfully transferred, otherwise MagickFalse.

The format of the PushImagePixels method is:

      size_t PushImagePixels(Image *image,const QuantumType quantum,
        const unsigned char *source)

A description of each parameter follows:

##### image

the image.

##### quantum

Declare which pixel components to transfer (red, green, blue, opacity, RGB, or RGBA).

##### source

The pixel components are transferred from this buffer.

## QuantizationError

QuantizationError() measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value. These values are computed:

          o mean_error_per_pixel:  This value is the mean error for any single
      pixel in the image.

##### normalized_mean_square_error

This value is the normalized mean quantization error for any single pixel in the image. This distance measure is normalized to a range between 0 and 1. It is independent of the range of red, green, and blue values in the image.

##### normalized_maximum_square_error

Thsi value is the normalized maximum quantization error for any single pixel in the image. This distance measure is normalized to a range between 0 and 1. It is independent of the range of red, green, and blue values in your image.

The format of the QuantizationError method is:

      unsigned int QuantizationError(Image *image)

A description of each parameter follows.

##### image

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

## RandomChannelThresholdImage

RandomChannelThresholdImage() changes the value of individual pixels based on the intensity of each pixel compared to a random threshold. The result is a low-contrast, two color image.

The format of the RandomChannelThresholdImage method is:

      unsigned int RandomChannelThresholdImage(Image *image,
         const char *channel, const char *thresholds,
         ExceptionInfo *exception)

A description of each parameter follows:

##### image

the image.

##### channel

the channel or channels to be thresholded.

##### thresholds

a geometry string containing LOWxHIGH thresholds. If the string contains 2x2, 3x3, or 4x4, then an ordered dither of order 2, 3, or 4 will be performed instead.

##### exception

return any errors or warnings in this structure.

## ReacquireMemory

ReacquireMemory() changes the size of the memory and returns a pointer to the (possibly moved) block. The contents will be unchanged up to the lesser of the new and old sizes.

The format of the ReacquireMemory method is:

      void ReacquireMemory(void **memory,const size_t size)

A description of each parameter follows:

##### memory

A pointer to a memory allocation. On return the pointer may change but the contents of the original allocation will not.

##### size

the new size of the allocated memory.

## ResetImageAttributeIterator

ResetImageAttributeIterator() resets the image attributes iterator. Use it in conjunction with GetNextImageAttribute() to iterate over all the values associated with an image.

The format of the ResetImageAttributeIterator method is:

      ResetImageAttributeIterator(const ImageInfo *image)

A description of each parameter follows:

##### image

the image.

## SetCacheViewPixels

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

      PixelPacket *SetCacheViewPixels(ViewInfo *cache_view,const long x,
        const long y,const unsigned long columns,const unsigned long rows)

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.

## SetExceptionInfo

SetExceptionInfo() sets the exception severity.

The format of the SetExceptionInfo method is:

      MagickBooleanType SetExceptionInfo(ExceptionInfo *exception,
        ExceptionType severity)

A description of each parameter follows:

##### exception

the exception info.

##### severity

the exception severity.

## SetImage

SetImage() sets the red, green, and blue components of each pixel to the image background color and the opacity component to the specified level of transparency. The background color is defined by the background_color member of the image.

The format of the SetImage method is:

      void SetImage(Image *image,const Quantum opacity)

A description of each parameter follows:

##### image

the image.

##### opacity

Set each pixel to this level of transparency.

## SetImageAttribute

SetImageAttribute() searches the list of image attributes and replaces the attribute value. If it is not found in the list, the attribute name and value is added to the list.

The format of the SetImageAttribute method is:

       MagickBooleanType SetImageAttribute(Image *image,const char *key,
         const char *value)

A description of each parameter follows:

##### image

the image.

##### key

the key.

##### value

the value.

## SetImageList

SetImageList() inserts an image into the list at the specified position.

The format of the SetImageList method is:

      unsigned int SetImageList(Image *images,const Image *image,
        const long offset,ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image list.

##### image

the image.

##### offset

the position within the list.

##### exception

return any errors or warnings in this structure.

## SetImagePixels

SetImagePixels() queues a mutable pixel region. If the region is successfully intialized a pointer to a PixelPacket array representing the region is returned, otherwise NULL is returned. The returned pointer may point to a temporary working buffer for the pixels or it may point to the final location of the pixels in memory.

Write-only access means that any existing pixel values corresponding to the region are ignored. This useful while the initial image is being created from scratch, or if the existing pixel values are to be completely replaced without need to refer to their pre-existing values. The application is free to read and write the pixel buffer returned by SetImagePixels() any way it pleases. SetImagePixels() does not initialize the pixel array values. Initializing pixel array values is the application's responsibility.

Performance is maximized if the selected region is part of one row, or one or more full rows, since then there is opportunity to access the pixels in-place (without a copy) if the image is in RAM, or in a memory-mapped file. The returned pointer should *never* be deallocated by the user.

Pixels accessed via the returned pointer represent a simple array of type PixelPacket. If the image type is CMYK or the storage class is PseudoClass, call GetAuthenticIndexQueue() after invoking GetAuthenticPixels() to obtain the black color component or the colormap indexes (of type IndexPacket) corresponding to the region. Once the PixelPacket (and/or IndexPacket) array has been updated, the changes must be saved back to the underlying image using SyncAuthenticPixels() or they may be lost.

The format of the SetImagePixels() method is:

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

A description of each parameter follows:

##### pixels

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

##### image

the image.

##### x,y,columns,rows

These values define the perimeter of a region of pixels.

## SetMagickRegistry

SetMagickRegistry() sets a blob into the registry and returns a unique ID. If an error occurs, -1 is returned.

The format of the SetMagickRegistry method is:

      long SetMagickRegistry(const RegistryType type,const void *blob,
        const size_t length,ExceptionInfo *exception)

A description of each parameter follows:

##### type

the registry type.

##### blob

the address of a Binary Large OBject.

##### length

For a registry type of ImageRegistryType use sizeof(Image) otherise the blob length in number of bytes.

##### exception

return any errors or warnings in this structure.

## SetMonitorHandler

SetMonitorHandler() sets the monitor handler to the specified method and returns the previous monitor handler.

The format of the SetMonitorHandler method is:

      MonitorHandler SetMonitorHandler(MonitorHandler handler)

A description of each parameter follows:

##### handler

Specifies a pointer to a method to handle monitors.

## ShiftImageList

ShiftImageList() removes an image from the beginning of the list.

The format of the ShiftImageList method is:

      Image *ShiftImageList(Image **images)

A description of each parameter follows:

##### images

the image list.

## SpliceImageList

SpliceImageList() removes the images designated by offset and length from the list and replaces them with the specified list.

The format of the SpliceImageList method is:

      Image *SpliceImageList(Image *images,const long offset,
        const unsigned long length,const Image *splices,
        ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image list.

##### offset

the position within the list.

##### length

the length of the image list to remove.

##### splice

Replace the removed image list with this list.

##### exception

return any errors or warnings in this structure.

## Strip

Strip() strips any whitespace or quotes from the beginning and end of a string of characters.

The format of the Strip method is:

      void Strip(char *message)

A description of each parameter follows:

##### message

Specifies an array of characters.

## SyncCacheView

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

The format of the SyncCacheView method is:

      MagickBooleanType SyncCacheView(ViewInfo *cache_view)

A description of each parameter follows:

##### cache_view

the cache view.

## SyncCacheViewPixels

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

      MagickBooleanType SyncCacheViewPixels(ViewInfo *cache_view)

A description of each parameter follows:

##### cache_view

the cache view.

##### exception

return any errors or warnings in this structure.

## SyncImagePixels

SyncImagePixels() saves the image pixels to the in-memory or disk cache. The method returns MagickTrue if the pixel region is synced, otherwise MagickFalse.

The format of the SyncImagePixels() method is:

      MagickBooleanType SyncImagePixels(Image *image)

A description of each parameter follows:

##### image

the image.

## TemporaryFilename

TemporaryFilename() replaces the contents of path by a unique path name.

The format of the TemporaryFilename method is:

      void TemporaryFilename(char *path)

A description of each parameter follows.

##### path

Specifies a pointer to an array of characters. The unique path name is returned in this array.

## ThresholdImage

ThresholdImage() changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

The format of the ThresholdImage method is:

      unsigned int ThresholdImage(Image *image,const double threshold)

A description of each parameter follows:

##### image

the image.

##### threshold

Define the threshold value

## ThresholdImageChannel

ThresholdImageChannel() changes the value of individual pixels based on the intensity of each pixel channel. The result is a high-contrast image.

The format of the ThresholdImageChannel method is:

      unsigned int ThresholdImageChannel(Image *image,const char *threshold)

A description of each parameter follows:

##### image

the image.

##### threshold

define the threshold values.

## TransformHSL

TransformHSL() converts a (red, green, blue) to a (hue, saturation, lightness) triple.

The format of the TransformHSL method is:

      void TransformHSL(const Quantum red,const Quantum green,
        const Quantum blue,double *hue,double *saturation,double *lightness)

A description of each parameter follows:

##### red, green, blue

A Quantum value representing the red, green, and blue component of a pixel..

##### hue, saturation, lightness

A pointer to a double value representing a component of the HSL color space.

## TranslateText

TranslateText() replaces any embedded formatting characters with the appropriate image attribute and returns the translated text.

The format of the TranslateText method is:

      char *TranslateText(const ImageInfo *image_info,Image *image,
        const char *embed_text)

A description of each parameter follows:

##### image_info

the image info.

##### image

the image.

##### embed_text

the address of a character string containing the embedded formatting characters.

## TransparentImage

TransparentImage() changes the opacity value associated with any pixel that matches color to the value defined by opacity.

By default color must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. Fuzz defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.

The format of the TransparentImage method is:

      MagickBooleanType TransparentImage(Image *image,
        const PixelPacket target,const Quantum opacity)

A description of each parameter follows:

##### image

the image.

##### target

the RGB value of the target color.

##### opacity

the replacement opacity value.

## UnshiftImageList

UnshiftImageList() adds the image to the beginning of the list.

The format of the UnshiftImageList method is:

      unsigned int UnshiftImageList(Image *images,const Image *image,
        ExceptionInfo *exception)

A description of each parameter follows:

##### images

the image list.

##### image

the image.

##### exception

return any errors or warnings in this structure.

Discourse Server • Mailing Lists • Cafe • Studio