微信小程序 动态的设置图片的高度和宽度详解及实例代码
2017-02-24 09:34
1451 查看
微信小程序图片等比例缩放 动态的获取图片的高度和宽度 动态的设置图片的高度和宽度
前言:
在小程序布局中,如果图片不是固定高度和高度,但image设置的是固定的高度和宽度,这时候原始图片相对image设置的固定高度和宽度不是等比例大小,那么这张图片就会变形,变的不清晰。这时就可以使用下面的等比例缩放的方式缩放图片,让图片不变形。或者通过image的bindload方法动态的获取图片的高度和宽度,动态的设置图片的高度和宽度,是图片布局的高度和宽度和原始图片的高度和宽度相等。
1.图片等比例缩放工具
//Util.js class Util{ /*** * 按照显示图片的宽等比例缩放得到显示图片的高 * @params originalWidth 原始图片的宽 * @params originalHeight 原始图片的高 * @params imageWidth 显示图片的宽,如果不传就使用屏幕的宽 * 返回图片的宽高对象 ***/ static imageZoomHeightUtil(originalWidth,originalHeight,imageWidth){ let imageSize = {}; if(imageWidth){ imageSize.imageWidth = imageWidth; imageSize.imageHeight = (imageWidth * originalHeight) / originalWidth; }else{//如果没有传imageWidth,使用屏幕的宽 wx.getSystemInfo({ success: function (res) { imageWidth = res.windowWidth; imageSize.imageWidth = imageWidth; imageSize.imageHeight = (imageWidth * originalHeight) / originalWidth; } }); } return imageSize; } /*** * 按照显示图片的高等比例缩放得到显示图片的宽 * @params originalWidth 原始图片的宽 * @params originalHeight 原始图片的高 * @params imageHeight 显示图片的高,如果不传就使用屏幕的高 * 返回图片的宽高对象 ***/ static imageZoomWidthUtil(originalWidth,originalHeight,imageHeight){ let imageSize = {}; if(imageHeight){ imageSize.imageWidth = (imageHeight *originalWidth) / originalHeight; imageSize.imageHeight = imageHeight; }else{//如果没有传imageHeight,使用屏幕的高 wx.getSystemInfo({ success: function (res) { imageHeight = res.windowHeight; imageSize.imageWidth = (imageHeight *originalWidth) / originalHeight; imageSize.imageHeight = imageHeight; } }); } return imageSize; } } export default Util;
2.使用image组件加载图片,通过bindload动态的获取图片的高度和宽度,动态的设置图片的高度和宽度 index.wxml (../pro.png是本地图片)
<image bindload="imageLoad" style="width:{{imageWidth}}px;;height:{{imageHeight}}px;" src="../pro.png"/>
index.js
import Util from '../common/Util'; Page({ data:{ imageWidth:0, imageHeight:0 }, imageLoad: function (e) { //获取图片的原始宽度和高度 let originalWidth = e.detail.width; let originalHeight = e.detail.height; //let imageSize = Util.imageZoomHeightUtil(originalWidth,originalHeight); //let imageSize = Util.imageZoomHeightUtil(originalWidth,originalHeight,375); let imageSize = Util.imageZoomWidthUtil(originalWidth,originalHeight,145); this.setData({imageWidth:imageSize.imageWidth,imageHeight:imageSize.imageHeight}); } })
微信小程序图片等比例缩放 动态的获取图片的高度和宽度 动态的设置图片的高度和宽度
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- 微信小程序图片等比例缩放 动态的获取图片的高度和宽度 动态的设置图片的高度和宽度
- Android中如何在代码中动态设置控件的高度以及宽度
- 微信小程序 canvas API详解及实例代码
- 微信小程序 swiper组件详解及实例代码
- 微信小程序 WXDropDownMenu组件详解及实例代码
- 微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
- asp.net 获取图片高度和宽度实例代码
- 微信小程序 progress组件详解及实例代码
- 微信小程序教程之本地图片上传(leancloud)实例详解
- 微信小程序 toast 详解及实例代码
- 【微信小程序教程】动态改变view标签的宽度和高度
- asp.net 获取图片高度和宽度实例代码
- 动态设置图片的宽度和高度
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
- Android UI之代码动态设置ImageView的宽度和高度
- 微信小程序 animation API详解及实例代码
- 微信小程序 location API接口详解及实例代码
- 微信小程序 Record API详解及实例代码
- 微信小程序 POST请求(网络请求)详解及实例代码
- 微信小程序 modal详解及实例代码