我找不到任何东西,需要一些帮助。我已经将一堆图像作为BitmapImage类型加载到内存中,这样我就可以删除它们存储的临时目录。我已经成功完成了这一部分。现在我需要将图像保存到不同的临时位置,我无法弄清楚如何执行此操作图像包含在:
Dictionary<string, BitmapImage>
字符串是文件名。如何将此集合保存到新的临时位置?谢谢你的帮助!
答案 0 :(得分:19)
您需要使用编码器来保存图像。 PngBitmapEncoder将处理大多数常见图像类型(PNG,BMP,TIFF等)。以下将拍摄图像并保存:
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);
}
我通常会将其写入扩展方法,因为它是图像处理/操作应用程序的常用功能,例如:
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);
}
}
这样你就可以从BitmapImage对象的实例中调用它。