Просто то, что написано на банке
Я загружаю растровое изображение из файла, используя Bitmap :: FromFile, но после этого хочу удалить его с диска.
Проблема в том, что Bitmap :: FromFile полностью блокирует файл от любых изменений / удалений, пока загруженное изображение не будет выгружено
Это потому, что я храню растровые изображения в двоичном файле, поэтому я хочу сделать это в следующем порядке:
1. извлечь изображение из двоичного файла
2. загрузить изображение
3. удалите файл, извлеченный в # 1
(просто некоторая базовая защита для моих ресурсов изображений, я просто не хочу, чтобы они находились в моем каталоге программ)
Bitmap :: FromFile по-прежнему блокирует файл от удаления даже при клонировании загруженного изображения из файла, как в моей попытке:
Bitmap* tempbmp = Bitmap::FromFile(fileanddir.c_str(),false);
Rect temprect( 0, 0, tempbmp->GetWidth(), tempbmp->GetHeight() );
// make the image to be used as a clone to the temporary
// bitmap to avoid file locking
image_to_be_used = tempbmp->Clone(temprect, PixelFormatDontCare);
// delete temporary loaded bitmap since it shouldn't be needed
delete tempbmp;
// delete the file itself, too bad the file is locked
int theresult = remove(tocharptr(fileanddir));
// returns -1, also: manually deleting at this point gives the error
// that the file is being used by another person/program
Есть идеи, как я могу загрузить растровое изображение или как-то скопировать его в память, чтобы сам файл не был заблокирован?
(Так что я могу удалить его через мгновение после загрузки)