I can\'t find anything over this and need some help. I have loaded a bunch of images into memory as BitmapImage types, so that I can delete the temp directory that they were sto
You need to use an encoder to save the image. The PngBitmapEncoder will handle most of the common image types (PNG, BMP, TIFF, etc). The following will take the image and save it:
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(image));
using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
{
encoder.Save(fileStream);
}
I usually will write this into an extension method since it's a pretty common function for image processing/manipulating applications, such as:
public static void Save(this BitmapImage image, string filePath)
{
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(image));
using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
{
encoder.Save(fileStream);
}
}
This way you can just call it from the instances of the BitmapImage objects.