1
我很努力在画布上绘制图像。 我到目前为止所做的是我已经从Canvas中插入图像数据到数据库中。 问题是,当我尝试创建数据的图像并稍后在画布上绘制它时,它不会绘制相同的图像,只有一些像素可能会被绘制,而其余的只是空白,就像没有绘制任何图像。Base64 PNG到画布
我得到的图像数据是这样的:
var CanvasData = document.getElementById('canvas');
CanvasData = CanvasData.toDataURL("image/png");
而绘制的图像,回到这样的画布(将数据存储在数据库中):
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作为imagedata的示例:http://pastebin.com/XGmV49k9 结果是从AJAX调用返回的数据,与数据库中存储的数据相同。
感谢您的任何帮助。
感谢您的答复。对不起,忘了添加那部分代码。结果是存储在数据库中的实际字符串,它是从AJAX调用接收的。因此,这是图像数据。 – Araw
似乎在base64图像中出现错误。尝试将其粘贴到浏览器地址栏中。它失败。但是,如果你尝试从http://en.wikipedia.org/wiki/Data_URI_scheme插入数据,它会显示图像 – antyrat
是的,当我使用你发布的网址上的数据时,它工作,在左上角画一个红点是对的)。当我在我的代码中使用它时,没有看到toDataURL出了什么问题:S – Araw