WriteableBitmap Class

Definition

Provides a BitmapSource that can be written to and updated.

Equivalent WinUI 2 API for UWP: Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap (for WinUI in the Windows App SDK, see the Windows App SDK namespaces).

public ref class WriteableBitmap sealed : BitmapSource
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.Imaging.IWriteableBitmapFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WriteableBitmap final : BitmapSource
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.Imaging.IWriteableBitmapFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class WriteableBitmap final : BitmapSource
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.Imaging.IWriteableBitmapFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WriteableBitmap : BitmapSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.Imaging.IWriteableBitmapFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WriteableBitmap : BitmapSource
Public NotInheritable Class WriteableBitmap
Inherits BitmapSource
Inheritance
Object IInspectable DependencyObject ImageSource BitmapSource WriteableBitmap
Attributes

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Examples

For code examples in C#, C++/WinRT, and C++/CX, see WriteableBitmap.PixelBuffer.

Remarks

The image source data of a WriteableBitmap is an underlying pixel buffer.

The IBuffer returned by WriteableBitmap.PixelBuffer can't be written to directly. But you can use language-specific techniques to write to the underlying pixel content in the buffer. For details, see the Remarks section of WriteableBitmap.PixelBuffer.

Some of the scenarios where you might have used a WriteableBitmap class in previous XAML frameworks can be accomplished in the Windows Runtime by using the RenderTargetBitmap class instead. For more info see RenderTargetBitmap.

Constructors

WriteableBitmap(Int32, Int32)

Initializes a new instance of the WriteableBitmap class.

Properties

Dispatcher

Gets the CoreDispatcher that this object is associated with. The CoreDispatcher represents a facility that can access the DependencyObject on the UI thread even if the code is initiated by a non-UI thread.

(Inherited from DependencyObject)
PixelBuffer

Gets an access for the direct buffer where each pixel of the WriteableBitmap is written to.

Equivalent WinUI 2 API for UWP: Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap.PixelBuffer (for WinUI in the Windows App SDK, see the Windows App SDK namespaces).

PixelHeight

Gets the height of the bitmap in pixels.

Equivalent WinUI 2 API for UWP: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.PixelHeight (for WinUI in the Windows App SDK, see the Windows App SDK namespaces).

(Inherited from BitmapSource)
PixelWidth

Gets the width of the bitmap in pixels.

Equivalent WinUI 2 API for UWP: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.PixelWidth (for WinUI in the Windows App SDK, see the Windows App SDK namespaces).

(Inherited from BitmapSource)

Methods

ClearValue(DependencyProperty)

Clears the local value of a dependency property.

(Inherited from DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Returns any base value established for a dependency property, which would apply in cases where an animation is not active.

(Inherited from DependencyObject)
GetValue(DependencyProperty)

Returns the current effective value of a dependency property from a DependencyObject.

(Inherited from DependencyObject)
Invalidate()

Requests a draw or redraw of the entire bitmap.

Equivalent WinUI 2 API for UWP: Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap.Invalidate (for WinUI in the Windows App SDK, see the Windows App SDK namespaces).

ReadLocalValue(DependencyProperty)

Returns the local value of a dependency property, if a local value is set.

(Inherited from DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registers a notification function for listening to changes to a specific DependencyProperty on this DependencyObject instance.

(Inherited from DependencyObject)
SetSource(IRandomAccessStream)

Sets the source image for a BitmapSource by accessing a stream. Most callers should use SetSourceAsync instead.

Equivalent WinUI 2 API for UWP: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.SetSource (for WinUI in the Windows App SDK, see the Windows App SDK namespaces).

(Inherited from BitmapSource)
SetSourceAsync(IRandomAccessStream)

Sets the source image for a BitmapSource by accessing a stream and processing the result asynchronously.

Equivalent WinUI 2 API for UWP: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.SetSourceAsync (for WinUI in the Windows App SDK, see the Windows App SDK namespaces).

(Inherited from BitmapSource)
SetValue(DependencyProperty, Object)

Sets the local value of a dependency property on a DependencyObject.

(Inherited from DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancels a change notification that was previously registered by calling RegisterPropertyChangedCallback.

(Inherited from DependencyObject)

Applies to

See also