| Version: 3.3.1

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
wxImageHandler Class Referenceabstract
Class List by Category » Graphics Device Interface (GDI)

`#include <wx/image.h>`

Inheritance diagram for wxImageHandler:
[legend]

## Detailed Description

This is the base class for implementing image file loading/saving, and image creation from data.

It is used within wxImage and is not normally seen by the application.

If you wish to extend the capabilities of wxImage, derive a class from wxImageHandler and add the handler using wxImage::AddHandler in your application initialization.

Note that all wxImageHandlers provided by wxWidgets are part of the wxCore library. For details about the default handlers, please see the section Available image handlers in the wxImage class documentation.

# Note (Legal Issue)

This software is based in part on the work of the Independent JPEG Group. (Applies when wxWidgets is linked with JPEG support. wxJPEGHandler uses libjpeg created by IJG.)

Predefined objects/pointers: wxNullImage

##

Library: wxCore
Category: Graphics Device Interface (GDI)

See also
  wxImage, wxInitAllImageHandlers()

## Public Member Functions
| wxImageHandler ()
| Default constructor. More...
virtual | ~wxImageHandler ()
| Destroys the wxImageHandler object. More...
bool | CanRead (wxInputStream &stream)
| Returns true if this handler supports the image format contained in the given stream. More...
bool | CanRead (const wxString &filename)
| Returns true if this handler supports the image format contained in the file with the given name. More...
const wxString & | GetExtension () const
| Gets the preferred file extension associated with this handler. More...
const wxArrayString & | GetAltExtensions () const
| Returns the other file extensions associated with this handler. More...
int | GetImageCount (wxInputStream &stream)
| If the image file contains more than one image and the image handler is capable of retrieving these individually, this function will return the number of available images. More...
const wxString & | GetMimeType () const
| Gets the MIME type associated with this handler. More...
const wxString & | GetName () const
| Gets the name of this handler. More...
wxBitmapType | GetType () const
| Gets the image type associated with this handler. More...
virtual bool | LoadFile (wxImage *image, wxInputStream &stream, bool verbose=true, int index=-1)
| Loads an image from a stream, putting the resulting data into image. More...
virtual bool | SaveFile (wxImage *image, wxOutputStream &stream, bool verbose=true)
| Saves an image in the output stream. More...
void | SetExtension (const wxString &extension)
| Sets the preferred file extension associated with this handler. More...
void | SetAltExtensions (const wxArrayString &extensions)
| Sets the alternative file extensions associated with this handler. More...
void | SetMimeType (const wxString &mimetype)
| Sets the handler MIME type. More...
void | SetName (const wxString &name)
| Sets the handler name. More...
void | SetType (wxBitmapType type)
| Sets the bitmap type for the handler. More...
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to nullptr the internal reference data. More...
| wxObject (const wxObject &other)
| Copy ctor. More...
virtual | ~wxObject ()
| Destructor. More...
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class. More...
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj. More...
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone. More...
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer. More...
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
void | UnShare ()
| This is the same of AllocExclusive() but this method is public. More...
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...
void * | operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...

## Static Public Member Functions
static wxVersionInfo | GetLibraryVersionInfo ()
| Retrieve the version information about the image library used by this handler. More...

## Protected Member Functions
virtual int | DoGetImageCount (wxInputStream &stream)
| Called to get the number of images available in a multi-image file type, if supported. More...
virtual bool | DoCanRead (wxInputStream &stream)=0
| Called to test if this handler can read an image from the given stream. More...
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...

## Additional Inherited Members
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Constructor & Destructor Documentation

## ◆ wxImageHandler()

wxImageHandler::wxImageHandler | ( |  | ) |

Default constructor.

In your own default constructor, initialise the members m_name, m_extension and m_type.

## ◆ ~wxImageHandler()

virtual wxImageHandler::~wxImageHandler | ( |  | ) |
| virtual

Destroys the wxImageHandler object.

## Member Function Documentation

## ◆ CanRead() [1/2]

bool wxImageHandler::CanRead | ( | const wxString & | filename | ) |

Returns true if this handler supports the image format contained in the file with the given name.

This function doesn't modify the current stream position (because it restores the original position before returning; this however requires the stream to be seekable; see wxStreamBase::IsSeekable).

## ◆ CanRead() [2/2]

bool wxImageHandler::CanRead | ( | wxInputStream & | stream | ) |

Returns true if this handler supports the image format contained in the given stream.

This function doesn't modify the current stream position (because it restores the original position before returning; this however requires the stream to be seekable; see wxStreamBase::IsSeekable).

## ◆ DoCanRead()

virtual bool wxImageHandler::DoCanRead | ( | wxInputStream & | stream | ) |
| protected pure virtual

Called to test if this handler can read an image from the given stream.

NOTE: this function is allowed to change the current stream position since CallDoCanRead() will take care of restoring it later

Implemented in wxXPMHandler, wxWEBPHandler, wxTIFFHandler, wxTGAHandler, wxPNMHandler, wxPNGHandler, wxPCXHandler, wxJPEGHandler, wxIFFHandler, and wxGIFHandler.

## ◆ DoGetImageCount()

virtual int wxImageHandler::DoGetImageCount | ( | wxInputStream & | stream | ) |
| protected virtual

Called to get the number of images available in a multi-image file type, if supported.

NOTE: this function is allowed to change the current stream position since GetImageCount() will take care of restoring it later

Reimplemented in wxWEBPHandler, wxTIFFHandler, and wxGIFHandler.

## ◆ GetAltExtensions()

const wxArrayString& wxImageHandler::GetAltExtensions | ( |  | ) | const

Returns the other file extensions associated with this handler.

The preferred extension for this handler is returned by GetExtension().

Since
  2.9.0

## ◆ GetExtension()

const wxString& wxImageHandler::GetExtension | ( |  | ) | const

Gets the preferred file extension associated with this handler.

See also
  GetAltExtensions()

## ◆ GetImageCount()

int wxImageHandler::GetImageCount | ( | wxInputStream & | stream | ) |

If the image file contains more than one image and the image handler is capable of retrieving these individually, this function will return the number of available images.

Parameters

  stream | Opened input stream for reading image data. This function doesn't modify the current stream position (because it restores the original position before returning; this however requires the stream to be seekable; see wxStreamBase::IsSeekable).

Returns
  Number of available images. For most image handlers, this is 1 (exceptions are TIFF and ICO formats as well as animated GIF and WebP for which this function returns the number of frames in the animation).

## ◆ GetLibraryVersionInfo()

static wxVersionInfo wxImageHandler::GetLibraryVersionInfo | ( |  | ) |
| static

Retrieve the version information about the image library used by this handler.

This method is not present in wxImageHandler class itself but is present in a few of the classes deriving from it, currently wxJPEGHandler, wxPNGHandler and wxTIFFHandler. It returns the information about the version of the image library being used for the corresponding handler implementation.

Since
  2.9.2

## ◆ GetMimeType()

const wxString& wxImageHandler::GetMimeType | ( |  | ) | const

Gets the MIME type associated with this handler.

## ◆ GetName()

const wxString& wxImageHandler::GetName | ( |  | ) | const

Gets the name of this handler.

## ◆ GetType()

wxBitmapType wxImageHandler::GetType | ( |  | ) | const

Gets the image type associated with this handler.

## ◆ LoadFile()

virtual bool wxImageHandler::LoadFile | ( | wxImage * | image,
|  | wxInputStream & | stream,
|  | bool | verbose = `true`,
|  | int | index = `-1`
| ) |  |
| virtual

Loads an image from a stream, putting the resulting data into image.

If the image file contains more than one image and the image handler is capable of retrieving these individually, index indicates which image to read from the stream.

Parameters

  image | The image object which is to be affected by this operation.
  stream | Opened input stream for reading image data.
  verbose | If set to true, errors reported by the image handler will produce wxLogMessages.
  index | The index of the image in the file (starting from zero).

Returns
  true if the operation succeeded, false otherwise.

See also
  wxImage::LoadFile, wxImage::SaveFile, SaveFile()

Reimplemented in wxXPMHandler, wxWEBPHandler, wxTIFFHandler, wxTGAHandler, wxPNMHandler, wxPNGHandler, wxPCXHandler, wxJPEGHandler, wxIFFHandler, and wxGIFHandler.

## ◆ SaveFile()

virtual bool wxImageHandler::SaveFile | ( | wxImage * | image,
|  | wxOutputStream & | stream,
|  | bool | verbose = `true`
| ) |  |
| virtual

Saves an image in the output stream.

Parameters

  image | The image object which is to be affected by this operation.
  stream | Opened output stream for writing the data.
  verbose | If set to true, errors reported by the image handler will produce wxLogMessages.

Returns
  true if the operation succeeded, false otherwise.

See also
  wxImage::LoadFile, wxImage::SaveFile, LoadFile()

Reimplemented in wxXPMHandler, wxWEBPHandler, wxTIFFHandler, wxTGAHandler, wxPNMHandler, wxPNGHandler, wxPCXHandler, wxJPEGHandler, wxIFFHandler, and wxGIFHandler.

## ◆ SetAltExtensions()

void wxImageHandler::SetAltExtensions | ( | const wxArrayString & | extensions | ) |

Sets the alternative file extensions associated with this handler.

Parameters

  extensions | Array of file extensions.

See also
  SetExtension()

Since
  2.9.0

## ◆ SetExtension()

void wxImageHandler::SetExtension | ( | const wxString & | extension | ) |

Sets the preferred file extension associated with this handler.

Parameters

  extension | File extension without leading dot.

See also
  SetAltExtensions()

## ◆ SetMimeType()

void wxImageHandler::SetMimeType | ( | const wxString & | mimetype | ) |

Sets the handler MIME type.

Parameters

  mimetype | Handler MIME type.

## ◆ SetName()

void wxImageHandler::SetName | ( | const wxString & | name | ) |

Sets the handler name.

Parameters

  name | Handler name.

## ◆ SetType()

void wxImageHandler::SetType | ( | wxBitmapType | type | ) |

Sets the bitmap type for the handler.

Parameters

  type | The bitmap type.