BitmapDataFactoryCreateBitmapDataT(ArraySectionT, Size, Int32, PixelFormatInfo, FuncICustomBitmapDataRowT, Int32, Color32, ActionICustomBitmapDataRowT, Int32, Color32, Color32, Byte, Action) Method

Creates an IReadWriteBitmapData instance with a custom non-indexed pixel format wrapping the specified buffer and using the specified parameters.
See the Remarks section of the CreateBitmapDataT(T, Size, Int32, PixelFormatInfo, FuncICustomBitmapDataRowT, Int32, Color32, ActionICustomBitmapDataRowT, Int32, Color32, Color32, Byte, Action) overload for details.

Definition

Namespace: KGySoft.Drawing.Imaging
Assembly: KGySoft.Drawing.Core (in KGySoft.Drawing.Core.dll) Version: 7.1.0
C#
public static IReadWriteBitmapData CreateBitmapData<T>(
	ArraySection<T> buffer,
	Size size,
	int stride,
	PixelFormatInfo pixelFormatInfo,
	Func<ICustomBitmapDataRow<T>, int, Color32> rowGetColor,
	Action<ICustomBitmapDataRow<T>, int, Color32> rowSetColor,
	Color32 backColor = default,
	byte alphaThreshold = 128,
	Action? disposeCallback = null
)
where T : struct, new()

Parameters

buffer  ArraySectionT
An ArraySection<T> to be used as the underlying buffer for the returned IReadWriteBitmapData. It can be larger than it is required for the specified parameters.
size  Size
The size of the bitmap data to create in pixels.
stride  Int32
The size of a row in bytes. It allows to have some padding at the end of each row.
pixelFormatInfo  PixelFormatInfo
A PixelFormatInfo instance that describes the pixel format.
rowGetColor  FuncICustomBitmapDataRowT, Int32, Color32
A delegate that can get the color of a pixel in a row of the bitmap data.
rowSetColor  ActionICustomBitmapDataRowT, Int32, Color32
A delegate that can set the color of a pixel in a row of the bitmap data.
backColor  Color32  (Optional)
For pixel formats without alpha gradient support specifies the BackColor value of the returned IReadWriteBitmapData instance. It does not affect the actual returned bitmap content. See the Remarks section of the CreateBitmapData(Size, KnownPixelFormat, WorkingColorSpace, Color32, Byte) overload for details. The alpha value (Color32.A field) of the specified 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)
For pixel formats without alpha gradient support specifies the AlphaThreshold value of the returned IReadWriteBitmapData instance. See the Remarks section of the CreateBitmapData(Size, KnownPixelFormat, WorkingColorSpace, Color32, Byte) overload for details. This parameter is optional.
Default value: 128.
disposeCallback  Action  (Optional)
A delegate to be called when the returned IReadWriteBitmapData is disposed or finalized. This parameter is optional.
Default value: .

Type Parameters

T
The type of the elements in buffer.

Return Value

IReadWriteBitmapData
An IReadWriteBitmapData instance wrapping the specified buffer and using the provided parameters.

Exceptions

ArgumentNullExceptionbuffer is Null
-or-
rowGetColor or rowSetColor is .
ArgumentOutOfRangeExceptionsize has a zero or negative width or height
-or-
stride is too small for the specified width and pixelFormatInfo.
ArgumentExceptionbuffer is too small for the specified size, pixelFormatInfo and stride
-or-
stride is not a multiple of the size of T
-or-
pixelFormatInfo is indexed or its BitsPerPixel is 0.

See Also