次の方法で共有


LoadedImageSurface クラス

定義

イメージをダウンロード、デコード、読み込むことができるコンポジション サーフェスを表します。 イメージを読み込むには、イメージ ソース ファイルを参照する URI (Uniform Resource Identifier) を使用するか、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 は、次のイメージ ファイル形式から取得できます。

  • 共同写真エキスパート グループ (JPEG)
  • ポータブル ネットワーク グラフィックス (PNG)
  • ビットマップ (BMP)
  • グラフィックスインターチェンジ形式 (GIF)
  • タグ付きイメージ ファイル形式 (TIFF)
  • JPEG XR
  • アイコン (ICO)

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

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

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

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

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

有効期間管理

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

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

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

プロパティ

DecodedPhysicalSize

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

DecodedSize

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

NaturalSize

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

メソッド

Close()

LoadedImageSurface および関連するリソース を破棄します。

Dispose()

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

StartLoadFromStream(IRandomAccessStream, Size)

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

StartLoadFromStream(IRandomAccessStream)

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

StartLoadFromUri(Uri, Size)

指定した UNIFORM Resource Identifier (URI) から、必要な最大サイズの LoadedImageSurface にイメージを読み込みます。

StartLoadFromUri(Uri)

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

イベント

LoadCompleted

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

適用対象

こちらもご覧ください