2012-02-09 3 views
0

В приложении Android phonegap я разбил холст с помощью html и отобразил изображение в этом canvas.then usingcanvas.toDataURL (image/jpg) попытался преобразовать образ в строку base64, но он возвращает значение null. Как решить эту проблему? мотыга для преобразования изображения в base64string?canvas.todataurl reurn null value?

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 не implememented в андроид 2.x см http://code.google.com/p/android/issues/detail?id=7901 для обсуждения.

+0

то как скрывать изображение в base64string в телефоне Android? пожалуйста, помогите мне.thanks заранее – Mercy

+0

попробуйте и получите http://code.google.com/p/todataurl-png-js/ работу? – gmh04

+0

спасибо за ваш ответ. Я получил, что js.It работает отлично. Спасибо большое. – Mercy

0

Как указано в @ gmh04, toDataURL нарушен для Canvas в Android 2.x. Раньше был CanvasPlugin, но разработчик больше не поддерживает его или, по крайней мере, так оно и кажется. Помимо этого я бы посмотрел на использование FileReader.readAsDataUrl, чтобы прочитать изображение как данные base64.