BitmapDataFactoryCreateBitmapData(IntPtr, Size, Int32, CustomBitmapDataConfig) Method

Creates an IReadWriteBitmapData instance with a custom non-indexed pixel format wrapping an unmanaged 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#
[SecurityCriticalAttribute]
public static IReadWriteBitmapData CreateBitmapData(
	IntPtr buffer,
	Size size,
	int stride,
	CustomBitmapDataConfig customBitmapDataConfig
)

Parameters

buffer  IntPtr
The memory address to be used as the underlying buffer for the returned IReadWriteBitmapData. Make sure there is enough allocated memory for the specified size, stride and PixelFormat; otherwise, accessing pixels may corrupt memory or throw an AccessViolationException. If it points to managed memory make sure it is pinned until the returned bitmap data is disposed.
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. It can be negative for bottom-up layout (ie. when buffer points to the first pixel of the bottom 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 or its owner object to make sure you set the BackBufferIndependentPixelAccess property to .

Return Value

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

Exceptions

ArgumentNullExceptionbuffer is IntPtr.Zero
-or-
customBitmapDataConfig is .
ArgumentOutOfRangeExceptionsize has a zero or negative width or height
-or-
The absolute value of stride is too small for the specified width and PixelFormat.
-or-
WorkingColorSpace in customBitmapDataConfig is not one of the defined values.
ArgumentExceptionPixelFormat in customBitmapDataConfig is indexed or its BitsPerPixel is 0.
-or- None of the pixel getter/setter delegates are specified in customBitmapDataConfig.

See Also