Surface​Image​Source Surface​Image​Source Surface​Image​Source Class

Definition

Provides Microsoft DirectX shared surfaces to draw into and then composes the bits into app content.

public : class SurfaceImageSource : ImageSource, ISurfaceImageSourcepublic class SurfaceImageSource : ImageSource, ISurfaceImageSourcePublic Class SurfaceImageSource Inherits ImageSource Implements ISurfaceImageSource
Inheritance
SurfaceImageSourceSurfaceImageSourceSurfaceImageSource
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Inherited Members

Inherited methods

Inherited properties

Remarks

This class is a display area for Microsoft DirectX interoperation whereby Microsoft DirectX content can draw within an otherwise XAML-composed UI. One consideration for a SurfaceImageSource is that while it can incorporate the Microsoft DirectX content, the rendering cycle is still XAML-centric. Too many Microsoft DirectX draws in this render model can result in latency or poor responsiveness. If you anticipate a high number of redraws for your Microsoft DirectX content, and you intend to display that content full-screen without any surrounding XAML UI, you probably should use the SwapChainBackgroundPanel technique instead. Another alternative for non-full-screen content is to render to a separate scratch surface on a background thread, then copy its contents to the surface returned from BeginDraw on the UI thread. This can unblock the UI thread at the cost of higher memory usage.

For more info on how to draw to a SurfaceImageSource, including sample code, see DirectX and XAML interop.

This class has additional API, but those API are for Microsoft DirectX interoperation and are not part of the general app programming model otherwise described in this documentation. For example, from the Microsoft DirectX side, you can call BeginDraw.

SurfaceImageSource derived classes

SurfaceImageSource is the parent class for VirtualSurfaceImageSource.

Constructors

SurfaceImageSource(Int32, Int32) SurfaceImageSource(Int32, Int32) SurfaceImageSource(Int32, Int32)

Initializes a new instance of the SurfaceImageSource class, specifying the size of the drawing area.

public : SurfaceImageSource(int pixelWidth, int pixelHeight)public SurfaceImageSource(Int32 pixelWidth, Int32 pixelHeight)Public Sub New(pixelWidth As Int32, pixelHeight As Int32)
Parameters
pixelWidth
int Int32 Int32

Width of the drawing area in pixels.

pixelHeight
int Int32 Int32

Height of the drawing area in pixels.

Attributes
See Also

SurfaceImageSource(Int32, Int32, Boolean) SurfaceImageSource(Int32, Int32, Boolean) SurfaceImageSource(Int32, Int32, Boolean)

Initializes a new instance of the SurfaceImageSource class, specifying the size of the drawing area, and whether opacity is expected to be always full opacity. Use this with isOpaque=true if SurfaceImageSource should not support transparency; this can increase performance.

public : SurfaceImageSource(int pixelWidth, int pixelHeight, bool isOpaque)public SurfaceImageSource(Int32 pixelWidth, Int32 pixelHeight, Boolean isOpaque)Public Sub New(pixelWidth As Int32, pixelHeight As Int32, isOpaque As Boolean)
Parameters
pixelWidth
int Int32 Int32

Width of the drawing area in pixels.

pixelHeight
int Int32 Int32

Height of the drawing area in pixels.

isOpaque
bool Boolean Boolean

true if the area should render opaque. false to render with possible alpha transparency. A value of true can provide a performance benefit if the content is not transparent.

Attributes
See Also

See Also