为什么toDataURL不能在移动设备上获取画布内容? [英] Why toDataURL Does Not Get Canvas Content on Mobile?

查看:667
本文介绍了为什么toDataURL不能在移动设备上获取画布内容?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从画布中获取图片,它适用于pc浏览器,但不适用于移动设备(我在Safari的iPhone上测试过)...

I'm trying to get an image from a canvas, it worked on pc browsers, but not on mobile (I tested on an iPhone in Safari)...

这里是代码:

$('#draw').click(function() {            
    $('#drawing').css("visibility", "visible");         
    var drawing = document.getElementById("drawing");
    var con = drawing.getContext("2d");         
    var img = new Image();
    img.src = "http://www.deque.com/wbcntnt928/wp-content/dquploads/jquery_logo.png";
    img.onload = function() {                
        con.drawImage(img, 0, 0, 250, 250);
        //Generate Image
        var drawing = document.getElementById("drawing");
        var dataURL = drawing.toDataURL(); //Does nothing on mobile, not even an error
        document.getElementById("result").src = dataURL;
    };                  

});

任何提示为什么?

推荐答案

我有同样的问题。测试HTC Desire与Android 2.3,HTC One与Android 4.0和iPhone 7s ...我运行 toDataURL(),但只获取data :,作为输出。

I have the same issue. Tested on HTC Desire with Android 2.3, HTC One with Android 4.0 and iPhone 7s ... I run over the toDataURL() but only get "data:," as output.

根据这里它不支持Android,dunno关于iOS7,但似乎它不是。

According to here it's not supported by Android, dunno about iOS7 but it seems it isn't either.

Btw。是否有理由调用 var drawing = document.getElementById(drawing); 两次?

Btw. is there a reason for calling var drawing = document.getElementById("drawing"); twice?

这篇关于为什么toDataURL不能在移动设备上获取画布内容?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆