我能做些什么来帮助管理 WPF 用于渲染巨大图像(可能高达 10,000 x 10,000 的任何图像)的绝对内存量?
我需要保持质量,因为缩放是关键,但加载图像控件似乎需要 50 - 700MB 的内存使用量:S
目前我没有做任何特别聪明的加载图像的事情:
BitmapImage imageSource = new BitmapImage();
imageSource.BeginInit();
imageSource.UriSource = new Uri(imageUrl, UriKind.Absolute);
imageSource.CacheOption = BitmapCacheOption.OnLoad;
imageSource.EndInit();
image.Source = imageSource;
最佳答案
您可以使用 BitmapImage.DecodePixelHeight
或 BitmapImage.DecodePixelWidth
以针对对话框大小优化的较低质量呈现图像。在 XAML 中,它看起来像这样:
<Image>
<Image.Source>
<BitmapImage UriSource="http://server/image.jpg" DecodePixelWidth="400" />
</Image.Source>
</Image>
关于WPF 和超大图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949639/