【发布时间】:2014-10-24 13:14:05
【问题描述】:
我正在使用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 绘图的方法。 :-(
-
是的,我知道我还没有找到解决方案/破解方法
-
抱歉,好像没有办法。由于 SketchJS 必须重新加载绘图命令和样式,我认为这样做的唯一方法是保存所有命令和样式,然后在您想要恢复时将其全部加载。
标签: javascript html canvas html5-canvas