【发布时间】:2014-04-09 07:53:43
【问题描述】:
我有两个画布,我想把canvas1的内容传过来,序列化到一个ArrayBuffer中,然后加载到canvas2中。以后我会把canvas1的内容发送到服务器,处理后返回给canvas2,但是现在只想序列化和反序列化。
我发现了这种以字节为单位获取画布信息的方法:
var img1 = context.getImageData(0, 0, 400, 320);
var binary = new Uint8Array(img1.data.length);
for (var i = 0; i < img1.data.length; i++) {
binary[i] = img1.data[i];
}
还发现了这种将信息设置为Image对象的方式:
var blob = new Blob( [binary], { type: "image/png" } );
var urlCreator = window.URL || window.webkitURL;
var imageUrl = urlCreator.createObjectURL( blob );
var img = new Image();
img.src = imageUrl;
但不幸的是,它似乎不起作用。
这样做的正确方法是什么?
【问题讨论】:
标签: javascript html serialization html5-canvas arraybuffer