Linguaggio

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 fornendo 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 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 oggetto LoadedImageSurface può essere originato da questi formati di file di immagine:

  • Gruppo di esperti di fotografia congiunta (JPEG)
  • Grafica di rete portabile (PNG)
  • Bitmap (BMP)
  • Formato di InterScambio di Immagini (GIF)
  • Formato di file 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 WIC (Imaging Component) 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.

Gestione del ciclo di vita

Quando viene creato un oggetto 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 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 è minore della "versione introdotta" visualizzata nel blocco Requisiti più avanti in questa pagina, non è possibile usare questa classe.

Proprietà

Nome Descrizione
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

Nome Descrizione
Close()

Elimina le risorse associate e LoadedImageSurface .

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 oggetto LoadedImageSurface da IRandomAccessStream fornito con le dimensioni massime desiderate.

StartLoadFromStream(IRandomAccessStream)

Carica un'immagine in un oggetto LoadedImageSurfacedall'oggetto IRandomAccessStream fornito alle dimensioni naturali definite nell'origine dell'immagine.

StartLoadFromUri(Uri, Size)

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

StartLoadFromUri(Uri)

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

Eventi

Nome Descrizione
LoadCompleted

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

Si applica a

Vedi anche