微信小程序如何实现图片双滑缩放大小
发表于: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安全错误
数据库的锁怎样保障安全
软件开发的开发方案
英国政府网络安全关键控制
衡阳快速软件开发哪家便宜
广州国宁互联网科技
办公电脑对软件开发公司的重要性
上海宝山区移动软件开发公司
如何快速学习办公软件开发
门户网站网络安全检查总结
商务局网络安全方案
数据库技术随堂论文
网络软件开发介绍
网址提示500服务器错误
学软件开发那一块比较好
宝山区优势软件开发试验设备
望远县政务软件开发联系方式
管城回族区软件开发培训班
软件开发公司用人成本控制
柴鸡蛋小说软件开发
构建一个服务器
魔兽世界酒店连不上服务器
微生物数据库
DBC物品数据库解析
互联网惊险黑科技
miui隐私保护华为服务器
数据库原理选择题
济宁审计oa软件开发
南威软件是否做网络安全
ncre 数据库技术
数据库从内到外
数据库技术三级视频