BitmapDataExtensionsGetColors Method

Gets the colors used in the specified bitmapData. A limit can be defined in maxColors.

Definition

Namespace: KGySoft.Drawing.Imaging
Assembly: KGySoft.Drawing.Core (in KGySoft.Drawing.Core.dll) Version: 7.0.0
C#
public static ICollection<Color32> GetColors(
	this IReadableBitmapData bitmapData,
	int maxColors = 0,
	bool forceScanningContent = false
)

Parameters

bitmapData  IReadableBitmapData
The IReadableBitmapData, whose colors have to be returned. If it is indexed and the forceScanningContent parameter is , then its palette entries are returned and maxColors is ignored.
maxColors  Int32  (Optional)
A limit of the returned colors. If forceScanningContent parameter is , then this parameter is ignored for indexed bitmaps. Use 0 for no limit. This parameter is optional.
Default value: 0.
forceScanningContent  Boolean  (Optional)
to force scanning the actual image content even if the specified bitmapData is indexed and has a palette. This parameter is optional.
Default value: .

Return Value

ICollectionColor32
An ICollectionT of Color32 entries.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IReadableBitmapData. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

  Note

This method blocks the caller, and does not support cancellation or reporting progress. Use the BeginGetColors or GetColorsAsync (in .NET Framework 4.0 and above) methods for asynchronous call and to set up cancellation or for reporting progress.

Completely transparent pixels are considered the same regardless of their color information.

Every KnownPixelFormat is supported, though wide color formats (Format16bppGrayScale, Format48bppRgb, Format64bppArgb and Format64bppPArgb) are quantized to 32 bit during the processing. To get the actual number of colors, which can be accurate even for wide color formats, use the GetColorCount method.

See Also