我正在为在 Canvas 上绘制图像而苦苦挣扎。 到目前为止,我所做的是将 Canvas 中的图像数据插入到数据库中。 问题是,当我尝试创建数据图像并稍后将其绘制回 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);
}
这是图像数据示例的 pastebin 链接:http://pastebin.com/XGmV49k9 结果是从 AJAX 调用返回的数据,与数据库中存储的数据相同。
感谢您的帮助。
最佳答案
似乎是这一行的错误:
imagedata.src = result;
应该是:
imagedata.src = CanvasData;
关于javascript - Base64 png 到 Canvas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534780/