Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

WPF: Bilder als Thumbnails laden
 
Wie kann man unter WPF ein  Bild als Preview Thumbnail laden?
 
Lösung:
Wenn man unter WPF Bilder lädt, dann muss man zunächst ein BitmapImage erstellen.
Diesem BitmapImage muss man die Eigenschaft: .DecodePixelWidth einstellen, damit beim Lesen Pixel übersprungen werden.
Je größer der Wert für .DecodePixelWidth ist, desto schärfer ist das Vorschaubild. Ein Wert von 100 bis 200 sollte sinnvoll sein.
 
Zudem sollte man die .CacheOption einschalten, was bedeutet, dass die Thumbnails zwischengespeichert werden.
 
C# Code für Thumbnails und Zwischenspeicher:

BitmapImage src = new BitmapImage();
..
//< thumbnail >
src.DecodePixelWidth = 200;
src.CacheOption = BitmapCacheOption.OnLoad;
//</ thumbnail >
..

 
Mit diesen Einstellungen werden die Ladezeiten von Bildern wesentlich beschleunigt.
 
 
Beipspiel zum Laden eines Bildes in WPF als schnelles Thumbnail

Image newImage = new Image();
 
//-< source >-
BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri(Image_with_Path, UriKind.Absolute);
//< thumbnail >
src.DecodePixelWidth = 200;
src.CacheOption = BitmapCacheOption.OnLoad;
//</ thumbnail >
 
src.EndInit();
newImage.Source = src;
//-</ source >-
 
newImage.Stretch = Stretch.Uniform;
newImage.Height = 100;
 
//< add >
panel_Images.Children.Add(newImage);
//</ add >

 
In Visual Studio, WPF

 
 
Und dann den geladenen Images bei 200 DecodePixelWidth

 
Betrifft: WPF, C#, Images, Bitmap, BitmapSource, Preview, Cache
Mobile
»
WPF: Bitmap verkleinern mit TransformedBitmap
»
WPF: ImageSource als Bild verkleinern
»
WPF: Vorschau Bilder von Videos erstellen
»
WPF Fehler: 2147024864 Der Prozess kann nicht auf die Datei zugreifen, da sie bereits von einem anderen Prozess verwendet wird.
»
WPF: Bilder als Thumbnails laden
»
WPF: Image zur Laufzeit erstellen

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de