c#来自文件关闭连接的图像

Ron*_*ona 4 c# filelock

我在pictureBox中使用c#显示图像.然后我想改变图像的名称.我不能,因为我得到了另一个进程正在使用的图像.

我这样打开图像

 Image image1 = Image.FromFile("IMAGE LOCATION"); ;
        pictureBox1.Image = image1; 
Run Code Online (Sandbox Code Playgroud)

然后尝试以这种方式更改它的名称,我得到一个IO异常,说"进程无法访问该文件,因为它正被另一个进程使用.

System.IO.File.Copy(@"OldName", @"NewName"); //copy changes name if paths are in the same folder
Run Code Online (Sandbox Code Playgroud)

对象image1不是持有图像吗?为什么文件仍然被前一个进程锁定?任何建议,将不胜感激.非常感谢!

Ern*_*rno 10

看看这个问题:新的Bitmap(filePath)锁定了免费文件

要释放锁,您需要复制这些位:

Image img;
using (var bmpTemp = new Bitmap("image_file_path"))
{
     img = new Bitmap(bmpTemp);
}
Run Code Online (Sandbox Code Playgroud)