微信小程序 - image 宽高自适应(图片无法自适应撑开标签)

简介: 微信小程序 - image 宽高自适应(图片无法自适应撑开标签)
  • 微信小程序中的 image 标签跟 html 中的 img 标签还是有些差别的。
  • image 标签有 srcmode 等属性基本够用
  • 但是今天在用的时候发现设置 src 之后,image 在小程序中是默认有宽高的,也就是固定的,去掉宽高之后,也不会像 html 中的 img 标签一样图片内容会撑开标签,这里就需要自己来根据图片的大小进行手动自适应图片宽高了。
  • 使用 bindload 绑定函数动态自适应,我们可以获取到原图的宽度和高度,计算他们的宽高比率,然后设置一个宽度大小(rpx),最后通过 style 动态设置 image 的宽高。
  • 代码如下:
  • .wxml
<image src="./temp.png" style="{{imgStyle}}" bindload="imageLoadSuccess"></image>
  • .js
// 设备像素比可以放到 app 中作为全局属性使用
const app = getApp()
Page({
  data: {
    // 默认图片没有宽高(你可以默认有宽高)
    imgStyle: 'width: 0rpx; height: 0rpx;'
    // 设备像素比,如果不知道获取像素比的可以看看上面那篇文章
    pixelRatio: 2
  },
  // 图片加载完成回调
  imageLoadSuccess (e) {
    // 获取图片信息
    const imgDetail = e.detail
    // 手动设置图片样式宽高
    this.setData({
      // 图片原始宽高度 * pixelRatio
      imgStyle: `width: ${imgDetail.width * this.data.pixelRatio}rpx; height: ${imgDetail.height * this.data.pixelRatio}rpx;`
    })
  }
})
  • 效果比较
  • 上面动态设置宽高之后效果:

  • 原始效果:
<image src="./temp.png"></image

  • 上面动态设置宽高之后效果,同样还可以配合 mode 进行使用
  • 下面这个图宽高都是有最大范围,当超过最大范围值需要显示图片中间部分,默认是填充撑满的,就需要 imagemode 配合:
<image style="{{imgStyle}}" mode="aspectFill" bindload="imageLoadSuccess" src="./temp.png"></image>

相关文章
|
5月前
|
小程序
小程序消除图片下边距的三个方法
小程序消除图片下边距的三个方法
138 69
|
7月前
|
小程序 开发者
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
103 0
|
4月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
1707 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
5月前
|
小程序 容器
微信小程序常用组件的简单使用 view,scroll-view,swiper,swiper-item,text,rich-text,button,image
本文介绍了微信小程序中常用组件的使用方法,包括view、scroll-view、swiper与swiper-item、text与rich-text、button以及image组件。详细解释了各组件的功能、属性以及如何在小程序页面中进行使用。
微信小程序常用组件的简单使用 view,scroll-view,swiper,swiper-item,text,rich-text,button,image
|
6月前
|
小程序 前端开发
|
6月前
|
运维 小程序 前端开发
小程序开发问题之在小程序中调用my.chooseImage接口让用户选择图片如何解决
小程序开发问题之在小程序中调用my.chooseImage接口让用户选择图片如何解决
|
7月前
|
小程序 前端开发
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
468 3
|
7月前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
451 0
|
7月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
74 0
|
7月前
|
小程序 JavaScript 前端开发
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
216 0

热门文章

最新文章