获取Canvas渲染base64图像的问题

时间:2014-02-26 15:34:20

标签: javascript html5 image canvas base64

我不是javascript专家(我是JAVA / ATG开发人员),并且遇到以下问题:

我正在尝试获取先前编码的base64图像的值以在画布上呈现。

base 64映像的值来自Java Bean。

我的代码如下:

var imageObj = new Image();
imageObj.src =  dataURIStringSyntax.value + imgData.value;
imageObj.onload = function(){
    context.drawImage(imageObj, 0, 0);
}

...其中dataURIStringSyntax是'data:image / jpg; base64',图像的一部分,而imgData是base64代码。这些是使用var dataURIStringSyntax = document.getElementById("dataURIStringSyntaxString");设置的var imgData = document.getElementById("dataURL");

这会导致在画布上呈现黑色块,而不是实际图像。

但是,如果我执行以下操作:

imageObj.src = "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4RD0...

正如我所料,图像在画布上呈现。

我能做错什么?我可以通过添加相关值来补充imgObj.src以上的方式会破坏某些东西吗?

非常感谢任何帮助。

更新:事实证明图像的原始编码已损坏,因此修复后,它现在正在运行。 感谢那些提出建议的人。 :)

1 个答案:

答案 0 :(得分:0)

尝试将onload函数放在.src之上。生成时图像可能已经加载,因此onload在设置之前被调用。