Struct OctreeQuantizer<TPixel>
Encapsulates methods to calculate the color palette if an image using an Octree pattern. http://msdn.microsoft.com/en-us/library/aa479306.aspx
Inherited Members
Namespace: SixLabors.ImageSharp.Processing.Processors.Quantization
Assembly: SixLabors.ImageSharp.dll
Syntax
public struct OctreeQuantizer<TPixel> : IQuantizer<TPixel>, IDisposable where TPixel : unmanaged, IPixel<TPixel>
Type Parameters
Name | Description |
---|---|
TPixel | The pixel format. |
Constructors
| Edit this page View SourceOctreeQuantizer(Configuration, QuantizerOptions)
Initializes a new instance of the OctreeQuantizer<TPixel> struct.
Declaration
public OctreeQuantizer(Configuration configuration, QuantizerOptions options)
Parameters
Type | Name | Description |
---|---|---|
Configuration | configuration | The configuration which allows altering default behaviour or extending the library. |
QuantizerOptions | options | The quantizer options defining quantization rules. |
Properties
| Edit this page View SourceConfiguration
Gets the configuration.
Declaration
public readonly Configuration Configuration { get; }
Property Value
Type | Description |
---|---|
Configuration |
Options
Gets the quantizer options defining quantization rules.
Declaration
public readonly QuantizerOptions Options { get; }
Property Value
Type | Description |
---|---|
QuantizerOptions |
Palette
Gets the quantized color palette.
Declaration
public readonly ReadOnlyMemory<TPixel> Palette { get; }
Property Value
Type | Description |
---|---|
ReadOnlyMemory<TPixel> |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | The palette has not been built via AddPaletteColors(Buffer2DRegion<TPixel>). |
Methods
| Edit this page View SourceAddPaletteColors(Buffer2DRegion<TPixel>)
Adds colors to the quantized palette from the given pixel source.
Declaration
public void AddPaletteColors(Buffer2DRegion<TPixel> pixelRegion)
Parameters
Type | Name | Description |
---|---|---|
Buffer2DRegion<TPixel> | pixelRegion | The Buffer2DRegion<T> of source pixels to register. |
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Declaration
public void Dispose()
GetQuantizedColor(TPixel, out TPixel)
Returns the index and color from the quantized palette corresponding to the given color.
Declaration
public readonly byte GetQuantizedColor(TPixel color, out TPixel match)
Parameters
Type | Name | Description |
---|---|---|
TPixel | color | The color to match. |
TPixel | match | The matched color. |
Returns
Type | Description |
---|---|
byte | The byte index. |
QuantizeFrame(ImageFrame<TPixel>, Rectangle)
Quantizes an image frame and return the resulting output pixels.
Declaration
public readonly IndexedImageFrame<TPixel> QuantizeFrame(ImageFrame<TPixel> source, Rectangle bounds)
Parameters
Type | Name | Description |
---|---|---|
ImageFrame<TPixel> | source | The source image frame to quantize. |
Rectangle | bounds | The bounds within the frame to quantize. |
Returns
Type | Description |
---|---|
IndexedImageFrame<TPixel> | A IndexedImageFrame<TPixel> representing a quantized version of the source frame pixels. |
Remarks
Only executes the second (quantization) step. The palette has to be built by calling AddPaletteColors(Buffer2DRegion<TPixel>). To run both steps, use BuildPaletteAndQuantizeFrame<TPixel>(IQuantizer<TPixel>, ImageFrame<TPixel>, Rectangle).