canvas.todataurl 返回空值?

发布于 2025-01-04 17:13:32 字数 985 浏览 1 评论 0原文

在android PhoneGap应用程序中,我使用html创建画布并在该画布中显示图像。然后使用canvas.toDataURL(image/jpg)尝试将图像转换为base64字符串,但它返回空值。 如何解决这个问题呢? 锄头将图像转换为base64字符串?

我的编码:

<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>

In android phonegap application I crated canvas using html and display image in that canvas.then usingcanvas.toDataURL(image/jpg) tried to convert image into base64 string but it return null value.
How to solve this problem?
hoe to convert image into 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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡忘如思 2025-01-11 17:13:32

toDataURL 未在 android 2.x 中实现,请参阅 http://code。 google.com/p/android/issues/detail?id=7901 进行讨论。

toDataURL is not implememented in android 2.x, see http://code.google.com/p/android/issues/detail?id=7901 for discussion.

青衫负雪 2025-01-11 17:13:32

正如 @gmh04 提到的,toDataURL 在 Android 2.x 中对于 Canvas 来说是错误的。曾经有一个 CanvasPlugin 但开发人员不再支持它,或者至少是这样看起来是这样。除此之外,我会考虑使用 FileReader.readAsDataUrl 将图像读取为 Base64 数据。

As @gmh04 mentioned the toDataURL is broken for Canvas in Android 2.x. There used to be a CanvasPlugin but the developer is no longer supporting it or at least that's the way it seems. Other than that I'd look at using the FileReader.readAsDataUrl to read the image as base64 data.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文