jQuery有没有获取图片实际尺寸的方法
5个回答
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就是原图的原始宽高,但是这个数据是在用户提交表单时由后台程序分析图片的数据流得出的。
<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就是原图的原始宽高,但是这个数据是在用户提交表单时由后台程序分析图片的数据流得出的。
展开全部
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');
}
});
});
$(".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有提供新的接口可以获取大小,我没用过。。。
一般图片处理后端完成的比较多,可以让后端处理后把原图大小返回,比较偷懒的方法。
一般图片处理后端完成的比较多,可以让后端处理后把原图大小返回,比较偷懒的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$(imgId).width
转成dom对象后直接点出来
转成dom对象后直接点出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-09-15
展开全部
可以很明确的说,js无法得知没有标示的img标签的原图的图片大小。即使是onload完后得到的也只是图片的显示大小而已,所以你在保存图片的时候就需要把原图的大小写到img标签上,比如知乎的原图规则:其中data-rawwidth和data-rawheigth就是原图的原始宽高,但是这个数据是在用户提交表单时由后台程序分析图片的数据流得出的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询