先加载一个图片到bitmap对象中
Bitmap b = new Bitmap(imagePath);然后将该对象显示在画面上,修改过后重新调用Image.save(imagePath)将该图片保存。
但是因为之前已存在文件,所以报错。
于是保存之前,我先判断imagePath该文件是否存在,存在则调用File.Delete(imagePath)删除文件。
但是又提示imagePath文件没有被释放,删除异常。
请问一下,怎么释放imagePath这个文件?
尝试过 b = null  但是不行。

解决方案 »

  1.   

    File.Delete(imagePath,true)强制删除试试
      

  2.   

                 OpenFileDialog openFileDialog1 = new OpenFileDialog();
                 if (openFileDialog1.ShowDialog() == DialogResult.OK)
                 {
                     FileStream ms = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read, FileShare.Read, 20480, false);
                     byte[] picbyte = new byte[ms.Length];                 ms.Seek(0, SeekOrigin.Begin);
                     ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
                     ms.Close();                 MemoryStream ms1 = new MemoryStream(picbyte, true);
                     this.pictureBox1.Image = MaSaiKe(Image.FromStream(ms1), 10);
                   
     
                     Bitmap btm = new Bitmap(ms1);
                     if (File.Exists(openFileDialog1.FileName))
                     {
                         File.Delete(openFileDialog1.FileName);
                         btm.Save(openFileDialog1.FileName);
                     }
                     ms1.Close();
                 }
    没问题啊 
      

  3.   

    你所说的没有释放是不是因为你调用了FILE。DELETE函数后造成FILE对象没有释放,而不是BITMAP没有释放!
      

  4.   

    Bitmap b = new Bitmap(imagePath);
    这条语句放在删除文件之后。