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

举例说明吧varimg=newImage();img.src="xxx.png"console.log(img.width+":"+img.height);输出->0:0... 举例说明吧
var img = new Image();
img.src = "xxx.png"
console.log(img.width + ":" + img.height);

输出- > 0:0

也尝试过判断img.complete是否为true了,但是还是不行。

用img.onload = function() {
console.log(img.width + ":" + img.height);
};

仍然为0,求教高手回答
已经确认路径正常,图片为本地图片,已经在HTML5的CANVAS里画出来了。
展开
 我来答
liubinny
2011-06-20 · TA获得超过777个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:131万
展开全部
假如在页面有一个img标签: <img src="hyzq.jpg" id="test_img" />

编写代码:

var img = document.getElementById("test_img");
alert(img.offsetWidth+","+img.offsetHeight);

打印出来就是 图片的 宽度 和高度。 你可以试一下,Chrome绝对可以。
更多追问追答
追问
仍然不行,offsetWidth和offsetHeight仍然为0
还有,这个问题是怎么回事?
追答
var img = new Image();
img.src = "szx_dl.jpg";
alert(img.width + ":" + img.height);

我的Chrome测试正常,我的Chrome版本 12.0.742.100
ultraslaughter
推荐于2017-11-24 · TA获得超过378个赞
知道答主
回答量:9
采纳率:0%
帮助的人:4.1万
展开全部
chrome opera 的确都是显示0。。。。你只有把代码放在window.onload 回调函数里 浏览器彻底加载完毕dom树 js文件 图片。。这时候变量就可以显示出来 。。临时嵌入在document里的script 图片长宽变量死活都是0。 。。。。因为工程上基本上大家的代码都在$(fn) 里 。。所以不会遇到你这情况。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
easense
2011-06-20 · TA获得超过112个赞
知道答主
回答量:21
采纳率:0%
帮助的人:38万
展开全部
楼主,我照着你的思路在两个浏览器里测试了下,如果src指向的图片不存在,那么ie的表现是一个小红叉,这个小红叉会有28x30的像素,而Chrome则会直接显示0,这个是两个浏览器的处理方式有差异;图片存在的时候两个浏览器的结果是一致的,都能够正确地显示出图片的长宽的。不知道楼主能否确认自己的图片路径是否准确呢
更多追问追答
追问
是的,是正确的,因为我正在研究HTML5的Canvas,在Canvas里已经画出来了。
追答
你的意思是同样的代码,在ie中有值,在Chrome中没值吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MY天狼星
2011-06-20 · TA获得超过966个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:315万
展开全部
我这可以啊,不是chrome浏览器的问题吧
var img = new Image();
img.src = "http://www.baidu.com/search/zhidao/task/uc/small_53.jpg";
alert(img.width);
alert(img.height);
通过测试。
如果你最上面代码是粘过来的,可能是第二行img.src后面少了一个分号
更多追问追答
追问
用的是本地的图片,获得的就为0
在线的是没有问题的
追答
恩,不过不单是chrome,IE和FF的虽然有结果,不是0,但是也是错的,貌似不可以这样直接在JS里指定本地文件路径。
你可以在页面加个隐藏的img标签,通过更改img的src属性然后再对这个img进行width和length的查询,但是估计满足不了你的要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丿丶東仔灬
2013-03-12
知道答主
回答量:1
采纳率:0%
帮助的人:1524
展开全部
同问啊,刚好也是用html5来画,结果chrome里显示宽高都是0
追问
这个问题我至今无解,- =
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式