fipMemoryIO Class Reference

Memory handle. More...

`#include <FreeImagePlus.h>`

Inheritance diagram for fipMemoryIO:

## Public Member Functions

| fipMemoryIO (BYTE *data=NULL, DWORD size_in_bytes=0)
| Constructor.
virtual | ~fipMemoryIO ()
| Destructor.
void | close ()
| Destructor.
BOOL | isValid () const
| Returns TRUE if the internal memory buffer is a valid buffer, returns FALSE otherwise.
FREE_IMAGE_FORMAT | getFileType () const
| Returns the buffer image format.
| operator FIMEMORY * ()
| Returns a pointer to the FIMEMORY data.
Public Member Functions inherited from fipObject
virtual | ~fipObject ()
| Destructor.

## Protected Attributes

FIMEMORY * | _hmem
| Pointer to a memory stream.

## Memory IO routines

FIBITMAP * | load (FREE_IMAGE_FORMAT fif, int flags=0) const
| Loads a dib from a memory stream.
FIMULTIBITMAP * | loadMultiPage (FREE_IMAGE_FORMAT fif, int flags=0) const
| Loads a multi-page bitmap from a memory stream.
BOOL | save (FREE_IMAGE_FORMAT fif, FIBITMAP *dib, int flags=0)
| Saves a dib to a memory stream.
BOOL | saveMultiPage (FREE_IMAGE_FORMAT fif, FIMULTIBITMAP *bitmap, int flags=0)
| Saves a multi-page bitmap to a memory stream.
unsigned | read (void *buffer, unsigned size, unsigned count) const
| Reads data from a memory stream.
unsigned | write (const void *buffer, unsigned size, unsigned count)
| Writes data to a memory stream.
long | tell () const
| Gets the current position of a memory pointer.
BOOL | seek (long offset, int origin)
| Moves the memory pointer to a specified location.
BOOL | acquire (BYTE **data, DWORD *size_in_bytes)
| Provides a direct buffer access to a memory stream.

## Detailed Description

Memory handle.

    fipMemoryIO is a class that allows you to load / save images from / to a memory stream.
    @version FreeImage 3
    @author Hervé Drolon

## Constructor & Destructor Documentation

## fipMemoryIO()

fipMemoryIO::fipMemoryIO | ( | BYTE * | data = NULL,
|  | DWORD | size_in_bytes = 0 )

Constructor.

Wrap a memory buffer containing image data.
The memory buffer is read only and has to be freed by the user when no longer in use.
When default arguments are used, open a memory file as read/write.

Parameters

  data | Pointer to the memory buffer
  size_in_bytes | Buffer size in bytes

See also
  FreeImage_OpenMemory

Referenced by acquire().

## ~fipMemoryIO()

virtual fipMemoryIO::~fipMemoryIO | ( |  | ) |

virtual

Destructor.

Free any allocated memory

See also
  FreeImage_CloseMemory

## Member Function Documentation

## acquire()

BOOL fipMemoryIO::acquire | ( | BYTE ** | data,
|  | DWORD * | size_in_bytes )

Provides a direct buffer access to a memory stream.

Parameters

  data | Pointer to the memory buffer (returned value)
  size_in_bytes | Buffer size in bytes (returned value)

See also
  FreeImage_AcquireMemory

References fipMemoryIO().

## close()

void fipMemoryIO::close | ( |  | ) |

Destructor.

Free any allocated memory and invalidate the stream

See also
  FreeImage_CloseMemory

## getFileType()

FREE_IMAGE_FORMAT fipMemoryIO::getFileType | ( |  | ) | const

Returns the buffer image format.

See also
  FreeImage_GetFileTypeFromMemory

## isValid()

BOOL fipMemoryIO::isValid | ( |  | ) | const

virtual

Returns TRUE if the internal memory buffer is a valid buffer, returns FALSE otherwise.

Implements fipObject.

## load()

FIBITMAP * fipMemoryIO::load | ( | FREE_IMAGE_FORMAT | fif,
|  | int | flags = 0 ) const

Loads a dib from a memory stream.

Parameters

  fif | Format identifier (FreeImage format)
  flags | The signification of this flag depends on the image to be loaded.

Returns
  Returns the loaded dib if successful, returns NULL otherwise

See also
  FreeImage_LoadFromMemory

## loadMultiPage()

FIMULTIBITMAP * fipMemoryIO::loadMultiPage | ( | FREE_IMAGE_FORMAT | fif,
|  | int | flags = 0 ) const

Loads a multi-page bitmap from a memory stream.

Parameters

  fif | Format identifier (FreeImage format)
  flags | The signification of this flag depends on the multi-page to be loaded.

Returns
  Returns the loaded multi-page if successful, returns NULL otherwise

See also
  FreeImage_LoadMultiBitmapFromMemory

## operator FIMEMORY *()

fipMemoryIO::operator FIMEMORY * | ( |  | ) |

inline

Returns a pointer to the FIMEMORY data.

Used for direct access from FREEIMAGE functions or from your own low level C functions.

References _hmem.

## read()

unsigned fipMemoryIO::read | ( | void * | buffer,
|  | unsigned | size,
|  | unsigned | count ) const

Reads data from a memory stream.

Parameters

  buffer | Storage location for data
  size | Item size in bytes
  count | Maximum number of items to be read

Returns
  Returns the number of full items actually read, which may be less than count if an error occurs

See also
  FreeImage_ReadMemory

## save()

BOOL fipMemoryIO::save | ( | FREE_IMAGE_FORMAT | fif,
|  | FIBITMAP * | dib,
|  | int | flags = 0 )

Saves a dib to a memory stream.

Parameters

  fif | Format identifier (FreeImage format)
  dib | Image to be saved
  flags | The signification of this flag depends on the image to be saved.

Returns
  Returns TRUE if successful, returns FALSE otherwise

See also
  FreeImage_SaveToMemory

## saveMultiPage()

BOOL fipMemoryIO::saveMultiPage | ( | FREE_IMAGE_FORMAT | fif,
|  | FIMULTIBITMAP * | bitmap,
|  | int | flags = 0 )

Saves a multi-page bitmap to a memory stream.

Parameters

  fif | Format identifier (FreeImage format)
  bitmap | Multi-page image to be saved
  flags | The signification of this flag depends on the image to be saved.

Returns
  Returns TRUE if successful, returns FALSE otherwise

See also
  FreeImage_SaveMultiBitmapToMemory

## seek()

BOOL fipMemoryIO::seek | ( | long | offset,
|  | int | origin )

Moves the memory pointer to a specified location.

See also
  FreeImage_SeekMemory

## tell()

long fipMemoryIO::tell | ( |  | ) | const

Gets the current position of a memory pointer.

See also
  FreeImage_TellMemory

## write()

unsigned fipMemoryIO::write | ( | const void * | buffer,
|  | unsigned | size,
|  | unsigned | count )

Writes data to a memory stream.

Parameters

  buffer | Pointer to data to be written
  size | Item size in bytes
  count | Maximum number of items to be written

Returns
  Returns the number of full items actually written, which may be less than count if an error occurs

See also
  FreeImage_WriteMemory

## Member Data Documentation

## _hmem

FIMEMORY* fipMemoryIO::_hmem

protected

Pointer to a memory stream.

Referenced by operator FIMEMORY *().

The documentation for this class was generated from the following file:

- FreeImagePlus.h