Я работаю над приложением WPF с несколькими холстами и множеством кнопок.Пользователь Cand загружает изображения для изменения фона кнопки.
Это код, в который я загружаю изображение в объект 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 ()?