我正在使用ASP.NET / Java创建一个白板应用程序。 HTML5画布是我目前用于开发白板功能的工具(绘图,文本,图像,形状......)。如何保存场景以便以后加载(并继续绘图)?我见过一个保存画布PNG图像的功能,它是保存画布数据的唯一方法吗?还是有另一种方法可以让我沿着它们的语义保存画布数据,例如我可以保存在画布上绘制的线条,形状,文本和图像吗?我有什么选择?
答案 0 :(得分:2)
画布是指定给它的指令的光栅化输出,存储纯粹的像素数据。如果您需要知道为实现这些目标所采取的步骤,您将需要在首先创建它的javascript中记录它们。否则,如果它相对简单,您可以将每个元素绘制到堆叠/屏幕外画布并单独导出。显然,根据您需要的数量,这可能会变得很昂贵。
像this这样的东西'撤消'画布操作,但实质上它只是存储一行数组并且每次都从头开始重绘它们。如果单击“撤消”,则会从数组中删除一行,否则会添加一行。要做你想做的事,你需要存储一个从完全黑色的画布中绘制的操作数组。