我找不到任何关于这个问题的信息,需要一些帮助。我已经将一堆图像加载到内存中作为BitmapImage类型,以便可以删除它们存储的临时目录。我已经成功完成了这部分内容。现在我需要将这些图像保存到另一个临时位置,但我无法弄清楚如何做到这一点。这些图像包含在一个中:
Dictionary<string, BitmapImage>
这个字符串是文件名。我该如何将此集合保存到新的临时位置?感谢任何帮助!
我找不到任何关于这个问题的信息,需要一些帮助。我已经将一堆图像加载到内存中作为BitmapImage类型,以便可以删除它们存储的临时目录。我已经成功完成了这部分内容。现在我需要将这些图像保存到另一个临时位置,但我无法弄清楚如何做到这一点。这些图像包含在一个中:
Dictionary<string, BitmapImage>
这个字符串是文件名。我该如何将此集合保存到新的临时位置?感谢任何帮助!
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对象的实例中调用它。