Javascript Base64 png到画布
我正在努力在画布上画一幅图像。 到目前为止,我所做的是将画布上的imagedata插入到数据库中。 问题是,当我尝试创建数据的图像并在画布上绘制它时,它不会绘制相同的图像,只有一些像素可能会被绘制,而其他像素只是空白,就像没有任何东西应该在那里绘制一样 我得到的图像数据如下:Javascript Base64 png到画布,javascript,html,Javascript,Html,我正在努力在画布上画一幅图像。 到目前为止,我所做的是将画布上的imagedata插入到数据库中。 问题是,当我尝试创建数据的图像并在画布上绘制它时,它不会绘制相同的图像,只有一些像素可能会被绘制,而其他像素只是空白,就像没有任何东西应该在那里绘制一样 我得到的图像数据如下: var CanvasData = document.getElementById('canvas'); CanvasData = CanvasData.toDataURL("image/png"); 然后像这样在画布上
var CanvasData = document.getElementById('canvas');
CanvasData = CanvasData.toDataURL("image/png");
然后像这样在画布上绘制图像(数据存储在数据库中):
以下是指向pastebin的链接,以获取imagedata示例:
结果是从AJAX调用返回的数据,与存储在数据库中的数据相同
谢谢您的帮助。这一行似乎有错误:
imagedata.src = result;
应该是:
imagedata.src = CanvasData;
谢谢你的回复。抱歉,忘记添加代码的那部分。结果是存储在数据库中的实际字符串,它是从AJAX调用接收的。因此,这是图像数据。似乎base64图像中的错误。尝试将其粘贴到浏览器地址栏中。它失败了。但是如果你试着从中插入数据,它会显示图像是的,当我使用你发布的url上的数据时,它起作用了,在左角(右角)画一个红点。当我在代码中使用toDataURL时,看不出它有什么问题,然后:STry在将toDataURL值添加到数据库之前,将其粘贴到浏览器地址栏中。也许这就是文本存储在DB中的限制?例如,base64太长,被服务器截断,我认为您是对的。当我从数据库中存储或加载数据时出现问题,我将对此进行深入研究。谢谢您的帮助:)
imagedata.src = CanvasData;