C# Class ImageManipulation.Quantizer

Summary description for Class1.
Mostra file Open project: fragmer/fCraft

Public Methods

Method Description
Quantize ( Image source ) : Bitmap

Quantize an image and return the resulting output bitmap.

Protected Methods

Method Description
FirstPass ( BitmapData sourceData, int width, int height ) : void

Execute the first pass through the pixels in the image.

GetPalette ( System.Drawing.Imaging.ColorPalette original ) : System.Drawing.Imaging.ColorPalette

Retrieve the palette for the quantized image.

InitialQuantizePixel ( Color32 pixel ) : void

Override this to process the pixel in the first pass of the algorithm.

This function need only be overridden if your quantize algorithm needs two passes, such as an Octree quantizer.

QuantizePixel ( Color32 pixel ) : byte

Override this to process the pixel in the second pass of the algorithm.

Quantizer ( bool singlePass ) : System

Construct the quantizer.

If you construct this class with a true value for singlePass, then the code will, when quantizing your image, only call the 'QuantizeImage' function. If two passes are required, the code will call 'InitialQuantizeImage' and then 'QuantizeImage'.

SecondPass ( BitmapData sourceData, Bitmap output, int width, int height, Rectangle bounds ) : void

Execute a second pass through the bitmap.

Method Details

FirstPass() protected method

Execute the first pass through the pixels in the image.
protected FirstPass ( BitmapData sourceData, int width, int height ) : void
sourceData System.Drawing.Imaging.BitmapData The source data.
width int The width in pixels of the image.
height int The height in pixels of the image.
return void

GetPalette() protected abstract method

Retrieve the palette for the quantized image.
protected abstract GetPalette ( System.Drawing.Imaging.ColorPalette original ) : System.Drawing.Imaging.ColorPalette
original System.Drawing.Imaging.ColorPalette Any old palette, this is overwritten.
return System.Drawing.Imaging.ColorPalette

InitialQuantizePixel() protected method

Override this to process the pixel in the first pass of the algorithm.
This function need only be overridden if your quantize algorithm needs two passes, such as an Octree quantizer.
protected InitialQuantizePixel ( Color32 pixel ) : void
pixel Color32 The pixel to quantize.
return void

Quantize() public method

Quantize an image and return the resulting output bitmap.
public Quantize ( Image source ) : Bitmap
source Image The image to quantize.
return System.Drawing.Bitmap

QuantizePixel() protected abstract method

Override this to process the pixel in the second pass of the algorithm.
protected abstract QuantizePixel ( Color32 pixel ) : byte
pixel Color32 The pixel to quantize.
return byte

Quantizer() protected method

Construct the quantizer.
If you construct this class with a true value for singlePass, then the code will, when quantizing your image, only call the 'QuantizeImage' function. If two passes are required, the code will call 'InitialQuantizeImage' and then 'QuantizeImage'.
protected Quantizer ( bool singlePass ) : System
singlePass bool If true, the quantization only needs to loop through the source pixels once.
return System

SecondPass() protected method

Execute a second pass through the bitmap.
protected SecondPass ( BitmapData sourceData, Bitmap output, int width, int height, Rectangle bounds ) : void
sourceData System.Drawing.Imaging.BitmapData The source bitmap, locked into memory.
output System.Drawing.Bitmap The output bitmap.
width int The width in pixels of the image.
height int The height in pixels of the image.
bounds System.Drawing.Rectangle The bounding rectangle.
return void