Tip
See the Examples section of the AsyncHelper
class for details about how to create a context for possibly async top level methods.
public static IReadWriteBitmapData? Clone(
this IReadableBitmapData source,
IAsyncContext? context,
KnownPixelFormat pixelFormat,
Color32 backColor = default,
byte alphaThreshold = 128,
Rectangle? sourceRectangle = null
)
<ExtensionAttribute>
Public Shared Function Clone (
source As IReadableBitmapData,
context As IAsyncContext,
pixelFormat As KnownPixelFormat,
Optional backColor As Color32 = Nothing,
Optional alphaThreshold As Byte = 128,
Optional sourceRectangle As Rectangle? = Nothing
) As IReadWriteBitmapData
public:
[ExtensionAttribute]
static IReadWriteBitmapData^ Clone(
IReadableBitmapData^ source,
IAsyncContext^ context,
KnownPixelFormat pixelFormat,
Color32 backColor = Color32(),
unsigned char alphaThreshold = 128,
Nullable<Rectangle> sourceRectangle = nullptr
)
[<ExtensionAttribute>]
static member Clone :
source : IReadableBitmapData *
context : IAsyncContext *
pixelFormat : KnownPixelFormat *
?backColor : Color32 *
?alphaThreshold : byte *
?sourceRectangle : Nullable<Rectangle>
(* Defaults:
let _backColor = defaultArg backColor new Color32()
let _alphaThreshold = defaultArg alphaThreshold 128
let _sourceRectangle = defaultArg sourceRectangle null
*)
-> IReadWriteBitmapData
This method blocks the caller thread but if context belongs to an async top level method, then the execution may already run on a pool thread. Degree of parallelism, the ability of cancellation and reporting progress depend on how these were configured at the top level method.
When reporting progress, this library always passes a DrawingOperation instance to the generic methods of the IAsyncProgress interface.
ArgumentNullException | source is . |
ArgumentOutOfRangeException | pixelFormat does not specify a valid format.
-or- sourceRectangle has no overlapping region with source bounds. |