BitmapDataFactoryCreateBitmapDataT(ArraySectionT, Size, Int32, CustomBitmapDataConfig) 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, CustomBitmapDataConfig) overload for details.

Definition

Namespace: KGySoft.Drawing.Imaging
Assembly: KGySoft.Drawing.Core (in KGySoft.Drawing.Core.dll) Version: 8.2.0
C#
public static IReadWriteBitmapData CreateBitmapData<T>(
	ArraySection<T> buffer,
	Size size,
	int stride,
	CustomBitmapDataConfig customBitmapDataConfig
)
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.
customBitmapDataConfig  CustomBitmapDataConfig
The configuration for the custom pixel format. At least one getter or setter delegate must be specified. If you can ensure that the delegates don't capture buffer make sure you set the BackBufferIndependentPixelAccess property to .

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-
customBitmapDataConfig is .
ArgumentOutOfRangeExceptionsize has a zero or negative width or height
-or-
stride is too small for the specified width and PixelFormat.
-or-
WorkingColorSpace in customBitmapDataConfig is not one of the defined values.
ArgumentExceptionbuffer is too small for the specified size, PixelFormat and stride
-or-
stride is not a multiple of the size of T
-or-
PixelFormat in customBitmapDataConfig is indexed or its BitsPerPixel is 0.
-or- None of the pixel getter/setter delegates are specified in customBitmapDataConfig.

See Also