在我使用Bitmap
或Image
时,我无法弄清楚为什么我应该保持流打开。
我尝试关闭流并使用我的Image几种方式,一切都很好。
问题是,如果在初始化Image
对象后继续关闭流,我可以在什么情况下获得异常?
答案 0 :(得分:5)
Image
类在创建时不会通过Image.FromFile
或Image.FromStream
读取整个图像,而是只读取足以响应基本查询(如大小和像素格式)的内容。
只有当您尝试以任何方式访问像素时(通常通过在屏幕上绘制图像),它才会读取图像数据。
这种懒惰的本质意味着它需要在以后的生命中需要访问底层流(或文件)。