在android phonegap应用程序中,我使用html创建了画布并在该画布中显示图像。然后使用scan.toDataURL(image / jpg)尝试将图像转换为base64字符串,但它返回null值。 如何解决这个问题呢? hoe将图像转换为base64string?
Mycoding:
<html>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
<script type="text/javascript">
// window.onload = fucntion() {
var c=document.getElementById('myCanvas');
var cxt=c.getContext("2d");
var img=new Image();
img.onload = function() {
cxt.drawImage(img,0,0);
alert(" ");
var dataURL=myCanvas.toDataURL("image/jpg");
// return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
alert(dataURL);
};
img.src='flower.jpg';
//};
</script>
</body>
</html>
答案 0 :(得分:2)
toDataURL未在android 2.x中实现,请参阅http://code.google.com/p/android/issues/detail?id=7901进行讨论。
答案 1 :(得分:0)
正如@ gmh04提到的,Android 2.x中的tovas破坏了toDataURL。曾经有一个CanvasPlugin,但开发人员不再支持它,或者至少它是这样的。除此之外,我将使用FileReader.readAsDataUrl将图像读取为base64数据。