我需要把一段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中生效?
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中生效?
img.onload = function(){
var w = this.width,
h = this.height;
alert("图片尺寸:"+w+"*"+h)
};
img.src = base64_img;
if (img.complete)
img.onload();
img.complete 的结果是false
刚才回复img.complete结果是false的记错了。返回是true,但是 img.onload();是个错误的方法。我用