为什么我应该在使用Bitmap时保持流打开

时间:2012-04-05 19:40:53

标签: c# .net

在我使用BitmapImage时,我无法弄清楚为什么我应该保持流打开。

我尝试关闭流并使用我的Image几种方式,一切都很好。

问题是,如果在初始化Image对象后继续关闭流,我可以在什么情况下获得异常?

1 个答案:

答案 0 :(得分:5)

Image类在创建时不会通过Image.FromFileImage.FromStream读取整个图像,而是只读取足以响应基本查询(如大小和像素格式)的内容。

只有当您尝试以任何方式访问像素时(通常通过在屏幕上绘制图像),它才会读取图像数据。

这种懒惰的本质意味着它需要在以后的生命中需要访问底层流(或文件)。