微信小程序怎么实现通过双向滑动缩放图片大小
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章主要介绍"微信小程序怎么实现通过双向滑动缩放图片大小"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序怎么实现通过双向滑动缩放图片大小"文章能帮
千家信息网最后更新 2024年11月19日微信小程序怎么实现通过双向滑动缩放图片大小
这篇文章主要介绍"微信小程序怎么实现通过双向滑动缩放图片大小"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序怎么实现通过双向滑动缩放图片大小"文章能帮助大家解决问题。
js :
Page({ data: { touch: { distance: 0, scale: 1, baseWidth: null, baseHeight: null, scaleWidth: null, scaleHeight: null } }, touchStartHandle(e) { // 单手指缩放开始,也不做任何处理 if (e.touches.length == 1) { console.log("单滑了") return } console.log('双手指触发开始') // 注意touchstartCallback 真正代码的开始 // 一开始我并没有这个回调函数,会出现缩小的时候有瞬间被放大过程的bug // 当两根手指放上去的时候,就将distance 初始化。 let xMove = e.touches[1].clientX - e.touches[0].clientX; let yMove = e.touches[1].clientY - e.touches[0].clientY; let distance = Math.sqrt(xMove * xMove + yMove * yMove); this.setData({ 'touch.distance': distance, }) }, touchMoveHandle(e) { let touch = this.data.touch // 单手指缩放我们不做任何操作 if (e.touches.length == 1) { console.log("单滑了"); return } console.log('双手指运动开始') let xMove = e.touches[1].clientX - e.touches[0].clientX; let yMove = e.touches[1].clientY - e.touches[0].clientY; // 新的 ditance let distance = Math.sqrt(xMove * xMove + yMove * yMove); let distanceDiff = distance - touch.distance; let newScale = touch.scale + 0.005 * distanceDiff // 为了防止缩放得太大,所以scale需要限制,同理最小值也是 if (newScale >= 2) { newScale = 2 } if (newScale <= 0.6) { newScale = 0.6 } let scaleWidth = newScale * touch.baseWidth let scaleHeight = newScale * touch.baseHeight // 赋值 新的 => 旧的 this.setData({ 'touch.distance': distance, 'touch.scale': newScale, 'touch.scaleWidth': scaleWidth, 'touch.scaleHeight': scaleHeight, 'touch.diff': distanceDiff }) }, load: function (e) { // bindload 这个api是组件的api类似的onload属性 this.setData({ 'touch.baseWidth': e.detail.width, 'touch.baseHeight': e.detail.height, 'touch.scaleWidth': e.detail.width, 'touch.scaleHeight': e.detail.height }); }})
然后将新获得的图片宽度和高度赋值给图片即可实现滑动缩放
wxml:
关于"微信小程序怎么实现通过双向滑动缩放图片大小"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
图片
双向
大小
程序
手指
知识
双手
时候
行业
过程
不同
实用
最小
代码
内容
函数
实用性
实际
宽度
属性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
核武器系统网络安全
学软件开发能发财吗
网络安全宣传片文案
没上市的互联网科技公司
岳阳市经开区网络安全宣传进校园
网络安全大赛中国表现视频
广东软件开发解决方案服务
好用代理服务器
维持网络安全的做法
网络技术要看的书
监控服务器旗下品牌
fifa21数据库app
大理高速服务器
网络安全防护技术培训体会
网络安全答题大赛花钱吗
中国药学考研大数据库
组态软件中的数据库用法
原神pc是啥服务器
phython和数据库
svn服务器恢复
服务器能自己启动吗
c 数据库 批量更新数据库
虚拟主机安装织梦数据库
如何获取选中的一行数据库
如何快速学习办公软件开发
门户网站网络安全检查总结
mc最安全的服务器
微信扫一扫数据库
原神pc是啥服务器
智慧导航软件开发