\section{\class{wxQuantize}}\label{wxquantize}

Performs quantization, or colour reduction, on a wxImage.

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

\wxheading{Derived from}

\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/quantize.h>

\wxheading{Library}

\helpref{wxCore}{librarieslist}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxQuantize::wxQuantize}\label{wxquantizewxquantize}

\func{}{wxQuantize}{\void}

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

\membersection{wxQuantize::Quantize}\label{wxquantizequantize}

\func{bool}{Quantize}{\param{const wxImage\& }{src}, \param{wxImage\& }{dest}, \param{wxPalette** }{pPalette}, \param{int }{desiredNoColours = 236}, \param{unsigned char** }{eightBitData = 0}, \param{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. 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.

If you pass a palette pointer, you must free the palette yourself.

\func{bool}{Quantize}{\param{const wxImage\& }{src}, \param{wxImage\& }{dest}, \param{int }{desiredNoColours = 236}, \param{unsigned char** }{eightBitData = 0}, \param{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.

\membersection{wxQuantize::DoQuantize}\label{wxquantizedoquantize}

\func{void}{DoQuantize}{\param{unsigned }{w}, \param{unsigned }{h}, \param{unsigned char** }{in\_rows}, \param{unsigned char** }{out\_rows}, \param{unsigned char* }{palette}, \param{int }{desiredNoColours}}

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

