永发信息网

关于JS获取图图片长宽的问题,在Chrome下总是为0

答案:5  悬赏:70  手机版
解决时间 2021-01-09 21:11
  • 提问者网友:niaiwoma
  • 2021-01-09 13:55
关于JS获取图图片长宽的问题,在Chrome下总是为0
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-01-09 15:13
chrome opera 的确都是显示0。。。。你只有把代码放在window.onload 回调函数里 浏览器彻底加载完毕dom树 js文件 图片。。这时候变量就可以显示出来 。。临时嵌入在document里的script 图片长宽变量死活都是0。 。。。。因为工程上基本上大家的代码都在$(fn) 里 。。所以不会遇到你这情况。。
全部回答
  • 1楼网友:廢物販賣機
  • 2021-01-09 18:33
用这个完美解决 image.onload = function(){
  • 2楼网友:低音帝王
  • 2021-01-09 17:20
同问啊,刚好也是用html5来画,结果chrome里显示宽高都是0追问这个问题我至今无解,- =
  • 3楼网友:西岸风
  • 2021-01-09 17:07
楼主,我照着你的思路在两个浏览器里测试了下,如果src指向的图片不存在,那么ie的表现是一个小红叉,这个小红叉会有28x30的像素,而Chrome则会直接显示0,这个是两个浏览器的处理方式有差异;图片存在的时候两个浏览器的结果是一致的,都能够正确地显示出图片的长宽的。不知道楼主能否确认自己的图片路径是否准确呢追问是的,是正确的,因为我正在研究HTML5的Canvas,在Canvas里已经画出来了。追答你的意思是同样的代码,在ie中有值,在Chrome中没值吗?追问不是,用FIREFOX和CHROME都获取不了追答你能把你Canvas那段代码贴出来看看吗,有点好奇你是怎么把Canvas的画出来的值给img标签的追问var Canvas = document.getElementbyId("Canvas");
var Context = Canvas.getContext("2d");
Context.drawImage(img,x,y);
这样就行了,但必须你的浏览器要支持html5追答我是ie9,支持的追问不行啊不行=。=追答我的测试代码在ie中图片可以在Canvas里面画出来,但是Chrome图片都出不来,所以打印的是0:0(PS:代码完全一致,IE正常,Chrome没显示)追问但是我的图片出来了啊...出来了以后宽高还是0追答这是我的代码,IE下正常:
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var img = new Image();
img.src = "Blackout.jpg";
console.log(img.width + ":" + img.height);
cxt.drawImage(img, 0, 0);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯