System.Drawing.Image.FromFile не закрывает файловый поток - PullRequest
4 голосов
/ 27 сентября 2010

Если я создаю изображение с помощью этого метода, а затем пытаюсь удалить / изменить файл изображения, я получаю сообщение об ошибке, поскольку файл все еще использует файл.

Как я могу удалить или удалить этот поток, чтобы я мог работать с файлом?

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

FromStream имеет точно такой же набор проблем - поток должен оставаться открытым, пока существует объект Image.Вы должны скопировать изображение, а затем работать над копией.http://support.microsoft.com/kb/814675

2 голосов
/ 27 сентября 2010

Не используйте этот метод.Вместо этого используйте FromStream и сделайте следующее:

    Using FileStream = New IO.FileStream("D:\Test.jpg", IO.FileMode.Open)
        Dim x = System.Drawing.Image.FromStream(FileStream)

        'Do your image manipulation...'
    End Using

    IO.File.Delete("D:\Test.jpg")
...