vue图片手指缩放

vue图片手指缩放

touchstart (event) {
      // this.touchelength = event.touches.length
      // event.preventDefault() // 默认事件  长按复制
      // if (event.touches.length > 1) {
      //   this.isDoubleTouch = true
      //   this.windowWidth = this.isDoubleTouch
      //   this.startTouches = event.touches
      //   // this.windowWidth = event.touches.length
      // } else {
      //   this.startX = event.changedTouches[0].pageX
      //   this.startY = event.changedTouches[0].pageY
      // }
    },
    touchmove (event) {
      if (this.isDoubleTouch) {
        // const now = event.touches
        // const start = this.startTouches
        // const st = this.getDistance(now[0], now[1])
        // const sy = this.getDistance(start[0], start[1])
        // if (this.scale > 3) {
        //   this.scale = 3
        //   return
        // }
        // if (this.scale < 1) {
        //   this.scale = 1
        //   return
        // }
        // this.scale = this.getDistance(now[0], now[1]) / this.getDistance(start[0], start[1]) // 缩放比例
        // this.windowWidth = this.scale
      }
      getDistance (p1, p2) {
      if (this.scale >= 1 <= 3) {
        var x = p2.pageX - p1.pageX
        var y = p2.pageY - p1.pageY
        return Math.sqrt((x * x) + (y * y))
      }
    },
    touchend (event) {
      const moveEndX = event.changedTouches[0].pageX
      const moveEndY = event.changedTouches[0].pageY
      const X = moveEndX - this.startX
      const Y = moveEndY - this.startY
      if (this.scale > 1) {
        return
      }
      if (Math.abs(X) > Math.abs(Y) && X > 100) {
        this.upPrev()
      } else if (Math.abs(X) > Math.abs(Y) && X < -100) {
        this.nextQuiz()
      }
    },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中实现图片缩放和拖拽功能可以通过以下几个方法来实现: 1. 获取图片的实际宽高:可以使用getImgSize方法来获取图片的实际宽高,该方法返回一个Promise对象,通过Image对象的onload事件来获取图片的宽高\[2\]。 2. 初始化图片:在initImage方法中,根据盒子的大小和图片的大小来计算要显示的图片的大小。根据图片的宽高比例,确定图片的宽度和高度,并根据盒子的大小进行调整\[2\]。 3. 监听鼠标按下事件:在onmousedownHandle方法中,通过监听鼠标的移动事件来实现图片的拖拽功能。通过计算鼠标移动的距离,更新图片的位置\[3\]。 4. 旋转图片:通过handleRotate方法来实现图片的旋转功能。每次点击旋转按钮时,将图片的旋转角度增加90度,并更新图片的样式\[3\]。 5. 监听鼠标滚动事件:通过监听鼠标的滚动事件来实现图片缩放功能。根据滚动的方向和速度,更新图片的大小\[2\]。 以上是实现Vue图片缩放和拖拽的一些方法,你可以根据需要进行调整和扩展。 #### 引用[.reference_title] - *1* *2* *3* [Vue2 实现图片的拖拽、缩放、旋转](https://blog.csdn.net/Android_boom/article/details/128713466)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值