我遇到以下问题:
我正在尝试保存应用程序的内容。内容通过用户在画布上绘制。 示例:
用户可能会点击按钮来绘制椭圆等
单击按钮后,图形将显示在画布上。
我想在画布上保存用户绘制的内容。任何人都可以给我一个提示。 如果我使用序列化和反序列化是否好?
使用visual studio 2012,Windows 8 app
在C#中编写代码答案 0 :(得分:2)
有几种方法可以解决这个问题:
保存用户的每个操作 - 就像撤消/重做堆栈一样。非常灵活但文件可以变得非常大。在这种情况下,您将序列化一堆命令。要加载命令,必须重播。
保存绘图的逻辑结构 - 就像Html或SVG一样。没有撤消/重做支持,但较小的文件。在这种情况下,您将序列化文档模型。
在操作后保存每个结果位图 - 比1.和2.更容易实现,但更难支持元素编辑。没有.NET对象的序列化只是很多位图。
每种方法都有其优点和缺点。