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

微信小程序的组件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给每一个图片设置宽高了。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python微信图片数据(image dat)是指在使用Python编程语言时,处理微信中的图片数据。微信是一款很流行的社交媒体应用程序,用户可以通过微信发送、接收和分享各种类型的信息,包括文字、图片、视频等。当用户发送图片给其他用户时,这些图片数据需要经过处理和传输。 在Python中,我们可以使用一些库和模块来处理微信中的图片数据。例如,我们可以使用Python的PIL(Python Imaging Library)库来读取、修改和保存图片。该库提供了一些函数和方法,可以打开图片文件、对图片进行编辑和转换,并将修改后的图片保存在文件系统中。 此外,我们还可以使用Python的requests库来从微信服务器下载图片。微信服务器存储了用户发送的图片数据,我们可以通过发送HTTP请求来获取这些图片数据。使用requests库发送HTTP请求,并通过读取响应内容获取图片数据,然后将数据保存在本地文件中。 在处理微信图片数据时,还可以使用一些其他库来完成一些特定的任务。例如,使用NumPy库可以对图片进行数值计算和处理;使用OpenCV库可以进行图像处理和计算机视觉相关的任务;使用matplotlib库可以绘制和显示图片等。 综上所述,Python微信图片数据处理涉及到使用Python的PIL、requests等库来读取、修改、下载和保存微信中的图片数据。可以根据具体需求选择合适的库和方法来处理和操作微信图片数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值