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 mithilfe eines URI (Uniform Resource Identifier) laden, der auf eine Bildquelldatei verweist, oder ein 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
- 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 folgenden Bilddateiformaten stammen:
- Joint Photographic Experts Group (JPEG)
- Portable Network Graphics (PNG)
- Bitmap (BMP)
- Graphics Interchange Format (GIF)
- Tagged Image File Format (TIFF)
- JPEG XR
- Symbole (ICO)
[! HINWEIS] LoadedImageSurface- keine animierten GIF-Bilder unterstützt, sodass nur der erste Frame eines animierten GIF angezeigt wird.
Wenn es sich bei der Bildquelle um einen Datenstrom handelt, wird erwartet, dass dieser Datenstrom eine Bilddatei in einem dieser Formate enthält.
LoadedImageSurface-Codierung und -Decodierung
Die zugrunde liegende Codec-Unterstützung für Bilddateien wird von der Windows Imaging Component (WIC)-API 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 Instanz 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 ist, wird das Bild mit seiner natürlichen Größe decodiert.
- StartLoadFromUri(Uri)-
- StartLoadFromUri(Uri, Größe)
- StartLoadFromStream(IRandomAccessStream)
- StartLoadFromStream(IRandomAccessStream, Size)
Lebensdauerverwaltung
Wenn ein LoadedImageSurface- mithilfe einer der Factorymethoden erstellt wird, wird die zugrunde liegende Oberfläche sofort in 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 dann 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 die endgültige Größe basierend auf der decodierten Größe der Bildquelle geändert.
LoadedImageSurface alle Ressourcen automatisch beibehalten, bis der endgültige Verweis verloren geht. Sie können die Ressourcen jedoch explizit über die methode Close verwerfen.
[! HINWEIS] LoadedImageSurface- ist vor Windows 10, Version 1703, nicht verfügbar. Wenn die Einstellung "Minum-Plattformversion" in Microsoft Visual Studio kleiner als die im Anforderungsblock 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 unabhängigen Pixeln des Geräts ab. |
NaturalSize |
Ruft die natürliche Größe des Bilds in physischen Pixeln ab, die in der ursprünglichen Bildquelle definiert ist. |
Methoden
Close() |
Disposes of the LoadedImageSurface and associated resources. |
Dispose() |
Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind. |
StartLoadFromStream(IRandomAccessStream, Size) |
Lädt ein Bild in eine LoadedImageSurface- aus dem bereitgestellten IRandomAccessStream- mit der gewünschten maximalen Größe. |
StartLoadFromStream(IRandomAccessStream) |
Lädt ein Bild in eine LoadedImageSurface- aus dem bereitgestellten IRandomAccessStream- in der natürlichen Größe, die in der Bildquelle definiert ist. |
StartLoadFromUri(Uri, Size) |
Lädt ein Bild in eine LoadedImageSurface aus dem bereitgestellten URI (Uniform Resource Identifier) mit der gewünschten maximalen Größe. |
StartLoadFromUri(Uri) |
Lädt ein Bild in eine LoadedImageSurface aus dem bereitgestellten URI (Uniform Resource Identifier) in der natürlichen Größe, die in der Bildquelle definiert ist. |
Ereignisse
LoadCompleted |
Tritt auf, wenn das Bild heruntergeladen, decodiert und in die zugrunde liegende ICompositionSurfacegeladen wurde. |