相关疑难解决方法(0)

toDataURL不适用于Android浏览器

我有一个用户在画布上绘制的图像,我想将该图像保存在服务器上.

这些行在我的ipad上运行良好,但在我的android(ver 2.3.3)浏览器上运行不正常:

var testCanvas = document.getElementById("sketchpad");  
var canvasData = testCanvas.toDataURL("image/png");
Run Code Online (Sandbox Code Playgroud)

如果我提醒canvasData我只得到:

数据:,

我错过了什么吗?有可能在Android上做或我应该看其他方法,插件等?

html5 android canvas

6
推荐指数
1
解决办法
6352
查看次数

Canvas.toDataURL无法在移动Safari iOS上运行?

我尝试了以下内容.我<img>从一个svg图像创建了一个.然后我在画布上绘制它,最后我将其导出为PNG并将生成的PNG设置为新的<img>.它适用于Android,Chrome,Safari,FireFox.但是,canvas.toDataUrl()不适用于iOS上的移动Safari.它仅在您不在画布上使用SVG图像时才起作用.

这是我用于测试的代码:

<div id="mydiv"></div>
<img id="image2">
Run Code Online (Sandbox Code Playgroud)
var mydiv  = document.getElementById('mydiv'),
    image2 = document.getElementById('image2');

image2.crossOrigin="anonymous";

var image3 = new Image();
mydiv.appendChild(image3);
image3.onload = function() {
  var canvas = document.createElement('canvas'),
  ctx = canvas.getContext('2d');

  canvas.width = image3.width;
  canvas.height = image3.height;

  ctx.drawImage(image3,0,0, canvas.width, canvas.height);
  var dataUrl = canvas.toDataURL('image/png');
  image2.src = dataUrl;
}
image3.crossOrigin="anonymous";
image3.src = "https://dl.dropboxusercontent.com/u/47067729/sticker4.svg";
Run Code Online (Sandbox Code Playgroud)

我在这里创建了一个JSFiddle:http://jsfiddle.net/confile/ZqJYG/

只有在iOS上运行时才会出现此问题.它不能在移动版Safari上运行,也不能在移动Chrome上运行.

这个问题有解决方法吗?

html javascript html5 canvas ios

6
推荐指数
2
解决办法
7871
查看次数

标签 统计

canvas ×2

html5 ×2

android ×1

html ×1

ios ×1

javascript ×1