共用方式為


LoadedImageSurface 類別

定義

表示可以下載、譯碼和載入影像的撰寫介面。 您可以使用參考映像來源檔案的統一資源識別碼 (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 可從下列圖像檔格式來源:

  • 聯合攝影專家組(JPEG)
  • 可攜式網路圖形 (PNG)
  • 點陣圖 (BMP)
  • 圖形交換格式 (GIF)
  • 標記的影像檔案格式 (TIFF)
  • JPEG XR
  • 圖示 (ICO)

[!注意] LoadedImageSurface 不支持動畫 GIF 影像,因此只會顯示動畫 GIF 的第一個畫面。

如果影像來源是數據流,該數據流預期會包含下列其中一種格式的影像檔案。

LoadedImageSurface 編碼和譯碼

Windows 映射元件 (WIC) API 提供圖像檔的基礎編解碼器支援。 如需程式代碼所記載之特定影像格式的詳細資訊,請參閱 原生 WIC 編解碼器

使用其中一個 Factory 方法,您可以從不同類型的影像來源建立 LoadedImageSurface 實例,並控制影像譯碼的大小上限。 如果未指定大小上限,則影像會譯碼為其自然大小。

存留期管理

使用其中一個 Factory 方法建立 LoadedImageSurface 時,基礎介面會立即初始化為0x0大小,影像內容會開始下載和譯碼 UI 線程。 當影像來源成功譯碼時,它會載入表面,並在填入表面時引發 LoadCompleted 事件。 在載入過程中,介面會根據影像來源的譯碼大小,從0x0調整為最終大小。

LoadedImageSurface 會自動保留其所有資源,直到失去其最終參考為止。 不過,您可以透過 close 方法 明確處置其資源。

[!注意] Windows 10 版本 1703 之前無法使用 LoadedImageSurface。 如果您的 app 在 Microsoft Visual Studio 中的「最小平臺版本」設定小於此頁面稍後[需求] 區塊中顯示的「引進版本」,您就無法使用此類別。

屬性

DecodedPhysicalSize

取得實體像素中譯碼影像的大小。

DecodedSize

取得裝置獨立圖元中譯碼影像的大小。

NaturalSize

取得實體圖元中影像的自然大小,其定義於原始影像來源中。

方法

Close()

處置 LoadedImageSurface 和相關資源。

Dispose()

執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。

StartLoadFromStream(IRandomAccessStream, Size)

從提供的 IRandomAccessStream,將影像載入 LoadedImageSurface,大小上限。

StartLoadFromStream(IRandomAccessStream)

從提供的 IRandomAccessStream 中定義的自然大小,將影像載入 LoadedImageSurface

StartLoadFromUri(Uri, Size)

將影像載入 LoadedImageSurface 所提供統一資源識別元 (URI) 中,其大小上限。

StartLoadFromUri(Uri)

從影像來源中所定義之自然大小的統一資源標識碼 (URI) 將影像載入 LoadedImageSurface

事件

LoadCompleted

在下載、譯碼並載入基礎 ICompositionSurface時發生。

適用於

另請參閱