Condividi tramite


LoadedImageSurface Classe

Definizione

Rappresenta una superficie di composizione in cui è possibile scaricare, decodificare e caricare un'immagine. È possibile caricare un'immagine usando un URI (Uniform Resource Identifier) che fa riferimento a un file di origine dell'immagine o specificando un 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
Ereditarietà
Object Platform::Object IInspectable LoadedImageSurface
Attributi
Implementazioni

Esempio

Questo esempio illustra come caricare un'immagine da un URI locale in una superficie e usarla in un 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;

Commenti

Un LoadedImageSurface può essere originato da questi formati di file di immagine:

  • Joint Photographic Experts Group (JPEG)
  • Portable Network Graphics (PNG)
  • Bitmap (BMP)
  • Formato interscambio grafico (GIF)
  • Formato file di immagine con tag (TIFF)
  • JPEG XR
  • Icone (ICO)

[! NOTA] LoadedImageSurface non supporta immagini GIF animate, quindi verrà visualizzato solo il primo fotogramma di una GIF animata.

Se l'origine dell'immagine è un flusso, tale flusso dovrebbe contenere un file di immagine in uno di questi formati.

Codifica e decodifica di LoadedImageSurface

Il supporto codec sottostante per i file di immagine viene fornito dall'API Windows Imaging Component (WIC) in Windows. Per altre info su formati di immagine specifici, come documentato per i codici, vedi Codec WIC nativi.

Usando uno dei metodi factory, è possibile creare un'istanza di LoadedImageSurface da diversi tipi di origini di immagini e controllare le dimensioni massime decodificate dall'immagine. Se non viene specificata alcuna dimensione massima, l'immagine verrà decodificata in base alle dimensioni naturali.

  • StartLoadFromUri(Uri)
  • StartLoadFromUri(Uri, Size)
  • StartLoadFromStream(IRandomAccessStream)
  • StartLoadFromStream(IRandomAccessStream, Size)

Gestione della durata

Quando viene creato un LoadedImageSurface usando uno dei metodi factory, la superficie sottostante viene immediatamente inizializzata a una dimensione di 0x0 e il contenuto dell'immagine inizia a scaricare e decodificare il thread dell'interfaccia utente. Quando l'origine dell'immagine è stata decodificata correttamente, viene caricata sulla superficie e l'evento LoadCompleted viene generato quando la superficie è stata popolata. Durante il processo di caricamento, la superficie verrà ridimensionata da 0x0 alle dimensioni finali in base alle dimensioni decodificate dell'origine dell'immagine.

LoadedImageSurface mantiene automaticamente tutte le risorse fino a quando non perde il riferimento finale. Tuttavia, è possibile eliminare in modo esplicito le relative risorse tramite il metodo Close .

[! NOTA] LoadedImageSurface non è disponibile prima di Windows 10 versione 1703. Se l'impostazione "versione della piattaforma minum" dell'app in Microsoft Visual Studio è inferiore alla "versione introdotta" visualizzata nel blocco Requisiti più avanti in questa pagina, non è possibile usare questa classe.

Proprietà

DecodedPhysicalSize

Ottiene le dimensioni dell'immagine decodificata in pixel fisici.

DecodedSize

Ottiene le dimensioni dell'immagine decodificata in pixel indipendenti dal dispositivo.

NaturalSize

Ottiene la dimensione naturale dell'immagine in pixel fisici, definita nell'origine dell'immagine originale.

Metodi

Close()

Elimina il LoadedImageSurface e le risorse associate.

Dispose()

Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite.

StartLoadFromStream(IRandomAccessStream, Size)

Carica un'immagine in un LoadedImageSurface dal IRandomAccessStream fornito con le dimensioni massime desiderate.

StartLoadFromStream(IRandomAccessStream)

Carica un'immagine in un LoadedImageSurface dal IRandomAccessStream fornito alle dimensioni naturali definite nell'origine dell'immagine.

StartLoadFromUri(Uri, Size)

Carica un'immagine in un LoadedImageSurface dall'URI (Uniform Resource Identifier) fornito con le dimensioni massime desiderate.

StartLoadFromUri(Uri)

Carica un'immagine in un LoadedImageSurface dall'URI (Uniform Resource Identifier) fornito alle dimensioni naturali definite nell'origine dell'immagine.

Eventi

LoadCompleted

Si verifica quando l'immagine è stata scaricata, decodificata e caricata nel sottostante ICompositionSurface.

Si applica a

Vedi anche