我正在使用glfx.js编辑我的图片,但是当我尝试使用toDataURL()
函数获取该图像的数据时,我得到了一个空白图像(与原始图像大小相同)。
奇怪的是,在Chrome中脚本运行完美。
需要提及的是,该图片是在使用onload
事件加载到canvas
中的:
img.onload = function(){
try {
canvas = fx.canvas();
} catch (e) {
alert(e);
return;
}
// convert the image to a texture
texture = canvas.texture(img);
// draw and update canvas
canvas.draw(texture).update();
// replace the image with the canvas
img.parentNode.insertBefore(canvas, img);
img.parentNode.removeChild(img);
}
同时,我的图片路径在同一个域名下;
问题(在Firefox中)是当我点击保存按钮时。Chrome返回预期结果,但Firefox会返回以下内容:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7YAAAIWCAYAAABjkRHCAAAHxklEQVR4nO3BMQEAAADCoPVPbQZ/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
... [ lots of A s ] ...
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAzwD6aAABkwvPRgAAAABJRU5ErkJggg==
这个结果的原因是什么,我该如何解决?
getDataURL()
返回"data:,"
。在错误地将画布大小设置为0后,我遇到了这个问题。 - Patrick