微信小程序中的图片处理


微信小程序中的 <image></image>用于向页面中插入图片。有两个重要的属性


1、 src  要插入图片的资源地址


2、 mode    图片裁剪、缩放的模式




下面仔细说一下mode属性


当我们不知道获取到图片的宽高或者需要对图片进行一些处理时,这个属性十分有用!


mode属性为大家提供了4 种是缩放模式,9 种是裁剪模式。


缩放模式:


(1)scaleToFill  不保持纵横比缩放。也就是图片会填满你所设置的<image>组件的宽高。


(2)aspectFit  保持纵横比缩放,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来


(3)aspectFill  保持纵横比缩放,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。这时小程序是采用截取图片中间部分的形式。


一张图片 宽175px (长边)高150px(短边)


如果image组件设置的宽高为  宽200px 高200px,为了让图片的短边全部显示出来,图片的短边会放大到200px,还要保持纵横比,长边也会按照一定的比例放大。但是长边多余的部分会被截取。


可以看到对于长边的截取方式是中间的那一部分,掐头去尾。




(4)widthFix   宽度不变,高度自动变化,保持原图宽高比不变



裁剪模式

裁剪模式比较简单。下面是官方文档的解释

bottom

不缩放图片,只显示图片的底部区域

center

不缩放图片,只显示图片的中间区域

left

不缩放图片,只显示图片的左边区域

right

不缩放图片,只显示图片的右边区域

top left

不缩放图片,只显示图片的左上边区域

top right

不缩放图片,只显示图片的右上边区域

bottom left

不缩放图片,只显示图片的左下边区域

bottom right

不缩放图片,只显示图片的右下边区域

还有需要注意的之前我们说过的裁剪和缩放都是在指定了<image>组件宽高的情况。小程序中默认<image>的

宽度300px、高度225px

但是当我们进行裁剪和缩放时会发现,小程序中给出的默认宽度却是320px

还有就是缩放和裁剪不会同时作用到一张图片上