我正在使用sketch.js http://intridea.github.io/sketch.js/,以便用戶可以在我的應用程序中創建圖形。一旦他們完成了繪圖,並單擊保存,我轉換使用此功能的拉絲成png圖片:如何將畫布圖形的保存圖像恢復到新的畫布實例?
convertCanvasToImage = (canvas) ->
image = new Image()
image.src = canvas.toDataURL("image/png")
image
然後,我只是追加圖像到DOM。
但是如果用戶想要後來編輯圖紙呢?我如何拍攝該圖像並將其添加到sketch.js使用的畫布中?
我嘗試了以下失敗的結果。當你點擊PNG圖像時,我運行這段代碼試圖將圖像附加到畫布上,但它似乎根本不起作用。畫布處於模式,一旦出現,我運行以下代碼將圖像追加到畫布上,但不顯示圖像。
template.$('#sketchModal').on 'shown.bs.modal', (e) ->
c = document.getElementById("sketchPad")
ctx = c.getContext("2d")
ctx.drawImage(e.target, 0, 0)
只是將圖像重新繪製回畫布上將不起作用,因爲sketch.js需要知道創建圖像的所有繪圖命令和樣式設置。我快速瀏覽了GitHub上的源代碼,但我沒有看到任何保存/恢復SketchJS繪圖的方法。 :-( – markE 2014-08-31 04:12:59
啊我知道我還沒有找到解決方案/破解 – nearpoint 2014-08-31 17:21:27
對不起,似乎沒有辦法。因爲SketchJS必須重新加載繪圖命令和樣式,我看到的唯一方法是這樣做是爲了保存所有的命令和樣式,然後在你想恢復的時候把它全部加載回去 – markE 2014-08-31 17:36:18