2012-02-09 38 views
0

在android phonegap應用程序中,我使用html製作canvas並在該canvas中顯示圖像。然後usingcanvas.toDataURL(image/jpg)試圖將圖像轉換爲base64字符串,但它返回null值。 如何解決這個問題? 鋤頭將圖像轉換成base64string?canvas.todataurl reurn null值?

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> 

回答

2

toDataURL沒有在安卓2.X implememented,看到http://code.google.com/p/android/issues/detail?id=7901討論。

+0

那麼如何將圖像轉換爲android phonegap中的base64string?請幫助我。提前感謝 – Mercy 2012-02-09 13:14:24

+0

嘗試並獲取http://code.google.com/p/todataurl-png-js/的工作? – gmh04 2012-02-09 13:37:11

+0

感謝您的回覆我得到了那個js.It很正常,非常感謝您。 – Mercy 2012-02-10 04:13:43

0

正如@ gmh04所提到的,toDataURL在Android 2.x中的Canvas中被破壞。曾經有一個CanvasPlugin,但開發人員不再支持它,或者至少看起來就是這樣。除此之外,我會看看使用FileReader.readAsDataUrl將圖像作爲base64數據讀取。