C# Class PurplePen.Quantizer

Base class for quantizer.
Afficher le fichier Open project: petergolde/PurplePen

Méthodes publiques

Méthode Description
Quantize ( Bitmap source ) : Bitmap

Quantize an image and return the resulting output bitmap

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

Méthodes protégées

Méthode 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

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

Execute a second pass through the bitmap

Method Details

FirstPass() protected méthode

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
Résultat void

GetPalette() protected abstract méthode

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 overrwritten
Résultat System.Drawing.Imaging.ColorPalette

InitialQuantizePixel() protected méthode

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
Résultat void

Quantize() public méthode

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

QuantizePixel() protected abstract méthode

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
Résultat byte

Quantizer() public méthode

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'.
public Quantizer ( bool singlePass ) : System
singlePass bool If true, the quantization only needs to loop through the source pixels once
Résultat System

SecondPass() protected méthode

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
Résultat void