的完整代码,也可以在这里找到:https://gist.github.com/1973726(部分版本上的jsfiddle http://jsfiddle.net/VaEAJ/显然不能让PHP与运行的jsfiddle)由JavaScript Canvas API生成的图像在保存时不可见?
我最初写了一些代码,花了canvas元素,并将其保存为图像(见工作代码在这里:https://gist.github.com/1973283),然后我更新它,以便它可以处理多个画布元素,但现在的主要区别是图像数据通过jQuery ajax方法传递到我的PHP脚本,而不是通过隐藏的表单字段。
问题是图像显示为空白。它们在生成时大约为200kb,因此它们显然有一些内容,但是当您预览图像时什么也没有显示,当我尝试在Adobe Fireworks或其他照片应用程序中打开图像时,我无法打开文件。
图像数据似乎是通过服务器罚款,但我真的不知道为什么现在当我写图像使用base64_decode
这将意味着生成的图像将不再是可见的?我唯一能想到的是,也许通过ajax发布的数据并不是通过发送所有数据,因此它会生成一个图像,但它不是完整的内容,因此图像不完整(因此为什么照片应用程序可以'打开它)。
当检查Firebug中的发布数据时,它表明已达到限制?不知道这是什么问题?
能否请您提供使用jQuery AJAX在你的代码更新的例子吗? – 2012-03-04 17:30:38
1)我很惊讶它可以在所有因为交叉来源问题2)你似乎没有编码数据的URI,尝试'encodeURIComponent(newCanvas.toDataURL())'在将数据传递给jQuery的ajax方法。 – James 2012-03-04 18:30:38