- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS

- AttachBlob
- BlobToFile
- BlobToImage
- CloneBlobInfo
- DestroyBlobInfo
- DetachBlob
- FileToBlob
- GetBlobInfo
- GetConfigureBlob
- GetModuleBlob
- GetTypeBlob
- ImageToBlob
- PingBlob
- ReferenceBlob

# NAME

blob - Methods to Read or Write Binary Large OBjects

# SYNOPSIS

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

unsigned int BlobToFile( const char *filename, const void *blob, const size_t length, ExceptionInfo *exception );

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 * GetConfigureBlob( const char *filename, ExceptionInfo *exception );

void * GetModuleBlob( const char *filename, ExceptionInfo *exception );

void * GetTypeBlob( const char *filename, ExceptionInfo *exception );

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 );

BlobInfo ReferenceBlob( BlobInfo *blob_info );

# 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:

o blob_info:
  Specifies a pointer to a BlobInfo structure.

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

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

## BlobToFile

> BlobToFile() writes a blob to a file. It returns False if an error occurs otherwise True.

The format of the BlobToFile method is:

> unsigned int BlobToFile ( const char *filename, const void *blob, const size_t length, ExceptionInfo *exception );

A description of each parameter follows:

o status:
  BlobToFile returns True on success; otherwise, it returns False if an error occurs.

o filename:
  Write the blob to this file.

o blob:
  The address of a blob.

o length:
  This 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:

o image_info:
  The image info.

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

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

o 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:

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

o 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:

o 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:

o blob_info:
  Specifies a pointer to a BlobInfo structure.

## FileToBlob

> FileToBlob() returns the contents of a file as a blob. It returns the file as a blob and its length. If an error occurs, NULL is returned.

The format of the FileToBlob method is:

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

A description of each parameter follows:

o blob:
  `FileToBlob()` returns the contents of a file as a blob. If an error occurs NULL is returned.

o filename:
  The filename.

o 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.

o 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:

o blob_info:
  Specifies a pointer to a BlobInfo structure.

## 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:

o filename:
  The configure file name.

o path:
  return the full path information of the configure file.

o 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.

o exception:
  Return any errors or warnings in this structure.

## GetModuleBlob

> GetModuleBlob() returns the specified module file as a blob.

The format of the GetModuleBlob method is:

> void *GetModuleBlob ( const char *filename, ExceptionInfo *exception );

A description of each parameter follows:

o filename:
  The module file name.

o path:
  return the full path information of the module file.

o 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.

o exception:
  Return any errors or warnings in this structure.

## GetTypeBlob

> GetTypeBlob() returns the specified font file as a blob.

The format of the GetTypeBlob method is:

> void *GetTypeBlob ( const char *filename, ExceptionInfo *exception );

A description of each parameter follows:

o filename:
  The font file name.

o path:
  return the full path information of the font file.

o 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.

o exception:
  Return any errors or warnings in this 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:

o image_info:
  The image info..

o image:
  The image.

o 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.

o 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:

o image_info:
  The image info.

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

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

o exception:
  Return any errors or warnings in this structure.

## ReferenceBlob

> ReferenceBlob() increments the reference count associated with the pixel blob returning a pointer to the blob.

The format of the ReferenceBlob method is:

> BlobInfo ReferenceBlob ( BlobInfo *blob_info );

A description of each parameter follows:

o blob_info:
  The blob_info.