【发布时间】:2016-06-18 16:18:40
【问题描述】:
我在这方面找不到任何东西,需要一些帮助。我已经将一堆图像作为 BitmapImage 类型加载到内存中,这样我就可以删除它们存储的临时目录。我已经成功完成了这部分。现在我需要将图像保存到不同的临时位置,但我不知道如何执行此操作图像包含在:
Dictionary<string, BitmapImage>
字符串是文件名。如何将此集合保存到新的临时位置?感谢您的帮助!
【问题讨论】:
-
您不只是移动文件有什么原因吗?如果服务器或您的程序在您将它们写回磁盘之前崩溃,则数据将丢失。如果您只是使用 IO 来移动文件,则(实际上)没有数据丢失的风险。
-
是的,我有一种不同的方法来处理我打算实施的恢复。当用户为我的应用程序加载一个项目文件(一个 zip 文件)时,它会将其全部提取到一个临时目录,将文件加载到内存中,然后清理该临时目录。然后,该程序将定期将项目自动保存在备份文件中。当用户想要保存他们的项目时,我想将内存中的所有这些资源卸载到临时目录中,将其压缩为项目文件,将其保存到用户位置,然后删除临时目录。我只需要弄清楚如何从内存中保存。
-
您是仅将图像加载到内存中,还是在 UI 中也显示它们?如果您不显示它们,则无需创建 BitmapImages,您可以简单地将二进制文件内容存储为字节数组。无论如何,将 BitmapImage 保存到文件是由 BitmapEncoder 完成的,例如一个 PngBitmapEncoder。
-
我会研究一下。是的,我在 UI 中显示图像。
标签: c# wpf save bitmapimage