SurfaceImageSource クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
描画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
- 継承
- 派生
- 属性
注釈
このクラスは、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 が透明度をサポートしない場合は、これを |
| SurfaceImageSource(Int32, Int32) |
描画領域のサイズを指定して、 SurfaceImageSource クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Dispatcher |
Windows アプリ SDK アプリで常に |
| DispatcherQueue |
このオブジェクトが関連付けられている |
メソッド
| 名前 | 説明 |
|---|---|
| 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) |