Canvas DrawImage在IOS Safari上不起作用

use*_*267 3 javascript safari html5 canvas ios

我有一个带有id的画布,叫做餐巾纸.当我调用以下函数时,它应该将图像和餐巾画布绘制到内存中的另一个画布上.它适用于每个浏览器,但IOS Safari.该操作似乎没有超过画布的IOS内存上限.我通过调用k().toDataURL()来测试它.有任何想法吗?

function k() {
    var canvas = document.createElement('canvas');
    var napkin = document.getElementById("napkin");
    var img = new Image();
    img.src = picurl;
    var ctx = canvas.getContext("2d");
    var imgdata = new Image();
    imgdata.src = napkin.toDataURL();
    canvas.width = img.width;
    canvas.height = img.height;
    ctx.drawImage(img, 0, 0);
    ctx.globalAlpha = 0.5;
    ctx.drawImage(imgdata, 0, 0);
    return canvas;
}
Run Code Online (Sandbox Code Playgroud)

Mul*_*oon 7

您需要等待图像数据加载才能使用它...

var img = new Image();
img.onload = function(){
    // do stuff here with img
};
img.src = picurl;
// not here
Run Code Online (Sandbox Code Playgroud)