微信小程序图片等比例缩放 动态的获取图片的高度和宽度 动态的设置图片的高度和宽度

前言:
在小程序布局中,如果图片不是固定高度和高度,但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});
}
})
微信小程序图片等比例缩放 动态的获取图片的高度和宽度 动态的设置图片的高度和宽度
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序
# 动态的设置图片
# 小程序
# 获取图片并设置
# 微信小程序等比例缩放图片
# 微信小程序 图片宽高自适应详解
# 微信小程序实现image组件图片自适应宽度比例显示的方法
# 微信小程序实现富文本图片宽度自适应的方法
# 微信小程序图片宽100%显示并且不变形
# 微信小程序 图片宽度自适应的实现
# 微信小程序如何获取图片宽度与高度
# 等比例
# 如果没有
# 的是
# 不传
# 就会
# 这张
# 希望能
# 谢谢大家
# 就可以
# 这时候
# 加载
# 不变形
# imageWidth
# getSystemInfo
# originalWidth
# originalHeight
# wx
# imageHeight
# imageSize
# static
相关文章:
建站之星与建站宝盒如何选择最佳方案?
如何在阿里云虚拟主机上快速搭建个人网站?
怎么将XML数据可视化 D3.js加载XML
音响网站制作视频教程,隆霸音响官方网站?
建站168自助建站系统:快速模板定制与SEO优化指南
c++ stringstream用法详解_c++字符串与数字转换利器
如何通过虚拟主机空间快速建站?
如何用PHP快速搭建高效网站?分步指南
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
建站之星伪静态规则如何设置?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
动图在线制作网站有哪些,滑动动图图集怎么做?
如何选择适配移动端的WAP自助建站平台?
建站之星导航菜单设置与功能模块配置全攻略
建站主机选虚拟主机还是云服务器更好?
如何快速搭建响应式可视化网站?
Python lxml的etree和ElementTree有什么区别
如何在阿里云购买域名并搭建网站?
如何确保西部建站助手FTP传输的安全性?
建站上市公司网站建设方案与SEO优化服务定制指南
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
宁波免费建站如何选择可靠模板与平台?
网站制作难吗安全吗,做一个网站需要多久时间?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
威客平台建站流程解析:高效搭建教程与设计优化方案
智能起名网站制作软件有哪些,制作logo的软件?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
建站之家VIP精选网站模板与SEO优化教程整合指南
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
如何在IIS管理器中快速创建并配置网站?
建站之星如何一键生成手机站?
如何用VPS主机快速搭建个人网站?
建站主机是否等同于虚拟主机?
山东网站制作公司有哪些,山东大源集团官网?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
网站制作费用多少钱,一个网站的运营,需要哪些费用?
如何快速查询网站的真实建站时间?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何高效完成独享虚拟主机建站?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何基于云服务器快速搭建个人网站?
C#怎么创建控制台应用 C# Console App项目创建方法
家庭建站与云服务器建站,如何选择更优?
建站之星后台管理系统如何操作?
SQL查询语句优化的实用方法总结
*请认真填写需求信息,我们会在24小时内与您取得联系。