Javascript画布序列化/反序列化?

前端之家收集整理的这篇文章主要介绍了Javascript画布序列化/反序列化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你可以在 javascript中序列化/反序列化画布对象吗?

解决方法

除了get ImageData方法之外,您还可以使用canvas.toDataURL()获取数据URL编码的PNG.如果您需要序列化到一个字符串,它将保存不必将原始数据手动转换为字符串.您可以通过创建图像并将src设置为数据URL,然后将其绘制到画布来反序列化.

[编辑为异步加载(由…提出).]

function serialize(canvas) {
    return canvas.toDataURL();
}

function deserialize(data,canvas) {
    var img = new Image();
    img.onload = function() {
        canvas.width = img.width;
        canvas.height = img.height;
        canvas.getContext("2d").drawImage(img,0);
    };

    img.src = data;
}

如果我记得正确,一些旧版本的Safari,也许Opera不支持toDataURL,但是更新版本.

原文链接:https://www.f2er.com/js/152291.html

猜你在找的JavaScript相关文章