iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何用js实现手指缩放图片功能
  • 225
分享到

如何用js实现手指缩放图片功能

2023-06-26 09:06:34 225人浏览 八月长安
摘要

这篇“如何用js实现手指缩放图片功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用js实现手指缩放图片功能”文章吧。需

这篇“如何用js实现手指缩放图片功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用js实现手指缩放图片功能”文章吧。

需求:

用手指缩放图片。其实在实现这个需求以前,并不知道,微信公众号以及微信小程序里面有一个原生的api就自带这个特效,而且微信朋友圈也是用的这个api。wx.previewImage,就是它。预览图片。除了不能预览开发环境的本地电脑的图片外,你手机真机的图片,以及Http服务器上的图片都是可以预览的,而且缩放功能做得很流畅。

先上源码,然后在逐步剖析:

Page({    data: {        touch: {            distance: 0,            scale: 1,            baseWidth: null,            baseHeight: null,            scaleWidth: null,            scaleHeight: null        }    },    touchstartCallback: function(e) {        // 单手指缩放开始,也不做任何处理        if(e.touches.length == 1) 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,        })    },    touchmoveCallback: function(e) {        let touch = this.data.touch        // 单手指缩放我们不做任何操作        if(e.touches.length == 1) 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        })    },    bindload: 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文件对应如下,就不做解释了:

<view class="container"> <view bindtouchmove="touchmoveCallback" bindtouchstart="touchstartCallback"> <image src="../../resources/pic/cat.jpg" style="width: {{ touch.scaleWidth }}px;height: {{ touch.scaleHeight }}px" bindload="bindload"></image> </view> </view>

以上就是关于“如何用js实现手指缩放图片功能”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: 如何用js实现手指缩放图片功能

本文链接: https://www.lsjlt.com/news/308424.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何用js实现手指缩放图片功能
    这篇“如何用js实现手指缩放图片功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用js实现手指缩放图片功能”文章吧。需...
    99+
    2023-06-26
  • Swift如何实现缩放并填充图片功能
    小编给大家分享一下Swift如何实现缩放并填充图片功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实现先看代码,然后再分析:func rescaleA...
    99+
    2023-06-25
  • Android实现图片双指缩放
    本文实例为大家分享了Android实现图片双指缩放的具体代码,供大家参考,具体内容如下 展示 源码 using Android.App; using Android.OS; u...
    99+
    2024-04-02
  • js如何实现移动端图片压缩上传功能
    这篇文章给大家分享的是有关js如何实现移动端图片压缩上传功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。移动端图片压缩上传功能如何实现?做移动端开发的时候,form里面的fil...
    99+
    2024-04-02
  • Swift缩放并填充图片功能的实现
    摘要 直接操作图片来实现它的缩放或者填充多余空间,首选 UIGraphicsBeginImageContext 函数来实现,它就相当于一个画布,你甚至可以用它来涂鸦。 最近有一个需求...
    99+
    2024-04-02
  • 如何在Android中利用imageview实现一个图片缩放功能
    如何在Android中利用imageview实现一个图片缩放功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android 自定义imageview实现图片缩放实例详解&nb...
    99+
    2023-05-31
    android imageview age
  • 如何利用canvas实现图片压缩功能
    小编给大家分享一下如何利用canvas实现图片压缩功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!项目中做身份证识别时,需要传送图片的 base64 格式编码,...
    99+
    2023-06-09
  • jQuery如何实现鼠标滚轮控制图片缩放功能
    这篇文章主要为大家展示了“jQuery如何实现鼠标滚轮控制图片缩放功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现鼠标滚轮控制图片缩放功能...
    99+
    2024-04-02
  • Android 在viewPager中双指缩放图片双击缩放图片单指拖拽图片的实现思路
    我们就把这个问题叫做图片查看器吧,它的主要功能有:双击缩放图片。 双指缩放图片。单指拖拽图片。为此这个图片查看器需要考虑以下的技术点:一、双击缩放图片:如果图片高度比屏幕的高度小得多,那么就将图片放大到高度与屏幕高度相等,否则就放大一个特定...
    99+
    2023-05-31
    android viewpager 图片缩放
  • js如何自制图片放大镜功能
    这篇文章给大家分享的是有关js如何自制图片放大镜功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下注释:small img size:600x400big ...
    99+
    2024-04-02
  • php实现图片压缩功能
    简述: 使用php的GD库可以将图片按固定宽高或者等比例压缩,主要利用的函数是: imagecopyresampled:将一张图片中的一块区域复制到另一张图片上 等比例压缩   public function compressImg($sr...
    99+
    2023-08-31
    php 开发语言
  • js如何实现图片放大缩小计时器效果
    小编给大家分享一下js如何实现图片放大缩小计时器效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!知识要点var fn=setI...
    99+
    2024-04-02
  • JS如何实现图片验证码功能
    本篇内容主要讲解“JS如何实现图片验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS如何实现图片验证码功能”吧!1. html代码<%@ page langu...
    99+
    2023-06-30
  • element前端如何实现压缩图片功能
    这篇文章主要讲解了“element前端如何实现压缩图片功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“element前端如何实现压缩图片功能”吧!实现效果如下图所示,从 580kb -&g...
    99+
    2023-07-05
  • 利用vue组件实现图片的拖拽和缩放功能
    目录前言如图所示:方法如下:总结前言 vue实现一个组件其实很简单但是要写出一个好的可复用的组件那就需要多学习和钻研一下,一个好的组件必须有其必不可少的有优点:一是能提高应用开发效率...
    99+
    2024-04-02
  • Android图片采样缩放功能实例代码
    为什么要对Android中的图片进行采样缩放呢?是为了更加高效的加载Bitmap。假设通过imageView来显示图片,很多时候ImageView并没有图片的原始尺寸那么大,这时候把整张图片加载进来后再设给ImageView是没有必要的,因...
    99+
    2023-05-30
    android 采样 缩放
  • JavaScript如何实现图片自动播放功能
    今天小编给大家分享一下JavaScript如何实现图片自动播放功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、自动轮播...
    99+
    2023-07-06
  • js实现上传图片功能
    前端上传图片的原理是:运用input type=“file”的标签获取图片,再使用FileReader这个对象 new 一个实例,通过这个对象的readAsDataURL()方法读取...
    99+
    2024-04-02
  • js实现图片切割功能
    本文实例为大家分享了js实现图片切割的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html lang="en"> &l...
    99+
    2024-04-02
  • HTML5 Canvas如何实现图片缩放比例
    小编给大家分享一下HTML5 Canvas如何实现图片缩放比例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! drawImage方法的又一变种是增加了两个用于控制图像在canvas中缩放...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作