Freigeben über


LoadedImageSurface Klasse

Definition

Stellt eine Kompositionsoberfläche dar, auf die ein Bild heruntergeladen, decodiert und geladen werden kann. Sie können ein Bild mit einem URI (Uniform Resource Identifier) laden, der auf eine Bildquelldatei verweist, oder einen IRandomAccessStream bereitstellen.

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
Vererbung
Object Platform::Object IInspectable LoadedImageSurface
Attribute
Implementiert

Beispiele

In diesem Beispiel wird gezeigt, wie Ein Bild aus einem lokalen URI auf eine Oberfläche geladen und in einem CompositionSurfaceBrush verwendet wird.

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;

Hinweise

Ein LoadedImageSurface kann aus den folgenden Bilddateiformaten stammen:

  • JPEG (Joint Photographic Experts Group)
  • PNG (Portable Network Graphics)
  • Bitmap (BMP)
  • GIF (Graphics Interchange Format)
  • TIFF (Tagged Image File Format)
  • JPEG XR
  • Symbole (ICO)

[! HINWEIS] LoadedImageSurface unterstützt keine animierten GIF-Bilder, sodass nur der erste Frame einer animierten GIF-Datei angezeigt wird.

Wenn es sich bei der Bildquelle um einen Stream handelt, wird erwartet, dass dieser Stream eine Bilddatei in einem dieser Formate enthält.

LoadedImageSurface-Codierung und -Decodierung

Die zugrunde liegende Codecunterstützung für Bilddateien wird von der WIC-API (Windows Imaging Component) in Windows bereitgestellt. Weitere Informationen zu bestimmten Bildformaten, die für die Codes dokumentiert sind, finden Sie unter Native WIC-Codecs.

Mithilfe einer der Factorymethoden können Sie eine instance von LoadedImageSurface aus verschiedenen Arten von Bildquellen erstellen und die maximale Größe des Bilds steuern. Wenn keine maximale Größe angegeben ist, wird das Bild auf seine natürliche Größe decodiert.

Verwaltung der Lebensdauer

Wenn ein LoadedImageSurface mit einer der Factorymethoden erstellt wird, wird die zugrunde liegende Oberfläche sofort auf eine Größe von 0x0 initialisiert, und der Bildinhalt beginnt mit dem Herunterladen und Decodieren aus dem UI-Thread. Wenn die Bildquelle erfolgreich decodiert wurde, wird sie auf die Oberfläche geladen, und das LoadCompleted-Ereignis wird ausgelöst, wenn die Oberfläche aufgefüllt wurde. Während des Ladevorgangs wird die Größe der Oberfläche basierend auf der decodierten Größe der Bildquelle von 0x0 auf ihre endgültige Größe angepasst.

LoadedImageSurface behält automatisch alle Ressourcen bei, bis der endgültige Verweis verloren geht. Sie können ihre Ressourcen jedoch über die Close-Methode explizit entsorgen.

[! HINWEIS] LoadedImageSurface ist vor Windows 10 Version 1703 nicht verfügbar. Wenn die Einstellung "Minimale Plattformversion" Ihrer App in Microsoft Visual Studio kleiner ist als die im Block Anforderungen weiter unten auf dieser Seite angezeigte "eingeführte Version", können Sie diese Klasse nicht verwenden.

Eigenschaften

DecodedPhysicalSize

Ruft die Größe des decodierten Bilds in physischen Pixeln ab.

DecodedSize

Ruft die Größe des decodierten Bilds in geräteunabhängigen Pixeln ab.

NaturalSize

Ruft die natürliche Größe des Bilds in physischen Pixeln ab, die in der ursprünglichen Bildquelle definiert ist.

Methoden

Close()

Entsorgt das LoadedImageSurface und die zugeordneten Ressourcen.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

StartLoadFromStream(IRandomAccessStream)

Lädt ein Bild aus dem bereitgestellten IRandomAccessStream mit der in der Bildquelle definierten natürlichen Größe auf eine LoadedImageSurface.

StartLoadFromStream(IRandomAccessStream, Size)

Lädt ein Bild aus dem bereitgestellten IRandomAccessStream mit der gewünschten maximalen Größe in ein LoadedImageSurface.

StartLoadFromUri(Uri)

Lädt ein Bild aus dem bereitgestellten URI (Uniform Resource Identifier) mit der in der Bildquelle definierten natürlichen Größe in ein LoadedImageSurface .

StartLoadFromUri(Uri, Size)

Lädt ein Bild aus dem bereitgestellten URI (Uniform Resource Identifier) mit der gewünschten maximalen Größe in ein LoadedImageSurface .

Ereignisse

LoadCompleted

Tritt auf, wenn das Image heruntergeladen, decodiert und in das zugrunde liegende ICompositionSurface geladen wurde.

Gilt für:

Weitere Informationen