LoadedImageSurface クラス

定義

イメージをダウンロード、デコード、読み込むことができるコンポジション サーフェスを表します。 イメージ ソース ファイルを参照する Uniform Resource Identifier (URI) を使用するか、 IRandomAccessStream を指定してイメージを読み込むことができます。

public ref class LoadedImageSurface sealed : ICompositionSurface, IClosable
/// [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 LoadedImageSurface final : ICompositionSurface, IClosable
[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 sealed class LoadedImageSurface : ICompositionSurface, System.IDisposable
Public NotInheritable Class LoadedImageSurface
Implements ICompositionSurface, IDisposable
継承
Object Platform::Object IInspectable LoadedImageSurface
属性
実装

この例では、ローカル URI からサーフェスにイメージを読み込み、 CompositionSurfaceBrush で使用する方法を示します。

Compositor compositor = new Compositor();
CompositionSurfaceBrush imageBrush = compositor.CreateSurfaceBrush();

LoadedImageSurface loadedSurface = LoadedImageSurface.StartLoadFromUri(new Uri("ms-appx:///Assets/myPic.jpg"), new Size(200.0, 400.0));

// The loadedSurface currently has a size of 0x0 since it has not been downloaded, decoded and loaded to the surface yet
imageBrush.Surface = loadedSurface;

注釈

LoadedImageSurface は、次のイメージ ファイル形式から取得できます。

  • Joint Photographic Experts Group (JPEG)
  • ポータブル ネットワーク グラフィックス (PNG)
  • ビットマップ (BMP)
  • グラフィックス交換形式 (GIF)
  • Tagged Image File Format (TIFF)
  • JPEG XR
  • アイコン (ICO)

[!注] LoadedImageSurface はアニメーション GIF 画像をサポートしていないため、アニメーション GIF の最初のフレームのみが表示されます。

イメージ ソースがストリームの場合、そのストリームには、次のいずれかの形式のイメージ ファイルが含まれている必要があります。

LoadedImageSurface のエンコードとデコード

イメージ ファイルの基になるコーデックのサポートは、Windows の Windows イメージング コンポーネント (WIC) API によって提供されます。 コードに関するドキュメントに記載されている特定のイメージ形式の詳細については、「 ネイティブ WIC コーデック」を参照してください。

ファクトリ メソッドの 1 つを使用して、さまざまな種類のイメージ ソースから LoadedImageSurface のインスタンスを作成し、イメージがデコードされる最大サイズを制御できます。 最大サイズが指定されていない場合、イメージは自然なサイズにデコードされます。

有効期間管理

いずれかのファクトリ メソッドを使用して LoadedImageSurface を作成すると、基になるサーフェスは直ちに 0x0 のサイズに初期化され、イメージ コンテンツは UI スレッドからのダウンロードとデコードを開始します。 イメージ ソースが正常にデコードされると、イメージ ソースはサーフェスに読み込まれ、サーフェスが設定されると LoadCompleted イベントが発生します。 読み込みプロセス中に、イメージ ソースのデコードされたサイズに基づいて、サーフェスのサイズが 0x0 から最終的なサイズに変更されます。

LoadedImageSurface は 、最終的な参照が失われるまで、すべてのリソースを自動的に保持します。 ただし、 Close メソッドを使用してリソースを明示的に破棄することもできます。

[!注] LoadedImageSurface は、バージョン 1703 Windows 10より前は使用できません。 Microsoft Visual Studio のアプリの "minum platform version" 設定が、このページの後半の 「要件」 ブロックに示されている "導入されたバージョン" より小さい場合は、このクラスを使用できません。

プロパティ

DecodedPhysicalSize

デコードされたイメージのサイズを物理ピクセル単位で取得します。

DecodedSize

デバイスに依存しないピクセル単位でデコードされたイメージのサイズを取得します。

NaturalSize

元のイメージ ソースで定義されている物理ピクセル単位の画像の自然なサイズを取得します。

メソッド

Close()

LoadedImageSurface と関連するリソースを破棄します。

Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

StartLoadFromStream(IRandomAccessStream)

指定された IRandomAccessStream から、イメージ ソースで定義されている自然なサイズで LoadedImageSurface にイメージを読み込みます。

StartLoadFromStream(IRandomAccessStream, Size)

指定された IRandomAccessStream から必要な最大サイズの LoadedImageSurface にイメージを読み込みます。

StartLoadFromUri(Uri)

指定された Uniform Resource Identifier (URI) から、イメージ ソースで定義されている自然なサイズの LoadedImageSurface にイメージを読み込みます。

StartLoadFromUri(Uri, Size)

指定された Uniform Resource Identifier (URI) から目的の最大サイズの LoadedImageSurface にイメージを読み込みます。

イベント

LoadCompleted

イメージがダウンロードされ、デコードされ、基になる ICompositionSurface に読み込まれたときに発生します。

適用対象

こちらもご覧ください