Class ColorPalette
A representation of a 256 indexed color palette in DAC format [0..63].
Implements
Namespace: DIV2.Format.Exporter
Assembly: DIV2.Format.Exporter.dll
Syntax
public sealed class ColorPalette : object, ISerializableAsset, IEnumerable<Color>
Constructors
ColorPalette()
Creates a new Color palette.
Declaration
public ColorPalette()
ColorPalette(BinaryReader)
Creates a new Color palette from memory.
Declaration
public ColorPalette(BinaryReader stream)
Parameters
Type | Name | Description |
---|---|---|
BinaryReader | stream | A |
ColorPalette(Color[])
Creates a new Color palette from memory.
Declaration
public ColorPalette(Color[] colors)
Parameters
Type | Name | Description |
---|---|---|
Color[] | colors | A 256 length Color array. |
ColorPalette(Byte[])
Creates a new Color palette from memory.
Declaration
public ColorPalette(byte[] buffer)
Parameters
Type | Name | Description |
---|---|---|
Byte[] | buffer | A 768 length array that contains the data of the 256 Color values. |
Fields
LENGTH
Declaration
public const int LENGTH = null
Field Value
Type | Description |
---|---|
Int32 | Number of colors. |
SIZE
Declaration
public const int SIZE = null
Field Value
Type | Description |
---|---|
Int32 | Memory size of the palette. |
Properties
Item[Int32]
Gets or sets a Color value in DAC format [0..63].
Declaration
public Color this[int index] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | Index in palette. |
Property Value
Type | Description |
---|---|
Color | Returns the Color value. |
Methods
GetHashCode()
Generates a hash code for this instance.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 | Returns an |
Sort()
Sorts the Color values.
Declaration
public void Sort()
Remarks
This method try to sort the colors using the Nearest Neighbour algorithm, trying to ensure that the black color (0, 0, 0), if exists in palette, be the first color. This implementation is based on this article: https://www.alanzucconi.com/2015/09/30/colour-sorting/
ToArray()
Gets the Color array from this instance.
Declaration
public Color[] ToArray()
Returns
Type | Description |
---|---|
Color[] | Returns new Color array of DAC values [0..63]. |
Remarks
ToRGB()
Gets a full RGB range values [0..255].
Declaration
public Color[] ToRGB()
Returns
Type | Description |
---|---|
Color[] | Returns new Color array of full RGB values [0..255]. In most of the cases, this value is an aproximation to the real RGB value. |
ToString()
Serializes the relevant data of this instance in a
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String | Returns a |
Operators
Equality(ColorPalette, ColorPalette)
Equality operator.
Declaration
public static bool operator ==(ColorPalette a, ColorPalette b)
Parameters
Type | Name | Description |
---|---|---|
ColorPalette | a | Left ColorPalette value to compare. |
ColorPalette | b | Right ColorPalette value to compare. |
Returns
Type | Description |
---|---|
Boolean | Returns true if both values are equal. |
Inequality(ColorPalette, ColorPalette)
Inequality operator.
Declaration
public static bool operator !=(ColorPalette a, ColorPalette b)
Parameters
Type | Name | Description |
---|---|---|
ColorPalette | a | Left ColorPalette value to compare. |
ColorPalette | b | Right ColorPalette value to compare. |
Returns
Type | Description |
---|---|
Boolean | Returns true if both values are not equal. |