我们想在我们的应用程序中加载BMP图像。 请提出如何以较少的内存使用和良好的性能将BMP图像文件加载到Image控件的ImageSource中的方法?
我们使用下面的代码,我们能够加载图像,但是加载更多内存(即使使用DecodePixelHeight / Width)也需要花费大量时间
var image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
image.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
image.UriSource = new Uri(FullName); //FullName is image name with path
image.DecodePixelHeight = 150;
image.EndInit();
image.Freeze();
ImageSource = image;
我们需要加载一个大小为1GB的bmp文件的文件夹(每个文件大小为5-10 MB)。截至目前,初始加载需要6分钟。但其他图片,例如1GB数据的JPG和PNG文件,则在30秒内加载