WPF, Silverlight, Silverlight for Windows Phone und Metro-Style-Apps

Metro-Style-App BitmapImage.DecodePixel für mehr Speicher zur Laufzeit
Kommentare

In der neuen Kolumne „XAML Expertise“ des Windows Developer Magazins präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt die Expertise: „Metro-Style-App: BitmapImage.DecodePixel für mehr Speicher zur Laufzeit“. Viel Spaß mit „XAML Expertise“!

Windows Developer

Dieser Teil aus der Kolumne „XAML Expertise“ von Gregor Biswanger ist erstmalig erschienen im Windows Developer 8.2012

In der Regel sind Bilder in einer höheren Auflösung vorhanden, als sie auf der Oberfläche benötigt werden. Die Folge ist ein unnötiger Speicherverbrauch.

Unter WinRT wurde die BitmapImage-Klasse um zwei wertvolle DecodePixel Properties erweitert. Das erste für die Höhe und das zweite für die Breite (DecodePixelHeight und DecodePixelWidth). Die BitmapImage-Klasse optimiert im Speicher nur die benötigte Auflösung des gewünschten Bildes. In der Regel werden die Werte verwendet, die beim Image-Control fix gesetzt wurden. Listing 1 zeigt, wie die Properties eingesetzt werden.

Listing 1: Mehr Speicher mit den neuen DecodePixel Properties

BitmapImage bitmapImage = new BitmapImage();
bitmapImage.DecodePixelHeight = 430;
bitmapImage.DecodePixelWidth = 640;
bitmapImage.SetSource(stream);  

Gregor Biswanger ist Microsoft MVP für Client App Dev und arbeitet als Solution Architect und XAML-Experte in der Firma impuls Informationsmanagement GmbH in Nürnberg. Seine Schwerpunkte sind die .NET-Architektur, Silverlight und agile Prozesse. Er veröffentlichte vor Kurzem seine DVD mit Videotrainings zum Thema „WPF 4 und Silverlight 4“ bei Addison-Wesley von video2brain. Biswanger ist auch freier Autor, Speaker und Microsoft CLIPler der INdotNET (Ingolstädter .NET Developers Group). Sie erreichen seinen Blog unter www.dotnet-blog.net.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -