vue在移动端使用alloyfinger手势库操作图片拖拽、缩放
最近开发一个活动需要在手机上给上传的头像加上边框、装饰,需要拖拽、手势缩放边框下的头像图片,因为是vue项目,开始尝试了vue-drag-resize这个组件,对图片拖拽支持很完美,但是无法手势缩放,果断放弃,最后选用了腾讯的AlloyTeam团队的开源的手势库AlloyFinger,闲话少说直接上代码
1、下载
npm install alloyfinger
2、main.js全局配置
import AlloyFinger from 'alloyfinger'
import AlloyFingerPlugin from 'alloyfinger/vue/alloy_finger_vue' Vue.use(AlloyFingerPlugin,{
AlloyFinger
})
3、组件内使用
<div v-finger:pinch="pinchHandler"
v-finger:press-move="pressMoveHandler"
v-finger:multipoint-start="multipointStartHandler"
v-finger:rotate="rotateHandler"
v-finger:tap="tapHandler"
v-finger:multipoint-end="multipointEndHandler"
v-finger:double-tap="doubleTapHandler"
v-finger:long-tap="longTapHandler"
v-finger:swipe="swipeHandler"
v-finger:single-tap="singleTapHandler"> //滑动的有效区域
</div>
pointStartHandler() {
//手指触摸屏幕触发
},
multipointStartHandler() {
//一个手指以上触摸屏幕触发
},
rotateHandler(evt) {
//evt.angle代表两个手指旋转的角度
console.log(evt.angle);
},
pinchHandler(evt) {
//evt.scale代表两个手指缩放的比例
console.log(evt.scale);
},
multipointEndHandler() {
//当手指离开,屏幕只剩一个手指或零个手指触发
},
pressMoveHandler(evt) {
//evt.deltaX和evtdeltaY代表在屏幕上移动的距离
console.log(evt.deltaX);
console.log(evt.deltaY);
},
tapHandler(evt) {
//点按触发
},
doubleTapHandler(evt) {
//双击屏幕触发
},
longTapHandler(evt) {
//长按屏幕750ms触发
},
swipeHandler(evt) {
//evt.direction代表滑动的方向
console.log("swipe" + evt.direction);
},
singleTapHandler(evt) {
//单击
}
ps:拖动对于移动端兼容不是太理想,正在优化中~
vue在移动端使用alloyfinger手势库操作图片拖拽、缩放的更多相关文章
- Vue富文本编辑器(图片拖拽缩放)
富文本编辑器(图片拖拽缩放) 需求: 根据业务要求,需要能够上传图片,且上传的图片能在移动端中占满屏幕宽度,故需要能等比缩放上传的图片,还需要能拖拽.缩放.改变图片大小.尝试多个第三方富文本编辑器,很 ...
- php课程 8-32 如何使用gd库进行图片裁剪和缩放
php课程 8-32 如何使用gd库进行图片裁剪和缩放 一.总结 一句话总结:图片缩放到图片裁剪就是改变原图截取的位置以及截取的宽高. 1.电商网站那么多的图片,如果全部加载卡得慢的很,所以他们是怎么 ...
- vue 图片拖拽和滚轮缩放
这里注意如果自己的页面有滚动条,一定阻止滚动事件的默认行为,否则缩放图片的时候,页面会跟着滚动@mousewheel.prevent 阻止默认行为 <div ref="imgWrap& ...
- JS案例 - 基于vue的移动端长按手势
================================惯例碎碎念前言================================ 当时首先想到要做长按事件的时候,我想到的是vue内部的自 ...
- vue实现拖拽排序
基于vue实现列表拖拽排序的效果 在日常开发中,特别是管理端,经常会遇到要实现拖拽排序的效果:这里提供一种简单的实现方案. 此例子基于vuecli3 首先,我们先了解一下js原生拖动事件: 在拖动目标 ...
- linux chromuim安装常用插件(flash,手势,拖拽,广告屏蔽)
1.本机kali2.0 64位,kali基于Debian.文章所用的所有插件请到http://files.cnblogs.com/files/yuuyuu/chromium_plugins.tar. ...
- vue富文本编辑器vue-quill-editor使用总结(包含图片上传,拖拽,放大和缩小)
vue-quill-editor是vue很好的富文本编辑器,富文本的功能基本上都支持,样式是黑白色,简洁大方. 第一步下载 vue-quill-editor: npm i vue-quill-edit ...
- 超小Web手势库AlloyFinger原理
目前AlloyFinger作为腾讯手机QQ web手势解决方案,在各大项目中都发挥着作用. 感兴趣的同学可以去Github看看:https://github.com/AlloyTeam/AlloyFi ...
- 超小Web手势库AlloyFinger原理(转载)
目前AlloyFinger作为腾讯手机QQ web手势解决方案,在各大项目中都发挥着作用. 感兴趣的同学可以去Github看看: https://github.com/AlloyTeam/AlloyF ...
随机推荐
- flutter——android报错建议Suggestion: add 'tools:replace="android:label"'
问题: 安装了一个新包,android出现了报错,建议add 'tools:replace="android:label"'. 原因: 项目application的label属性冲 ...
- linux 环境搭建Jenkins
这里提供一个本地搭建Jenkins的方法,基于wins 的 https://blog.csdn.net/u011541946/article/month/2017/09/2 下面讲的是在服务器上操 ...
- 《3D打印与工业制造》个人总结 —— 周吉瑞
<3D打印与工业制造>个人总结 ---- 周吉瑞 JERRY_Z. ~ 2020 / 10 / 24 转载请注明出处!️ 目录 <3D打印与工业制造>个人总结 ---- 周吉瑞 ...
- HBase基础知识摘要
HBASE 列式存储,设计思想参考BigTable 文档:http://hbase.apache.org/book.html hive适合数据分析,离线任务 hbase大数据实时查询 避免显式锁,提供 ...
- 最全总结 | 聊聊 Python 办公自动化之 Excel(上)
1. 前言 在我们日常工作中,经常会使用 Word.Excel.PPT.PDF 等办公软件 但是,经常会遇到一些重复繁琐的事情,这时候手工操作显得效率极其低下:通过 Python 实现办公自动化变的很 ...
- Luogu P5450 [THUPC2018]淘米神的树
题意 写的很明白了,不需要解释. \(\texttt{Data Range:}1\leq n\leq 234567\) 题解 国 际 计 数 水 平 首先考虑一开始只有一个黑点的情况怎么做. 我们钦定 ...
- modbus协议开关量采集模块
modbus协议开关量采集模块是指的使用Modbus协议的进行信号的采集与控制的一种设备. Modbus 协议设备都具有唯一的 Modbus 地址,众山 DTU 默认 Modbus 地址为 100,用 ...
- PLC模拟量采集模块在工控领域的应用
在工业现场中,往往需要对温度.电流.电压等模拟量进行控制采集,这可以使用PLC对这些数据进行采集,但是如今生产各种PLC模拟量采集模块的厂家非常多,不同类型的PLC都是有自己专属的模拟量采集模块的,不 ...
- Java学习的第五十二天
1.例9.4对象数组的使用方法 public class Cjava { public static void main(String[]args) { Box b[] = {new Box(10,1 ...
- ModelSerializer 高级使用
前言 ModelSerializer中还具有一些高级用法,如批量更新.批量删除.批量创建等. 但是批量过来的数据格式都需要与前端做好协商,什么样的数据格式是单条操作,什么样的数据格式是批量操作. 如下 ...