Я работаю над WPF-приложением с несколькими холстами и множеством кнопок. Пользовательские загрузки загружают изображения, чтобы изменить фон кнопки.WPF BitmapImage Memory Problem
Это код, где я загрузить изображение в объекте BitmapImage
bmp = new BitmapImage();
bmp.BeginInit();
bmp.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.UriSource = new Uri(relativeUri, UriKind.Relative);
bmp.EndInit();
и EndInit (память) приложения растет очень много.
Одна вещь, которая делает думает, что лучше (но на самом деле не решить эту проблему) добавляет
bmp.DecodePixelWidth = 1024;
1024 - мой максимальный размер холста. Но я должен делать это только для изображений с шириной больше 1024 - так как я могу получить ширину перед EndInit()?
Ничего себе, это действительно впечатляет, какая разница для меня - не только в использовании памяти, но и в производительности. Спасибо за просто простой и понятный ответ - для браузера файлов галереи фотографий это только решило ряд проблем, которые у меня были! – tpartee