微信小程序 - 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>

相关文章
|
2月前
|
人工智能 自然语言处理
使用企业微信或公众号自动回复图片消息
AppFlow支持企业微信和公众号接收图片消息,并提供两种回复方式。方式一:直接回复图片消息,用户发送图片后立即收到回复,但无法继续追问。方式二:先保存图片,待用户发送文字后再一并处理并回复。配置步骤包括选择模板、配置鉴权信息、设置执行动作参数及发布连接流。详细操作可参考相关文档。
使用企业微信或公众号自动回复图片消息
|
8月前
|
小程序 开发者
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
117 0
|
5月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
1870 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
6月前
|
小程序 容器
微信小程序常用组件的简单使用 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
|
5月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
93 0
|
7月前
|
小程序 前端开发
|
7月前
|
移动开发 JavaScript 开发工具
微信浏览器内 h5 直接唤醒 app 之 微信开放标签 wx-open-launch-app
微信浏览器内 h5 直接唤醒 app 之 微信开放标签 wx-open-launch-app
|
8月前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
475 0
|
8月前
|
小程序 JavaScript 前端开发
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
234 0
|
21天前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。

热门文章

最新文章