Base64 png到Canvas

时间:2012-05-10 13:14:53

标签: javascript html5

我喜欢在画布上绘制图像。 到目前为止我所做的是我已经将Canvas中的imagedata插入到数据库中。 问题在于,当我尝试创建数据的图像并在Canvas上将其绘制回来时,它不会绘制相同的图像,只有一些像素可能会被绘制,而其余像素只是空白,就像没有任何东西应该在那里绘制。

我正在获取这样的图像数据:

var CanvasData = document.getElementById('canvas'); 
CanvasData = CanvasData.toDataURL("image/png");

将图像重新绘制在Canvas上(数据存储在数据库中):

var result = xmlhttp.responseText;
var CanvasDraw = document.getElementById('canvas'); 
var ctxChange = CanvasDraw.getContext('2d');        

imagedata = new Image();
imagedata.src = result;
imagedata.onload = function(){
    ctxChange.drawImage(imagedata, 0, 0);
}

以下是一个指向imagedata示例的pastebin链接:http://pastebin.com/XGmV49k9 结果是从AJAX调用返回的数据,与数据库中存储的数据相同。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

这行中似乎有错误:

imagedata.src = result;

应该是:

imagedata.src = CanvasData;