2012-02-09 19 views
0

アンドロイドphonegapアプリケーションではキャンバスをhtmlで表示し、そのキャンバスに画像を表示します。その後、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

+0

http://code.google.com/p/todataurl-png-js/を試してみてください。 – gmh04

+0

あなたの返事に感謝します。私はそのjを持っています。それはうまく動作します。 – Mercy

0

前述の@ gmh04と同様に、Android 2.xのCanvasではtoDataURLが壊れています。かつてはCanvasPluginでしたが、開発者はこれ以上サポートしていないか、少なくともそれが見えるようになっています。それ以外の場合は、FileReader.readAsDataUrlを使用して、画像をbase64データとして読み取ることにします。