将画布中的图像保存到本地存储

时间:2013-12-16 03:57:18

标签: javascript html5 html5-canvas local-storage

我正试图将我画布上的画圈保存到本地存储中,但我根本无法让它工作。

到目前为止,这是我在JS中的保存代码。

function saveCanvas() {
var canvas = document.getElementById("imgCanvas"),
    doomslayer = canvas.toDataURL();

 if (typeof (localStorage) !== "undefined") {

    localStorage.setItem('imgCanvas', doomslayer);
 } else {
    document.getElementById("save").innerHTML.dataURL = "Local Storage not supported";
   }
}

function loadCanvas() {

var image = localStorage.getItem('imgCanvas');

document.getElementById('imgCanvas').src = image;
}

JSFiddle link

终于有了它的工作! Working fiddle :)

1 个答案:

答案 0 :(得分:3)

您必须将保存的数据网址加载到图像中,然后使用drawImage将其加载到画布上

IE限制:localStorage仅在提供的页面上可用(本地执行不起作用!)。

// save to localStorage

localStorage.setItem("imgCanvas",canvas.toDataURL());

// reload from localStorage

var img=new Image();
img.onload=function(){
    context.drawImage(img,0,0);
}
img.src=localStorage.getItem("imgCanvas");