次の方法で共有


SurfaceImageSource クラス

定義

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

/// [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 SurfaceImageSource : ImageSource
[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 class SurfaceImageSource : ImageSource
Public Class SurfaceImageSource
Inherits ImageSource
継承
Object IInspectable DependencyObject ImageSource SurfaceImageSource
派生
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

このクラスは、Microsoft DirectX 相互運用の表示領域です。これにより、Microsoft DirectX コンテンツは、それ以外の場合は XAML で構成された UI 内で描画できます。 SurfaceImageSource の考慮事項の 1 つは、Microsoft DirectX コンテンツを組み込むことはできますが、レンダリング サイクルはまだ XAML 中心であるという点です。 このレンダリング モデルで Microsoft DirectX 描画が多すぎると、待機時間や応答性が低下する可能性があります。 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)

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

SurfaceImageSource(Int32, Int32, Boolean)

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

プロパティ

Dispatcher

このオブジェクトが関連付けられている CoreDispatcher を取得します。 CoreDispatcher は、コードが 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)

適用対象

こちらもご覧ください