C#如何释放已经加载的图片
来源:互联网 发布:金风科技二期淘宝地址 编辑:程序博客网 时间:2024/05/29 17:14
C#如何释放已经加载的图片
使用Image.FromFile取磁盘上的图片时,这个方法会锁定图片文件,而且会导致内存占用增大, 有几种方法解决:
一:将Image类转换成Bitmap类
System.Drawing.Image img = System.Drawing.Image.FromFile(filepath);
System.Drawing.Image bmp = new System.Drawing.Bitmap(img);
img.Dispose();
然后使用 bmp作为PictureBox的图片源
二:从流中读取
FileStream fileStream = new FileStream("文件名", FileMode.Open, FileAccess.Read);
pictureBox1.Image = Image.FromStream(fileStream);
fileStream.Close();
fileStream.Dispose();
原因:一个图像对象从一个文件构造时该文件仍保留锁定对象的生存期。所以关键是要使用 Graphics.DrawImage()方法或Drawing.Bitmap()方法来将映像复制到新位图Bitmap对象,然后Bitmap和Graphics就可以释放了。或者用使用FileStream的方式将文件读成流。
转载 from : http://www.cnblogs.com/netlyf/p/3781630.html
0 0
- C#如何释放已经加载的图片
- C#如何释放已经加载的图片
- c#释放已经加载的图片
- c#如何判断webbrowser已经加载完毕
- 加载大图及图片资源的释放
- SAP 已经释放的TR,如何改为可编辑状态,删除已释放的TR
- Glide 加载内存中已经加载的图片
- c#是如何释放资源的
- c#对于如何释放资源的解释
- CommonTableCollectView:图片懒加载,不使用的image大量释放
- Android实现图片的加载与释放(解决OOM问题)
- C# C1TrueDBGrid控件如何加载图片列
- Android 图片异步加载的体会,SoftReference已经不再适用
- Android 图片异步加载的体会,SoftReference已经不再适用
- android simpledraweeview 获取已经加载的图片bitmap
- 防止已经加载的图片在adapter更新时闪烁
- android如何释放图片缓存
- android如何释放图片缓存
- 略论并行处理系统的日志设计
- HDU-2055
- hdu-2053
- hdu-2052
- Day19 实现二次排序
- C#如何释放已经加载的图片
- 初识Kotlin新的安卓编程语言
- Day20 实现TopN 排序
- UIApplication详细介绍
- 笔试题
- 关于 VBA 部分
- WebBrowser 设置IE兼容性
- 使用Spinner实现下拉列表
- 错误收集