BitmapExtensionsMakeGrayscale Method

Makes a bitmap grayscale.

Definition

Namespace: KGySoft.Drawing
Assembly: KGySoft.Drawing (in KGySoft.Drawing.dll) Version: 9.2.0
C#
public static void MakeGrayscale(
	this Bitmap bitmap,
	IDitherer? ditherer = null
)

Parameters

bitmap  Bitmap
The Bitmap to make grayscale.
ditherer  IDitherer  (Optional)
An optional IDitherer instance to dither the result if grayscale colors cannot be represented by the PixelFormat or the current palette of the specified bitmap. This parameter is optional.
Default value: .

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Bitmap. 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

This method transforms the bitmap in place (its original content will be overwritten). To return a new instance use the ToGrayscale extension method, which always returns a bitmap with Format32bppArgb format, or the ConvertPixelFormat method with a grayscale quantizer (PredefinedColorsQuantizer.Grayscale, for example).

If bitmap has an indexed PixelFormat and ditherer is , then its palette entries will be transformed instead of the actual pixels. To transform the colors of an indexed Bitmap without changing the palette specify a non- ditherer. Transforming the palette is both faster and provides a better result.

The ditherer is ignored for PixelFormats with more than 16 bits-per-pixel and for the Format16bppGrayScale format.

See Also