C# BitmapImage释放资源
发布网友
发布时间:2022-05-06 07:38
我来回答
共3个回答
热心网友
时间:2022-06-29 01:00
你好!
根据你提到的信息,下面是几行代码,加上了说明,希望对你有帮助。
this.pictureBox1.Image = Image.FromFile("temp.bmp"); // 将图片载入到控件
File.Delete("temp.bmp"); // error,因为此时该图片资源正在被当前进程使用
Image image = this.pictureBox1.Image; // 获取图片资源的引用
this.pictureBox1.Image = null;
image.Dispose(); // 释放该图片资源
File.Delete("temp.bmp"); // ok,因为此时该图片资源已经被释放
补充:
原理类似,都是调用image对象的Dispose()方法,析构图片资源。这里用PictureBox控件只是举例。
热心网友
时间:2022-06-29 01:01
这个也可以:
using (FileStream stream = File.Open(strFileName, FileMode.Open))
{
Bitmap bitmap = new Bitmap(Image.FromStream(stream));
pictureBox1.Image = bitmap;
}
热心网友
时间:2022-06-29 01:01
我也是用完图片准备删除时提示被占用,然后用了楼主的方法,果然有效,哈哈,多谢啦