BitmapDataFactoryCreateBitmapData(IntPtr, Size, Int32, PixelFormatInfo, FuncICustomBitmapDataRow, Int32, Color32, ActionICustomBitmapDataRow, Int32, Color32, WorkingColorSpace, Color32, Byte, Action) Method
Namespace: KGySoft.Drawing.ImagingAssembly: KGySoft.Drawing.Core (in KGySoft.Drawing.Core.dll) Version: 8.2.0
[SecurityCriticalAttribute]
public static IReadWriteBitmapData CreateBitmapData(
IntPtr buffer,
Size size,
int stride,
PixelFormatInfo pixelFormatInfo,
Func<ICustomBitmapDataRow, int, Color32>? rowGetColor,
Action<ICustomBitmapDataRow, int, Color32>? rowSetColor,
WorkingColorSpace workingColorSpace,
Color32 backColor = default,
byte alphaThreshold = 128,
Action? disposeCallback = null
)
<SecurityCriticalAttribute>
Public Shared Function CreateBitmapData (
buffer As IntPtr,
size As Size,
stride As Integer,
pixelFormatInfo As PixelFormatInfo,
rowGetColor As Func(Of ICustomBitmapDataRow, Integer, Color32),
rowSetColor As Action(Of ICustomBitmapDataRow, Integer, Color32),
workingColorSpace As WorkingColorSpace,
Optional backColor As Color32 = Nothing,
Optional alphaThreshold As Byte = 128,
Optional disposeCallback As Action = Nothing
) As IReadWriteBitmapData
public:
[SecurityCriticalAttribute]
static IReadWriteBitmapData^ CreateBitmapData(
IntPtr buffer,
Size size,
int stride,
PixelFormatInfo pixelFormatInfo,
Func<ICustomBitmapDataRow^, int, Color32>^ rowGetColor,
Action<ICustomBitmapDataRow^, int, Color32>^ rowSetColor,
WorkingColorSpace workingColorSpace,
Color32 backColor = Color32(),
unsigned char alphaThreshold = 128,
Action^ disposeCallback = nullptr
)
[<SecurityCriticalAttribute>]
static member CreateBitmapData :
buffer : IntPtr *
size : Size *
stride : int *
pixelFormatInfo : PixelFormatInfo *
rowGetColor : Func<ICustomBitmapDataRow, int, Color32> *
rowSetColor : Action<ICustomBitmapDataRow, int, Color32> *
workingColorSpace : WorkingColorSpace *
?backColor : Color32 *
?alphaThreshold : byte *
?disposeCallback : Action
(* Defaults:
let _backColor = defaultArg backColor new Color32()
let _alphaThreshold = defaultArg alphaThreshold 128
let _disposeCallback = defaultArg disposeCallback null
*)
-> IReadWriteBitmapData
- 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 pixelFormatInfo;
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).
- pixelFormatInfo PixelFormatInfo
- A PixelFormatInfo instance that describes the pixel format.
- rowGetColor FuncICustomBitmapDataRow, Int32, Color32
- A delegate that can get the 32-bit color of a pixel in a row of the bitmap data.
If pixelFormatInfo represents a wider format it is recommended to use the CreateBitmapData(IntPtr, Size, Int32, CustomBitmapDataConfig) overload instead.
If , then the returned instance will be write-only (can be cast to IWritableBitmapData).
- rowSetColor ActionICustomBitmapDataRow, Int32, Color32
- A delegate that can set the color of a pixel from a Color32 value in a row of the bitmap data.
If pixelFormatInfo represents a wider format it is recommended to use the CreateBitmapData(IntPtr, Size, Int32, CustomBitmapDataConfig) overload instead.
If , then the returned instance will be read-only (can be cast to IReadableBitmapData).
- workingColorSpace WorkingColorSpace
- Specifies the preferred color space that should be used when working with the result bitmap data.
See the Remarks section of the WorkingColorSpace enumeration for more details. - 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: .
IReadWriteBitmapDataAn
IReadWriteBitmapData instance wrapping the specified
buffer and using the provided parameters.