开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1966|回复: 0
收起左侧

[技术分享] uni-app和JavaScript获取图片信息的总结

[复制链接]
发表于 2021-10-29 15:48:47 | 显示全部楼层 |阅读模式   广东省揭阳市

uni-app获取图片信息

获取图片信息这一功能,如果是常规的网页布局其实并非太过重要,直接渲染即可。
可倘若需要完成类似瀑布流的图片信息布局,那么在渲染前或许图片信息,以便完成高度的计算就很重要了。
先从uni-app获取图片信息开始。

function getImgInfo(imgUrl){
    uni.getImageInfo({ 
      src: imgUrl, 
      success: function (image) { 
        console.log(image.width); 
        console.log(image.height); 
      } 
    });
}

这里获取的是图片原始尺寸,如果用在瀑布布局中,需要根据容器尺寸等比进行换算。

JavaScript获取图片尺寸

uni-app的方法毕竟是基于uni-app的,使用的用户可能相对会少点,大多数时候用的多的还是JavaScript原生,或者是Vue,react框架开发。
这时就要考虑在原生JavaScript下如何去获取图片信息了。
这里就要用到一个JavaScript的接口new Image()图片对象了。

var imgLoad = function (url, callback, context) {
  var img = new Image();

  img.src = url + `?timeStamp=${+new Date()}`;
  if (img.complete) {
    callback.call(context, img.width, img.height);
  } else {
    img.onload = function () {
      callback.call(context, img.width, img.height);
      img.onload = null;
    };
  };
};

这里可以看到,在图片地址出手动加了一个时间戳参数,这是考虑到可能一张图片多次获取或读取缓存,添加时间戳保证获取的图片是新的, 如果获取的图片不需要考虑这种情况,可以不使用。

以上就是两种获取图片的信息的简单介绍了,实际开发中还可以根据需求优化处理。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表