Palette(IEnumerableColor, Color, 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: 8.1.0
C#
public Palette(
	IEnumerable<Color> entries,
	Color backColor = default,
	byte alphaThreshold = 128,
	Func<Color32, IPalette, int>? customGetNearestColorIndex = null
)

Parameters

entries  IEnumerableColor
The color entries to be stored by this Palette instance. They will be converted to Color32 instances internally.
backColor  Color  (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 Color.A property of the background color is ignored. This parameter is optional.
Default value: Empty, 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 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. If , then GetNearestColor and GetNearestColorIndex methods will perform a sequential lookup by using a default logic and results will be cached.

Exceptions

ArgumentNullExceptionentries must not be .
ArgumentExceptionentries must not be empty.

See Also