Partager via


LoadedImageSurface Classe

Définition

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 : 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
Héritage
Object Platform::Object IInspectable LoadedImageSurface
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 Creators Update (introduit dans 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v4.0)

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.

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.

S’applique à

Voir aussi