jQuery有没有获取图片实际尺寸的方法

 我来答
育知同创教育
2016-12-03 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
可以很明确的说,js无法得知没有标示的img标签的原图的图片大小。即使是onload完后得到的也只是图片的显示大小而已,所以你在保存图片的时候就需要把原图的大小写到img标签上,比如知乎的原图规则:

<img src="http://pic3.zhimg.com/45e64ea2f624418ab0ce2aad95bf6762_xld.jpg" data-rawwidth="572" data-rawheight="225" class="origin_image inline-img zh-lightbox-thumb" data-original="http://pic3.zhimg.com/45e64ea2f624418ab0ce2aad95bf6762_r.jpg">

其中data-rawwidth和data-rawheigth就是原图的原始宽高,但是这个数据是在用户提交表单时由后台程序分析图片的数据流得出的。
草原上之狼
高粉答主

推荐于2017-09-15 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:3858万
展开全部
var _w = parseInt($(window).width());//获取浏览器的宽度
$(".new_mess_c img").each(function(i){
var img = $(this);
var realWidth;//真实的宽度
var realHeight;//真实的高度
//这里做下说明,$("<img/>")这里是创建一个临时的img标签,类似js创建一个new Image()对象!
$("<img/>").attr("src", $(img).attr("src")).load(function() {
/*
如果要获取图片的真实的宽度和高度有三点必须注意
1、需要创建一个image对象:如这里的$("<img/>")
2、指定图片的src路径
3、一定要在图片加载完成后执行如.load()函数里执行
*/
realWidth = this.width;
realHeight = this.height;
//如果真实的宽度大于浏览器的宽度就按照100%显示
if(realWidth>=_w){
$(img).css("width","100%").css("height","auto");
}
else{//如果小于浏览器的宽度按照原尺寸显示
$(img).css("width",realWidth+'px').css("height",realHeight+'px');
}
});
});
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-09-15
展开全部
jQuery貌似没有这样的api,只能获取到渲染后的实际大小。h5有提供新的接口可以获取大小,我没用过。。。
一般图片处理后端完成的比较多,可以让后端处理后把原图大小返回,比较偷懒的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ca97ae0
2017-09-14 · TA获得超过201个赞
知道小有建树答主
回答量:483
采纳率:51%
帮助的人:92.8万
展开全部
$(imgId).width
转成dom对象后直接点出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-09-15
展开全部
可以很明确的说,js无法得知没有标示的img标签的原图的图片大小。即使是onload完后得到的也只是图片的显示大小而已,所以你在保存图片的时候就需要把原图的大小写到img标签上,比如知乎的原图规则:其中data-rawwidth和data-rawheigth就是原图的原始宽高,但是这个数据是在用户提交表单时由后台程序分析图片的数据流得出的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式