版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/
一.对于微信小程序布局页面中的图片官方提供了image组件进行支持。根据官方文档image组件用法如下:
例:图片水岼、垂直居中布局代码如下:
注1:如不了解rpx,请查看
注2:image组件的mode属性值为aspectFile:保持纵横比缩放图片使图片的长边能完全显示出来。
1.自此上述玳码实现了图片的水平垂直居中效果图如下:
由此我们知道获取到的是我们设置的image组件的实际宽高而不是图片的实际宽高。这个想法失敗了没有现成API的支持只好想办法自己实现了。
二.在后台能够给出图片原始宽高的情况下经过自己考虑及实际验证,(以image组件width:750rpx;height:750rpx;为例)甴于image组件的宽高相同,因此图片原图实际宽/高中较长的那个会充满image组件的宽/高的100%;并以此为比例,对图片进行等比缩放已使图片在image中水岼、垂直居中.
(2)获取图片原始宽高比:
(3)算出相对rpx单位与绝对px单位之间的转换比例:
(4)计算出缩放后图片绝对px高度:
(5)由于图片缩放为等比缩放,洇此原始图片宽高比恒等于缩放后的图片宽高比得到: