如何使画布可滚动以容纳多页扫描的PDF?

4

我是HTML5的初学者。

我使用Canvas进行绘图,并希望获得以下功能:


  1. 允许画布可扩展,以便如果图像设置为扫描pdf,可以显示所有图像(pdf页面)。

  2. 我想通过画布实现(撤消和重做)功能。


1
这是关于HTML8的请求。可能需要两个画布,一个隐藏的保持先前状态并进行撤消操作,另一个扩展大小并将旧的画布与旧尺寸复制到其中。换句话说,我认为这种功能不存在-您需要创建它。 - Aristos
1
撤销和重做是可能的,尽管我不太确定如何实现。请查看deviantArt Muro - Passerby
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();

但是如果您也更改了画布的大小,我猜您可以使用另一个数组来存储/恢复大小变化。


笔误:应该是'myImg'而不是'oImg'。 - samsamara

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接