- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS
  - AttachBlob
  - BlobToImage
  - CloneBlobInfo
  - DestroyBlobInfo
  - DetachBlob
  - FileToBlob
  - GetBlobInfo
  - ImageToBlob
  - PingBlob

# NAME

blob - Methods to Read or Write Binary Large OBjects

# SYNOPSIS

void AttachBlob( BlobInfo *blob_info, const void *blob, const size_t length );

Image * BlobToImage( const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception );

BlobInfo * CloneBlobInfo( const BlobInfo *blob_info );

void DestroyBlobInfo( BlobInfo *blob );

void DetachBlob( BlobInfo *blob_info );

void * FileToBlob( const char *filename, size_t *length, ExceptionInfo *exception );

void GetBlobInfo( BlobInfo *blob_info );

void * ImageToBlob( const ImageInfo *image_info, Image *image, size_t *length, ExceptionInfo *exception );

Image * PingBlob( const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception );

# FUNCTION DESCRIPTIONS

## AttachBlob

Method AttachBlob attaches a blob to the BlobInfo structure.

The format of the AttachBlob method is:

> void AttachBlob ( BlobInfo *blob_info, const void *blob, const size_t length );

A description of each parameter follows:

  blob_info:
    Specifies a pointer to a BlobInfo structure.

  blob:
    The address of a character stream in one of the image formats understood by ImageMagick.

  length:
    This size_t integer reflects the length in bytes of the blob.

## BlobToImage

> BlobToImage() implements direct to memory image formats. It returns the blob as an image.

The format of the BlobToImage method is:

> Image *BlobToImage ( const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception );

A description of each parameter follows:

  image_info:
    The image info.

  blob:
    The address of a character stream in one of the image formats understood by ImageMagick.

  length:
    This size_t integer reflects the length in bytes of the blob.

  exception:
    Return any errors or warnings in this structure.

## CloneBlobInfo

Method CloneBlobInfo makes a duplicate of the given blob info structure, or if blob info is NULL, a new one.

The format of the CloneBlobInfo method is:

> BlobInfo *CloneBlobInfo ( const BlobInfo *blob_info );

A description of each parameter follows:

  clone_info:
    Method CloneBlobInfo returns a duplicate of the given blob info, or if blob info is NULL a new one.

  quantize_info:
    a structure of type info.

## DestroyBlobInfo

> DestroyBlobInfo() deallocates memory associated with an BlobInfo structure.

The format of the DestroyBlobInfo method is:

> void DestroyBlobInfo ( BlobInfo *blob );

A description of each parameter follows:

  blob:
    Specifies a pointer to a BlobInfo structure.

## DetachBlob

Method DetachBlob detaches a blob from the BlobInfo structure.

The format of the DetachBlob method is:

> void DetachBlob ( BlobInfo *blob_info );

A description of each parameter follows:

  blob_info:
    Specifies a pointer to a BlobInfo structure.

## FileToBlob

Method FileToBlob returns the contents of a file as a blob. It returns the file as a blob and its length.

The format of the FileToBlob method is:

> void *FileToBlob ( const char *filename, size_t *length, ExceptionInfo *exception );

A description of each parameter follows:

  blob:
    Method FileToBlob returns the contents of a file as a blob. If an error occurs NULL is returned.

  filename:
    The filename.

  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.

## GetBlobInfo

> GetBlobInfo() initializes the BlobInfo structure.

The format of the GetBlobInfo method is:

> void GetBlobInfo ( BlobInfo *blob_info );

A description of each parameter follows:

  blob_info:
    Specifies a pointer to a BlobInfo structure.

## ImageToBlob

> ImageToBlob() implements direct to memory image formats. It returns the image as a blob and its length. The magick member of the Image structure determines the format of the returned blob ( GIG, JPEG, PNG, etc. )

The format of the ImageToBlob method is:

> void *ImageToBlob ( const ImageInfo *image_info, Image *image, size_t *length, ExceptionInfo *exception );

A description of each parameter follows:

  image_info:
    The image info..

  image:
    The image.

  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.

## PingBlob

> PingBlob() returns all the attributes of an image or image sequence except for the pixels. It is much faster and consumes far less memory than BlobToImage ( ) . On failure, a NULL image is returned and exception describes the reason for the failure.

The format of the PingBlob method is:

> Image *PingBlob ( const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception );

A description of each parameter follows:

  image_info:
    The image info.

  blob:
    The address of a character stream in one of the image formats understood by ImageMagick.

  length:
    This size_t integer reflects the length in bytes of the blob.

  exception:
    Return any errors or warnings in this structure.