javascript – 从localStorage保存和加载画布数据

前端之家收集整理的这篇文章主要介绍了javascript – 从localStorage保存和加载画布数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要保存画布中的所有图纸,以便以后能够返回.

我成功获取和放置数据,但我无法保存对象并正确返回.

这是我的代码

var imgData = a.getImageData(0,500,200);
localStorage.setItem("test",JSON.stringify(imgData))
console.log(imgData)
console.log(JSON.parse(localStorage.getItem("test")))
b.putImageData(imgData,0);
最佳答案
您可以使用canvas.toDataURL()方法,该方法将画布编码为Base64.

然后,您可以使用源作为数据URL创建图像,然后将该图像绘制到画布.

Here is the working sample.

var canvas = document.getElementById('tutorial');
var ctx = canvas.getContext('2d');

var ctx = canvas.getContext("2d");

ctx.fillStyle = "rgb(200,0)";
ctx.fillRect (10,10,55,50);

var url = canvas.toDataURL();

localStorage.setItem('url',url);

var canvas2 = document.getElementById('tutorial2');
var ctx2 = canvas2.getContext("2d");
var toDrawUrl = localStorage.getItem('url');

drawDataURIOnCanvas(toDrawUrl,ctx2);
ctx2.fillStyle = "rgb(200,200,0)";
ctx2.fillRect (20,20,50);


function drawDataURIOnCanvas(strDataURI,context) {
    "use strict";
    var img = new window.Image();
    img.addEventListener("load",function () {
        context.drawImage(img,0);
    });
    img.setAttribute("src",strDataURI);
}
原文链接:https://www.f2er.com/jquery/427753.html

猜你在找的jQuery相关文章