管理

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

Posted on 2026-04-04 17:55  lzhdim  阅读(10055)  评论(0)    收藏  举报

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

Copyright © 2000-2022 Lzhdim Technology Software All Rights Reserved