微信小程序的组件image是用来显示图片的,它有一下几个属性:

1、src              图片资源地址
2、mode          图片裁剪、缩放的模式
3、binderror     当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: ‘something wrong’}
4、bindload     当图片载入完毕时,发布到 AppService 的事件名,事件对象event.detail = {height:’图片高度px’, width:’图片宽度px’}

但是image有默认的固定的宽度和高度,这样我们在做图片自适应的时候,就不好做了,特别是我们在做一些商品详情页的时候,需要image自适应屏幕,按原图比例显示。那么如何让image自适应比例显示呢?可以有两种方法:

一、使用mode:widthFix(推荐)
widthFix:宽度不变,高度自动变化,保持原图宽高比不变。
首先我们先设置image的mode为widthFix,然后给图片加一个固定rpx的宽度,比如:730rpx。
这样图片也可以自适应了。。因为小程序的rpx本身就是一个自适应显示的单位

二、使用bindload绑定函数动态自适应。
我们可以给image绑定一个函数,这个函数,如上面的bindload说明一样,我们可以获取到原图的宽度和高度。
然后计算他们的宽高比率。。然后设置一个宽度大小(rpx),最后通过style动态设置image的宽高。代码如下:

html代码:

<image src="{{ item }}" bindload="imageLoad" data-index="{{ index }}"
style="width:{{ images[index].width }}rpx; height:{{ images[index].height }}rpx;"></image>

js代码:

Page({data: {images:{}},imageLoad: function(e) {var $width=e.detail.width,    //获取图片真实宽度$height=e.detail.height,ratio=$width/$height;    //图片的真实宽高比例var viewWidth=718,           //设置图片显示宽度,左右留有16rpx边距viewHeight=718/ratio;    //计算的高度值var image=this.data.images; //将图片的datadata-index作为image对象的key,然后存储图片的宽高值image[e.target.dataset.index]={width:viewWidth,height:viewHeight}this.setData({images:image})}
})

最后,我们就可以可以通过images[index].width 和 images[index].height给每一个图片设置宽高了。

微信小程序——image图片自适应宽度比例显示的方法相关推荐

  1. 微信小程序image图片自适应宽度比例显示的方法

    一.了解image组件 由于image有默认的固定的宽度和高度,这样我们在做图片自适应的时候,就不好做了.下面就来一起解决下 二.方法 (一).使用mode:widthFix widthFix:宽度不 ...

  2. 微信小程序项目图片如何保存到本地的方法

    先来看小程序中的保存图片到相册的api wx.saveImageToPhotosAlbum({filePath : "./test.png", //这个只是测试路径,没有效果suc ...

  3. 微信小程序本地图片在开发工具显示手机预览不显示

    微信小程序在设置背景图片时,使用本地路径,手机预览无法显示. 首先检查图片的路径,是否有中文,都没有问题的时候,看插入背景图片格式采用background-image: 即: <view cla ...

  4. 微信小程序本地图片安卓手机不显示而苹果手机显示问题

    关于微信小程序不显示图片 通病可能有以下几个可能性: 非本地图片:确定图片资源存在,copy 图片url再浏览器打开,确定图片资源存在且能正常访问 本地图片:确定相对路径或者绝对路径正确 微信小程序图 ...

  5. 微信小程序中图片占满整个屏幕实现方法

    将body和html设置为100%,这样我们就可以在他们的子元素中使用height:100%来使的我们的容器元素占满屏幕的高度啦. 但是在微信小程序中,是没有dom对象的,根节点是page,使用pag ...

  6. 微信小程序之 image图片自适应宽度比例显示

    一.使用mode: widthFix widthFix: 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 首先我们先设置image的mode为widthFix,然后给图片加一个固定rpx的宽度, ...

  7. 微信小程序 Image 图片实现宽度100%,高度自适应

    做法如下: 样式设置宽度100%, 1 2 3 4 5 .img{   width :  100% ;   } 添加属性 mode="widthFix", 1 < image ...

  8. mpvue 微信小程序 Image 图片实现宽度100%,高度自适应

    主要是设置mode="widthFix"和width: 100%; <!-- 新手教程 --> <template><div class=" ...

  9. 微信小程序——image图片自适应

    当前4张图片高为184,宽不一致,设置mode为heightFix widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 heightFix 缩放模式,高度不变,宽度自动变化,保持原 ...

最新文章

  1. 操作系统学习:基础轮廓梳理
  2. ubuntu16.04在英文状态下安装中文语言包的过程(法一:图形界面的方式) 以及 安装中文语言包后无法选择汉语问题的解决
  3. 【收藏】IDEA jetbrains.com官网进不去解决办法
  4. centos7 centos-home 磁盘空间转移至centos-root下(磁盘空间不足,磁盘不足)
  5. 建站利器 | 阿里巴巴上线静态开源站点搭建工具 Docsite
  6. java压缩传输gzip_服务器使用Gzip压缩数据,加快网络传输(Java 例子)
  7. html5代码自动生成,vs code中设置html5 快速生成模板
  8. 为什么可积不一定可导_本命年为什么要穿红?你一定不知道!
  9. 61.Linux/Unix 系统编程手册(下) -- SOCKET: 高级主题
  10. python的图导入origin_利用Origin软件做X射线倒易空间图(RSM)的办法
  11. 苹果手机屏幕镜像怎么连接电视_创维电视怎么连接手机?图解创维电视连接手机步骤...
  12. 升级Spring Boot 2.x后RelaxedPropertyResolver不可用的解决方案
  13. 深度学习(17)—— 度量学习
  14. NVMe和NGFF区别
  15. 刀头剑首!产品经理是个危险的职业!
  16. 微信推送平台-测试号定制推送
  17. 操作系统 - 处理机调度仿真
  18. 黑马程序员----字典、NSDictionary
  19. JavaWeb篇之一——使用原生JDBC对数据库进行操作
  20. win8.1安装vs2015专业版 KB2919335

热门文章

  1. 测试分类-软件开发阶段的各个测试
  2. 使用联邦学习解决推荐系统中的隐私泄露问题
  3. Unix环境高级编程-第四章
  4. openstack的endpoint
  5. throw语句以及throw “error“ 和 throw new Error(“error“)的区别
  6. HP 5820打印机无法驱动,总有一个惊叹号,是系统文件不正常所致
  7. Name Mangling
  8. android Camera 设置焦距
  9. 最简单的SVN英文版变中文版的方法
  10. 关于python,如何更优雅地用%占位符