Palette(IEnumerableColor32, Color32, Byte, FuncColor32, IPalette, Int32) Constructor

Initializes a new instance of the Palette class.
See the Remarks section of the Palette class for details.

Definition

Namespace: KGySoft.Drawing.Imaging
Assembly: KGySoft.Drawing.Core (in KGySoft.Drawing.Core.dll) Version: 10.0.0-rc.1
C#
public Palette(
	IEnumerable<Color32> entries,
	Color32 backColor = default,
	byte alphaThreshold = 128,
	Func<Color32, IPalette, int>? customGetNearestColorIndex = null
)

Parameters

entries  IEnumerableColor32
The color entries to be stored by this Palette instance.
backColor  Color32  (Optional)
If entries does not contain partially transparent colors, then specifies the background color for lookup operations (GetNearestColor, GetNearestColorIndex). When a lookup is performed with a color, whose Color32.A field is equal to or greater than alphaThreshold, and there is no exact match among the entries, then the color to be found will be blended with this color before performing the lookup. The Color32.A field of the background color is ignored. This parameter is optional.
Default value: The default value of the Color32 type, which has the same RGB values as Black.
alphaThreshold  Byte  (Optional)
If there is at least one completely transparent color among entries, then specifies a threshold value for the Color32.A field, under which lookup operations will return the first transparent color (GetNearestColor) or the index of the first transparent color (GetNearestColorIndex). This parameter is optional.
Default value: 128.
customGetNearestColorIndex  FuncColor32, IPalette, Int32  (Optional)
A delegate specifying an optional custom lookup logic to obtain an index from entries by a Color32 and an IPalette instance. If specified, it must be thread-safe and it is expected to be fast. The results returned by the specified delegate are not cached. Make sure you always obtain the palette properties such as BackColor, AlphaThreshold and WorkingColorSpace from the IPalette argument as this delegate can be re-used in another Palette instance when calling the Palette(Palette, WorkingColorSpace, Color32, Byte) constructor. If , then GetNearestColor and GetNearestColorIndex methods will perform a sequential lookup by using a default logic and results will be cached. This parameter is optional.
Default value: .

Exceptions

ArgumentNullExceptionentries must not be .
ArgumentExceptionentries must not be empty.

See Also