4

我是 HTML5 的初学者。

我用画布在上面画画,我想获得以下能力:


  1. 允许画布可扩展,因此如果图像设置为scanned pdfs,我可以显示所有图像(pdf 页面)。

  2. 我想要通过 canvas 的 (Undo & Redo) 功能。

4

1 回答 1

2

我之前通过使用 toDataUrl 方法将画布状态存储到 undo_array 来完成此操作:

var undo_array = [];

所以在你做任何改变之前:

undo_array.push(myCanvas.toDataURL("image/png"));

现在,当按下撤消按钮时,只需恢复上一张图片:

var myImg = new Image();
oImg.onload = function() {
  var ctx = document.getElementById("canvasID").getContext("2d");       
  ctx.drawImage(myImg, 0, 0);
}
myImg.src = undo_array.pop();

但如果您还更改了画布的抓取,我想您可以使用另一个数组来存储/恢复抓取更改。

于 2012-12-25T11:51:33.997 回答