如何做网站轮播大图,商业网站建设的方法,门户网站建设推荐,wordpress专题页面在小程序的开发过程中#xff0c;页面布局中#xff0c;我们经常会遇到一些图片处理的问题#xff0c;比如#xff0c;如果图片不是固定高度和高度#xff0c;但image设置的是固定的高度和宽度#xff0c;这时候原始图片相对image设置的固定高度和宽度不是等比例大小页面布局中我们经常会遇到一些图片处理的问题比如如果图片不是固定高度和高度但image设置的是固定的高度和宽度这时候原始图片相对image设置的固定高度和宽度不是等比例大小那么这张图片就会变形变的不清晰。这时就可以使用下面的等比例缩放的方式缩放图片让图片不变形。或者通过image的bindload方法动态的获取图片的高度和宽度动态的设置图片的高度和宽度是图片布局的高度和宽度和原始图片的高度和宽度相等。1.图片等比例缩放工具[AppleScript]//Util.jsclass 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动态的获取图片的高度和宽度动态的设置图片的高度和宽度[AppleScript]index.js代码如下[AppleScript]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});}})