微信小程序如何实现图片双滑缩放大小
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了微信小程序如何实现图片双滑缩放大小 ,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在做小程序开发的过程中,后端传来一
千家信息网最后更新 2025年02月01日微信小程序如何实现图片双滑缩放大小
这篇文章主要介绍了微信小程序如何实现图片双滑缩放大小 ,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
在做小程序开发的过程中,后端传来一张图片地图,需要实现双手指滑动,使图片缩放,最终得出了一下代码:
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安全错误
数据库的锁怎样保障安全
服务器安全服务
网络技术的原理是什么
数据库设计小结
网络安全法涉及犯罪
珠海专业服务器散热器价格
辽宁语音网络技术标准
加拿大网络安全系统
上海翼鸽网络技术有限公司
上位机软件开发怎么存数据
数据库恢复忘记实例名
数据库文件名有哪些
网络安全兼职哪个平台好
逆水寒寄售铜钱要高于服务器9级
数据库记录有效性
唐河办公软件开发
广州网络安全员考试
ug12安装服务器未启动
诺顿网络安全设置
专业做app软件开发源码
轨道交通网络技术
我想要看小学生的网络安全海报
三四线互联网科技公司
网络安全 网络文明大学生
武汉大学网络安全学硕复试
网络安全是工业互联网发展
部队网络安全四问题
iot网络安全风险
鲜沣互联网科技公司 杭州
管理员运行服务器
城市天际线用不用开启服务器