C#中加载图片的资源释放

在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进行释放资源。

相关推荐
黑马程序员毕设2 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
_Twink1e3 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
公子小六3 小时前
基于.NET的Windows窗体编程之WinForms滑块与上下控件
windows·microsoft·c#·.net·winforms
问天_观心3 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github
阿里嘎多学长3 小时前
2026-09-03 GitHub 热点项目精选
开发语言·程序员·github·代码托管
曹牧4 小时前
C#:文本文件读取
服务器·前端·c#
源代码•宸4 小时前
前置准备:定时微服务背景和现状
开发语言·经验分享·后端·微服务·云原生·架构·golang
2601_967338714 小时前
C#上位机开发零基础入门到精通全套视频
开发语言·c#
小白学大数据5 小时前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
旧梦95275 小时前
Java SortedMap 接口详解:从入门到实战
java·开发语言