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 immagine o fornendo un IRandomAccessStream.
public ref class LoadedImageSurface sealed : IClosable, ICompositionSurface
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LoadedImageSurface final : IClosable, ICompositionSurface
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LoadedImageSurface : System.IDisposable, ICompositionSurface
Public NotInheritable Class LoadedImageSurface
Implements ICompositionSurface, IDisposable
- Ereditarietà
- Attributi
- Implementazioni
Requisiti Windows
Famiglia di dispositivi |
Windows 10 Creators Update (è stato introdotto in 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v4.0)
|
Esempio
In questo esempio viene illustrato come caricare un'immagine da un URI locale in una superficie e usarla in un oggetto 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 file di immagine LoadedImageSurface può essere generato da questi formati di file di immagine:
- Joint Photographic Experts Group (JPEG)
- Portable Network Graphics (PNG)
- Bitmap (BMP)
- Graphics Interchange Format (GIF)
- Tagged Image File Format (TIFF)
- JPEG XR
- Icone (ICO)
[! NOTA] LoadedImageSurface non supporta immagini GIF animate, quindi verrà visualizzata solo la prima cornice di una GIF animata.
Se l'origine dell'immagine è un flusso, tale flusso deve contenere un file di immagine in uno di questi formati.
Codifica e decodifica di LoadedImageSurface
Il supporto del codec sottostante per i file di immagine viene fornito dall'API Windows Imaging Component (WIC) in Windows. Per altre informazioni sui formati di immagine specifici come documentato per i codici, vedere Codec WIC nativi.
Usando uno dei metodi factory, è possibile creare un'istanza di LoadedImageSurface da diversi tipi di origini di immagine e controllare le dimensioni massime di decodifica dell'immagine in corrispondenza. Se non viene specificata alcuna dimensione massima, l'immagine decodificarà le dimensioni naturali.
- StartLoadFromUri(Uri)
- StartLoadFromUri(Uri, Size)
- StartLoadFromStream(IRandomAccessStream)
- StartLoadFromStream(IRandomAccessStream, Size)
Gestione della durata
Quando viene creato un oggetto LoadedImageSurface usando uno dei metodi factory, la superficie sottostante viene inizializzata immediatamente in 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 nella superficie e l'evento LoadCompleted viene attivato quando la superficie è stata popolata. Durante il processo di caricamento, la superficie verrà ridimensionata da 0x0 alla dimensione finale in base alle dimensioni decodificate dell'origine immagine.
LoadedImageSurface mantiene automaticamente tutte le risorse finché 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 "minum platform" 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à
DecodedPhysicalSize |
Ottiene le dimensioni dell'immagine decodificata in pixel fisici. |
DecodedSize |
Ottiene le dimensioni dell'immagine decodificata in pixel indipendenti dal dispositivo. |
NaturalSize |
Ottiene le dimensioni naturali dell'immagine in pixel fisici, definite nell'origine dell'immagine originale. |
Metodi
Close() |
Elimina le risorse di LoadedImageSurface e associate. |
Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite. |
StartLoadFromStream(IRandomAccessStream) |
Carica un'immagine in un oggetto LoadedImageSurfacedall'oggetto IRandomAccessStream fornito alle dimensioni naturali definite nell'origine dell'immagine. |
StartLoadFromStream(IRandomAccessStream, Size) |
Carica un'immagine in un oggetto LoadedImageSurfacedall'oggetto IRandomAccessStream 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. |
StartLoadFromUri(Uri, Size) |
Carica un'immagine in un oggetto LoadedImageSurface dall'URI (Uniform Resource Identifier) fornito con le dimensioni massime desiderate. |
Eventi
LoadCompleted |
Si verifica quando l'immagine è stata scaricata, decodificata e caricata nell'oggetto ICompositionSurface sottostante. |