Version: 3.3.0
wxQuantize Class Reference

#include <wx/quantize.h>

+ Inheritance diagram for wxQuantize:

Detailed Description

Performs quantization, or colour reduction, on a wxImage.

Functions in this class are static and so a wxQuantize object need not be created.

Library:  wxCore
Category:  Miscellaneous

Public Member Functions

 wxQuantize ()
 Constructor. 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 wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () 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 void DoQuantize (unsigned int w, unsigned int h, unsigned char **in_rows, unsigned char **out_rows, unsigned char *palette, int desiredNoColours)
 Converts input bitmap(s) into 8bit representation with custom palette. More...
 
static bool Quantize (const wxImage &src, wxImage &dest, wxPalette **pPalette, int desiredNoColours=236, unsigned char **eightBitData=0, int flags=wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA)
 Reduce the colours in the source image and put the result into the destination image. More...
 
static bool Quantize (const wxImage &src, wxImage &dest, int desiredNoColours=236, unsigned char **eightBitData=0, int flags=wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA)
 This version sets a palette in the destination image so you don't have to manage it yourself. More...
 

Additional Inherited Members

- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxQuantize()

wxQuantize::wxQuantize ( )

Constructor.

You do not need to construct a wxQuantize object since its functions are static.

Member Function Documentation

◆ DoQuantize()

static void wxQuantize::DoQuantize ( unsigned int  w,
unsigned int  h,
unsigned char **  in_rows,
unsigned char **  out_rows,
unsigned char *  palette,
int  desiredNoColours 
)
static

Converts input bitmap(s) into 8bit representation with custom palette.

in_rows and out_rows are arrays [0..h-1] of pointer to rows (in_rows contains w * 3 bytes per row, out_rows w bytes per row). Fills out_rows with indexes into palette (which is also stored into palette variable).

◆ Quantize() [1/2]

static bool wxQuantize::Quantize ( const wxImage src,
wxImage dest,
int  desiredNoColours = 236,
unsigned char **  eightBitData = 0,
int  flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA 
)
static

This version sets a palette in the destination image so you don't have to manage it yourself.

◆ Quantize() [2/2]

static bool wxQuantize::Quantize ( const wxImage src,
wxImage dest,
wxPalette **  pPalette,
int  desiredNoColours = 236,
unsigned char **  eightBitData = 0,
int  flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA 
)
static

Reduce the colours in the source image and put the result into the destination image.

Both images may be the same, to overwrite the source image.

Specify an optional palette pointer to receive the resulting palette. This palette may be passed to ConvertImageToBitmap, for example.