SurfaceImageSource クラス

定義

描画Microsoft DirectX 共有サーフェイスを提供し、アプリ コンテンツにビットを作成します。

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SurfaceImageSource : ImageSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SurfaceImageSource : ImageSource
Public Class SurfaceImageSource
Inherits ImageSource
継承
Object IInspectable DependencyObject ImageSource SurfaceImageSource
派生
属性

注釈

このクラスは、DirectX の相互運用Microsoft表示領域です。これにより、Microsoft DirectX コンテンツは、それ以外の場合は XAML で構成された UI 内で描画できます。 SurfaceImageSource の考慮事項の 1 つは、Microsoft DirectX コンテンツを組み込むことはできますが、レンダリング サイクルは引き続き XAML 中心であるという点です。 このレンダリング モデルで DirectX 描画Microsoftが多すぎると、待機時間や応答性が低下する可能性があります。 Microsoft DirectX コンテンツに対して多数の再描画が予想され、そのコンテンツを周囲の XAML UI なしで全画面表示する場合は、代わりに SwapChainBackgroundPanel 手法を使用する必要があります。 全画面表示以外のコンテンツのもう 1 つの代替手段は、バックグラウンド スレッド上の別のスクラッチ サーフェイスにレンダリングし、その内容を UI スレッドの BeginDraw から返されたサーフェイスにコピーすることです。 これにより、メモリ使用量が増加するコストで UI スレッドのブロックを解除できます。

サンプル コードを含む SurfaceImageSource に描画する方法の詳細については、「 DirectX と XAML 相互運用」を参照してください。

このクラスには追加の API がありますが、これらの API は Microsoft DirectX 相互運用用であり、このドキュメントで説明されている一般的なアプリ プログラミング モデルの一部ではありません。 たとえば、Microsoft DirectX 側から BeginDraw を呼び出すことができます。

SurfaceImageSource 派生クラス

SurfaceImageSource は、 VirtualSurfaceImageSource の親クラスです。

コンストラクター

名前 説明
SurfaceImageSource(Int32, Int32, Boolean)

描画領域のサイズ、および不透明度が常に完全な不透明度であることが必要かどうかを指定して、 SurfaceImageSource クラスの新しいインスタンスを初期化します。 SurfaceImageSource が透明度をサポートしない場合は、これをisOpaque=trueと共に使用します。これにより、パフォーマンスが向上する可能性があります。

SurfaceImageSource(Int32, Int32)

描画領域のサイズを指定して、 SurfaceImageSource クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
Dispatcher

Windows アプリ SDK アプリで常に null を返します。 代わりに DispatcherQueue を使用してください。

(継承元 DependencyObject)
DispatcherQueue

このオブジェクトが関連付けられている DispatcherQueue を取得します。 DispatcherQueueは、コードが非 UI スレッドによって開始された場合でも、UI スレッド上のDependencyObjectにアクセスできる機能を表します。

(継承元 DependencyObject)

メソッド

名前 説明
ClearValue(DependencyProperty)

依存関係プロパティのローカル値をクリアします。

(継承元 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

依存関係プロパティに対して確立された基本値を返します。これは、アニメーションがアクティブでない場合に適用されます。

(継承元 DependencyObject)
GetValue(DependencyProperty)

DependencyObject から依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
ReadLocalValue(DependencyProperty)

ローカル値が設定されている場合は、依存関係プロパティのローカル値を返します。

(継承元 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

この DependencyObject インスタンスの特定の DependencyProperty への変更をリッスンするための通知関数を登録します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback を呼び出して以前に登録した変更通知を取り消します。

(継承元 DependencyObject)

適用対象

こちらもご覧ください