Повторное использование растровой переменной для Image.Save, GDI + Error - PullRequest
1 голос
/ 02 ноября 2010

У меня есть серия растровых изображений, которые мне нужно сохранить с помощью .NET (C #), но я сталкиваюсь с общей ошибкой GDI +.

Я пытаюсь использовать ту же переменную, которая может быть моей проблемой.

Например:

Bitmap pic = MethodThatReturnsBitmap();
pic.Save(MyPath);

pic = AnotherMethodThatReturnsBitmap();
pic.Save(AnotherPath);

Нужно ли вводить уникальные переменные и / или располагаться между каждым .Save()?

1 Ответ

3 голосов
/ 02 ноября 2010

GDI + действительно привередлив в управлении ресурсами. Я обнаружил, что в случае сомнений всегда всегда .Dispose(), когда вы завершили набор операций с растровым изображением. Итак, простой ответ: да, я думаю, что вам нужно Dispose (). Я бы пошел еще дальше и поместил обе битовые карты в using заявления.

using(Bitmap pic = MethodThatReturnsBitmap())
{
    pic.Save(Path);
}
using(Bitmap pic = AnotherMethodThatReturnsBitmap())
{
    pic.Save(AnotherPath);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...