How can I release the handle on this file?
img is of type System.Windows.Controls.Image
private void Load()
{
ImageSource imageSrc = new BitmapIm
Found the answer on MSDN Forum.
Bitmap stream is not closed unless caching option is set as BitmapCacheOption.OnLoad. So you need something like this:
public static ImageSource BitmapFromUri(Uri source) { var bitmap = new BitmapImage(); bitmap.BeginInit(); bitmap.UriSource = source; bitmap.CacheOption = BitmapCacheOption.OnLoad; bitmap.EndInit(); return bitmap; }
And when you get an ImageSource using the method above, source file will be immediately closed.
see MSDN social forum
I kept running into issues with this on a particularly troubling image. The accepted answer did not work for me.
Instead, I used a stream to populate the bitmap:
using (FileStream fs = new FileStream(path, FileMode.Open))
{
bitmap.BeginInit();
bitmap.StreamSource = fs;
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.EndInit();
}
This caused the file handle to be released.