2012-12-25 38 views
4

我初學者到HTML5。如何使畫布可滾動以包含多頁掃描PDF?

我用Canvas借鑑了它,我想獲得以下能力:


  1. 允許畫布是可擴展的,所以如果在拍攝時設置的scanned pdfs,我可以顯示所有圖像(pdf頁)。

  2. 我想通過在畫布上的(撤消&重做)功能。

+1

這是對HTML8 :)請求。可能需要兩個畫布,一個隱藏,保留以前的狀態並進行撤消,並用於展開,以新的尺寸製作一個新的畫布,並將其複製到舊尺寸的舊畫布。換句話說,我不認爲這個功能存在 - 你需要創建它。 – Aristos

+1

撤消和重做是可能的,雖然我不太清楚如何實現它。退房[deviantArt穆羅](http://muro.deviantart.com/)。 – Passerby

回答

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(); 

但如果你也改變我們抓住畫布,我想你可以使用另一個陣列來存儲/恢復搶佔變化。

+0

錯字:'myImg'而不是'oImg'。 – KillBill