Я хочу загрузить растровое изображение из файла, выполнить над ним некоторые операции и сохранить его под тем же именем файла. Шаблон таков:
Bitmap in = gcnew Bitmap(fileName);
Bitmap out = gcnew Bitmap(in.Width, in.Height, in.PixelFormat);
fill [out] with data from [in]
out.Save(fileName);
но это не работает. Это очевидно. Я не могу сохранить в файл, который все еще открыт (из-за растрового изображения). Вопрос в том, как, черт возьми, закрыть растровое изображение?! Я пробовал много способов, но ничего не работает. Вызов Dispose работал в C#, но этот метод защищен в C++. Вызов удаления также не работает. Какое решение?
РЕДАКТИРОВАТЬ: работа с одним растровым изображением тоже не работает. Но я нашел проблему. Вызов удаления сработал. Я забыл объявить свои растровые изображения указателями
Bitmap^ in = gcnew Bitmap(fileName);
Bitmap^ out = gcnew Bitmap(in.Width, in.Height, in.PixelFormat);
fill [out] with data from [in]
delete in;
out.Save(fileName);