LoadedImageSurface Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 |
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. |