git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        quantize.h
 | 
						|
// Purpose:     interface of wxQuantize
 | 
						|
// Author:      wxWidgets team
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxQuantize
 | 
						|
 | 
						|
    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{misc}
 | 
						|
*/
 | 
						|
class wxQuantize : public wxObject
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Constructor. You do not need to construct a wxQuantize object since its
 | 
						|
        functions are static.
 | 
						|
    */
 | 
						|
    wxQuantize();
 | 
						|
 | 
						|
    /**
 | 
						|
        Converts input bitmap(s) into 8bit representation with custom palette.
 | 
						|
        @a in_rows and @a out_rows are arrays [0..h-1] of pointer to rows
 | 
						|
        (@a in_rows contains @a w * 3 bytes per row, @a out_rows @a w bytes per row).
 | 
						|
        Fills @a out_rows with indexes into palette (which is also stored into @a palette
 | 
						|
        variable).
 | 
						|
    */
 | 
						|
    void DoQuantize(unsigned w, unsigned h, unsigned char** in_rows,
 | 
						|
                    unsigned char** out_rows, unsigned char* palette,
 | 
						|
                    int desiredNoColours);
 | 
						|
 | 
						|
    /**
 | 
						|
        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.
 | 
						|
    */
 | 
						|
    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);
 | 
						|
 | 
						|
    /**
 | 
						|
        This version sets a palette in the destination image so you don't
 | 
						|
        have to manage it yourself.
 | 
						|
    */
 | 
						|
    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);
 | 
						|
};
 | 
						|
 |