【发布时间】:2019-04-10 04:35:44
【问题描述】:
我在我的 RichTextBox 中拖放了一个沉重的图像 (95729 kb)。但是内存使用是那么令人费解: 为什么它存储了超过 700 mb?
我的拖放代码:
private void RtbEditor_PreviewDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
if (files != null && files.Length > 0)
{
foreach (var file in files)
{
// Filter out non-image files.
if (IsValidImageFile(file))
{
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(file, UriKind.Absolute);
bitmap.EndInit();
Image image = new Image();
image.Source = bitmap;
var container = new InlineUIContainer(image, rtbEditor.CaretPosition);
rtbEditor.CaretPosition = container.ElementEnd;
}
}
}
}
}
为了检查图片,我只取了图片标题:Check only header我做错了什么?
【问题讨论】: