我需要把一段base64的图片地址生成一张图片然后用canvas画出来。但是转图片的这步卡住了,在安卓或者网页浏览器中没有问题,但在IOS中失效。我试过由js直接new Image()创建:
var img = new Image();
img.onload = function(){
var w = this.width,
h = this.height;
alert("图片尺寸:"+w+"*"+h)
};
img.src = base64_img;
或者先在页面上定义一个<img>标签,然后赋值:
<img id="test" style="display:none;" src="">
var img = $("#test")[0];
img.onload = function(){
var w = this.width,
h = this.height;
alert("图片尺寸:"+w+"*"+h)
};
img.src = base64_img;
但是都不能生效,在ios中onload事件根本不会触发,就算直接用$(img).trigger('load');或者$(window).trigger('load');触发也无法获取图片的尺寸,也无法直接用drawImage(image, x, y)画在画布中。请问该怎么解决呢?怎么让image的onload在ios中生效?
我也遇到这样的情况了,因为onload失效所以我使用了setTimeout延迟了1000ms来做的