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

Windows-Anforderungen

Gerätefamilie
Windows 10 Creators Update (eingeführt in 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v4.0)

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 eines animierten GIF 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 steuern, bei der das Bild decodiert wird. Wenn keine maximale Größe angegeben wird, 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 des UI-Threads. 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 von 0x0 auf ihre endgültige Größe basierend auf der decodierten Größe der Bildquelle geändert.

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

[! HINWEIS] LoadedImageSurface ist vor Windows 10 Version 1703 nicht verfügbar. Wenn die Einstellung "Mindestversion der Plattform" Ihrer App in Microsoft Visual Studio kleiner als die im Abschnitt Anforderungen weiter unten auf dieser Seite angezeigte "eingeführte Version" ist, 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 die 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 in 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 eine 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 eine LoadedImageSurface .

StartLoadFromUri(Uri, Size)

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

Ereignisse

LoadCompleted

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

Gilt für:

Weitere Informationen