LoadedImageSurface Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une surface de composition sur laquelle une image peut être téléchargée, décodée et chargée. Vous pouvez charger une image à l’aide d’un URI (Uniform Resource Identifier) qui référence un fichier source d’image ou en fournissant 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
- Héritage
- Attributs
- Implémente
Exemples
Cet exemple montre comment charger une image à partir d’un URI local sur une surface et l’utiliser dans un Objet 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;
Remarques
Un objet LoadedImageSurface peut provenir de ces formats de fichier image :
- Joint Photographic Experts Group (JPEG)
- format PNG (Portable Network Graphics)
- Bitmap (BMP)
- format GIF (Graphics Interchange Format)
- format TIFF (Tagged Image File Format)
- JPEG XR
- Icônes (ICO)
[! REMARQUE] LoadedImageSurface ne prend pas en charge les images GIF animées. Par conséquent, seule la première image d’un GIF animé s’affiche.
Si la source d’image est un flux, ce flux doit contenir un fichier image dans l’un de ces formats.
Encodage et décodage LoadedImageSurface
La prise en charge des codecs sous-jacents pour les fichiers image est fournie par l’API WIC (Windows Imaging Component) dans Windows. Pour plus d’informations sur des formats d’image spécifiques, tels que documentés pour les codes, consultez Codecs WIC natifs.
À l’aide de l’une des méthodes de fabrique, vous pouvez créer un instance de LoadedImageSurface à partir de différents types de sources d’images et contrôler la taille maximale à laquelle l’image décode. Si aucune taille maximale n’est spécifiée, l’image sera décodée à sa taille naturelle.
- StartLoadFromUri(Uri)
- StartLoadFromUri(Uri, Size)
- StartLoadFromStream(IRandomAccessStream)
- StartLoadFromStream(IRandomAccessStream, Size)
Gestion de la durée de vie
Lorsqu’une surface LoadedImageSurface est créée à l’aide de l’une des méthodes de fabrique, la surface sous-jacente est immédiatement initialisée à une taille de 0x0 et le contenu de l’image commence à télécharger et à décoder le thread d’interface utilisateur. Lorsque la source de l’image a été correctement décodée, elle est chargée sur la surface et l’événement LoadCompleted est déclenché lorsque la surface a été remplie. Pendant le processus de chargement, la surface est redimensionnée de 0x0 à sa taille finale en fonction de la taille décodée de la source d’image.
LoadedImageSurface conserve automatiquement toutes ses ressources jusqu’à ce qu’il perde sa référence finale. Toutefois, vous pouvez explicitement supprimer ses ressources via la méthode Close .
[! REMARQUE] LoadedImageSurface n’est pas disponible avant Windows 10 version 1703. Si le paramètre « version minimale de la plateforme » de votre application dans Microsoft Visual Studio est inférieur à la « version introduite » indiquée dans le bloc Configuration requise plus loin dans cette page, vous ne pouvez pas utiliser cette classe.
Propriétés
DecodedPhysicalSize |
Obtient la taille de l’image décodée en pixels physiques. |
DecodedSize |
Obtient la taille de l’image décodée en pixels indépendants de l’appareil. |
NaturalSize |
Obtient la taille naturelle de l’image en pixels physiques, qui est définie dans la source d’image d’origine. |
Méthodes
Close() |
Supprime l’objet LoadedImageSurface et les ressources associées. |
Dispose() |
Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées. |
StartLoadFromStream(IRandomAccessStream) |
Charge une image sur un LoadedImageSurface à partir du IRandomAccessStream fourni à la taille naturelle définie dans la source d’image. |
StartLoadFromStream(IRandomAccessStream, Size) |
Charge une image dans un LoadedImageSurface à partir du IRandomAccessStream fourni avec la taille maximale souhaitée. |
StartLoadFromUri(Uri) |
Charge une image dans un LoadedImageSurface à partir de l’URI (Uniform Resource Identifier) fourni à la taille naturelle définie dans la source de l’image. |
StartLoadFromUri(Uri, Size) |
Charge une image dans un LoadedImageSurface à partir de l’URI (Uniform Resource Identifier) fourni avec la taille maximale souhaitée. |
Événements
LoadCompleted |
Se produit lorsque l’image a été téléchargée, décodée et chargée dans l’ICompositionSurface sous-jacent. |