LoadedImageSurface Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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.
- StartLoadFromUri(Uri)
- StartLoadFromUri(Uri, Size)
- StartLoadFromStream(IRandomAccessStream)
- StartLoadFromStream(IRandomAccessStream, Size)
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. |