在C#中,能够用文件流的方法加载图片并释放资源:
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { tmpImage = Image.FromStream(fs); this.pbShow.Image = tmpImage; }
但是,有些文件,比如Gif图片无法用这个方法加载,所以类似的图片加载使用下面的方式进行释放资源:
using (Image image = Image.FromFile(filePath)) //用此方法释放加载的文件资源,否则多次加载占的内存还在 { gifImage = image.Clone() as Image; //复制图像赋值 this.pbShow.Image = gifImage; }
也能够两者结合,以下效果:
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { using (Image image = Image.FromStream(fs)) { tmpImage = image.Clone() as Image; this.pbShow.Image = tmpImage; } }
当然,前面需要对gifImag进行释放资源。
![]() |
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |




浙公网安备 33010602011771号