首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小孟开发笔记

    微信小程序单指拖拽和缩放旋转

    小程序单指拖拽和操作是一个比较常用的功能,效果如下图 实现这三个功能,主要用三个触摸事件touchstart、touchmove、touchend <view style="height: 100vh this.setData({ translateX: onePageX - startMove.x, translateY: onePageY - startMove.y }) } <em>双</em><em>指</em><em>缩放</em> <em>双</em><em>指</em><em>缩放</em>的原理是根据两点坐标求出距离(勾股定理),然后在用移动坐标的距离比就可以求出<em>缩放</em>倍数 touchmove touchMove(e) { const touches = e.touches && startTouches.length === <em>2</em>) { // <em>双</em><em>指</em><em>缩放</em> const { pageX: twoPageX, pageY: twoPageY } = touches == <em>2</em>这个判断的原因是防止图片跳动,因为如果你两个手指触摸,然后离开一个手指,我是禁止拖拽的,只有<em>双</em><em>指</em>都离开后再次触摸才能单指拖拽 <em>双</em><em>指</em>旋转 <em>双</em><em>指</em>旋转的原理是根据三角函数求出起始点的角度,然后再求出移动坐标的角度

    3.8K31编辑于 2023-03-07
  • 来自专栏Unity3d程序开发

    u3d拖动摄像机视角与缩放

    m_yMaxLimit = 45; private float m_xAngles = 0.0f; private float m_yAngles = 0.0f; Vector2 m_oldPos0; Vector2 m_oldPos1; public float m_scale = 1.0f; float m_scaleStep = 0.1f; old0,Vector2 old1,Vector2 cur0,Vector2 cur1) { var leng1 = Mathf.Sqrt((old0.x - old1.x) * (old0.x - old1.x) + (old0.y - old1.y) * (old0.y - old1.y)); var leng2 = Mathf.Sqrt((cur0.x - cur1.x) * (cur0.x - cur1.x) + (cur0.y - cur1.y) * (cur0.y - cur1.y)); if(leng1<leng2)

    56830编辑于 2023-08-24
  • 来自专栏Unity3d程序开发

    unity3d:控制模型单指旋转,缩放,并停止控制一段时间后自转

    控制模型:移动端:单指旋转,缩放 PC:左键旋转,滚轮缩放 using System.Collections; using System.Collections.Generic; using m_isScale = false; private float m_yMinLimit = -90; private float m_yMaxLimit = 90; Vector2 m_oldPos0; Vector2 m_oldPos1; // Use this for initialization void Start () { m_scale old0, Vector2 old1, Vector2 cur0, Vector2 cur1) { var leng1 = Mathf.Sqrt((old0.x - old1.x angle > 180) angle -= 360; return Mathf.Clamp(angle, min, max); } } 当有控制模型旋转,缩放

    93510编辑于 2023-08-24
  • 来自专栏CSDN博客专家-小蓝枣的博客

    mac 关闭chrome浏览器返回手势,触控板前进后退手势设置

    很多时候我们用网页记录数据,不小心点了浏览器返回,当前页面的做的数据就没了,而mac触控板的手势又容易造成这样的失误。最好的解决办法就是把控触板的这个手势给关掉。 ?

    9.4K30发布于 2020-09-23
  • 来自专栏JNing的专栏

    opencv: 图像缩放(cv2.resize)

    但是当图像缩放时,它类似于INTER_NEAREST方法。 缩放后的图像: ? Code 附上自己写的实验代码: import cv2 pic = cv2.imread('. /Elegent_Girl.jpg') pic = cv2.resize(pic, (400, 400), interpolation=cv2.INTER_CUBIC) cv2.imshow('', pic ) cv2.waitKey(0) cv2.destroyAllWindows() Note: 使用cv2.resize时,参数输入是 宽×高×通道 ,与以往操作不同,需要注意。 具体参见opencv: cv2.resize 探究(源码)。

    3.6K20发布于 2018-09-28
  • 来自专栏网页前端

    2d转换缩放与旋转

    ## 本章将介绍简单的2d缩放的实现,并且举几个简单的应用案例。 No.1缩放属性 ? ? ,为何我们不直接改width和height,因为这种方法改出来的图形不是等比缩放,破坏了网页制作的美观,transform比较方便和美观。 transform: scale(x,y) x 和 y分别等于数字,大于一就是放大,小于一就是缩小,很好应用,缩放属性是相对于中心点,默认的中心点为盒子的中心。 No.2旋转属性 transform: rotate(45deg); 上代码,可以去vscode来打一打代码。 */ transform: scale(0.5, 0.5); } 这段代码与上面的那串代码一样,但是多了两行,一个是动画效果,还有一个就是中心的改变,中心点由默认的中间改变到了左下角,所以这种缩放便不是等比缩放

    69410发布于 2021-04-13
  • 来自专栏李维亮的博客

    uniapp 图片拖拽滑动或放大缩小

    30px, 30px) </view> <view class="uni-title uni-common-mt"> 示例 2 "4" :scale-value="scale">text</movable-view> </movable-area> <view @tap="tap<em>2</em>" data() { return { x: 0, y: 0, scale: 2, old: { x: 0, y: 0, scale: 2 this.x = 30 this.y = 30 }) }, tap2(

    5.7K20编辑于 2023-05-09
  • 来自专栏韩曙亮的移动开发专栏

    【CSS3】CSS3 2D 转换 - scale 缩放 ② ( 使用 scale 设置缩放代码示例 - 图片缩放示例 )

    IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS3 2D 转换 - scale 缩放</title> <style> div { /* 设置浮动 令 div 从左到右排列 */ float

    90530编辑于 2023-10-11
  • 来自专栏Howl同学的学习笔记

    Offer-2

    FindGreatestSumOfSubArray(int[] array) { if(array == null) return 0; // 注意:题目的连续 (m2,Math.min(m3,m5)); list.add(min); if(min == m2) i2++; if(min = = null){ p2++; pHead2 = pHead2.next; } if(pHead1 ! 没有公共节点 return null; } } // 思路二,两条y状的链表,从尾遍历到头,第一个不相同的就是交点,使用栈/递归实现 // 思路三:最优解,指针 // 两个指针同步走 = p2){ p1 = (p1 == null ? pHead2 : p1.next); p2 = (p2 == null ?

    68330发布于 2020-12-16
  • 来自专栏EDI技术知识

    AS2

    在本篇 AS2 协议指南中,将带您了解 AS2 的完整定义,并提供开始使用AS2的所需信息,包括: 什么是AS2? AS2 的背景 AS2 的优点 AS2 的工作原理 AS2 实施 AS2 与 AS1、AS3 和 AS4对比 什么是 AS2? AS2,是一种 B2B 消息传输协议,用于将文件从一个企业传输到另一个企业。 AS2 是一种通用的EDI传输协议,其传输的数据应用于全球数百万企业。AS2 常应用于零售商,如亚马逊和沃尔玛。 现在,包括医疗保健在内的许多其他行业都使用 AS2 协议,因为 AS2 符合 HIPAA 法律要求。 AS2 的优点 为什么要选择AS2呢? 你可以将它想象成一个门气闸,将AS2流量与您的内部服务器隔离开来,消除了对每个供应商的特定安全解决方案的需求。

    1.7K30编辑于 2022-10-11
  • 来自专栏机器学习入门

    4.4 端队列(2

    挑战程序竞赛系列(55):4.4 端队列(2) 练习题如下: POJ 3260: The Fewest Coins 还以为直接 DP求解,但没想到可以DP求解+枚举,这思路没谁了,第一次接触 这里再补充下P341多重背包转01背包的理解,首先 mi=1+2+4+⋯+2k+a m_i = 1 + 2 + 4 + \cdots + 2^k + a 其中 a=mi−2k+1+1a = m_i - 2^{k + 1} + 1,所以a不选的情况下,(1,2,⋯,2k)(1,2,\cdots,2^k)的范围为:[0,2k+1−1][0, 2^{k + 1} - 1],而选择a的情况下,剩余数的范围在 :[mi+1−2k+1,mi][m_i + 1 - 2^{k + 1}, m_i],所以经过对(1,2,…,a)的01组合,能够得到[0,mi][0,m_i]之间的任意数。 new Main().run(); } static final int MAX_T = 10000 + 4; static final int MAX_N = 100 + 2;

    52540发布于 2019-05-26
  • 来自专栏Initial programming

    初识算法 · 指针(2)

    ) { //确定右边的边长 } } 虽然说最后求值部分是一个等差数列的求和方式,但是不影响,最终的时间复杂度依旧是O(N^2) 对于为什么求值是*两数中较小的那个数 算法原理: 在算法原理部分,我们已经在上文了解了暴力解法,所以不再赘述暴力解法,这里是找两个数,保证下标相减 * 最小的那个数是最大值,那么找两个数,我们不妨使用指针来解决。 所以我们需要另辟蹊径,那么就使用指针算法,对于指针来说,影响的是两个数,这是可是三个数,我们应该如何操作呢? int ans = 0; sort(nums.begin(),nums.end()); for(int i = nums.size() - 1; i >= 2 else left++; } } return ans; } }; 此时的时间复杂度为O(N^2)

    17310编辑于 2024-10-16
  • 来自专栏python3

    CENTOS 安装python版本(2

    yum groupinstall "Development tools" yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 您有两种选择: 第1种:在configure命令的结尾加上:LDFLAGS="-Wl,-rpath /usr/local/lib" 第2种:用文本编辑器打开文件/etc/ld.so.conf文件,将目录 2、安装python 这没有什么要说的了。 /usr/local/bin/python2.7 /usr/local/bin/python3.3 系统的python2.6.6应该在 /usr/bin/python, /usr/bin/python2,

    1K20发布于 2020-01-06
  • 来自专栏同步文章1234

    【剑offer|2.替换空格】

    0.替换空格 指针: C 语言版的函数原型,由于形参是一个字符指针,则实参一定是一个字符数组名,数组名是数组首元素的地址,有了数组首元素的地址也就可以更改字符数组中任意一个元素的值,但是注意:这里不能对数组进行越界访问 对于力扣给的函数原型,因为没有多余的空间,只能额外开辟一块空间来完成,则这块空间只能开辟在堆上; 但是牛客网上C语言版本的函数原型带有第2个参数,说明了这个字符串是能够容纳的,所以不会越界访问。 ='\0';i++) { len++; if(s[i]==' ') count++; } int newEnd=len+2*count; ; ret[newEnd--]='%'; oldEnd--; } } return ret; } 2.C++版 class ='\0';i++) { if(s[i]==' ') count++; } s.resize(s.size()+2*count);

    26940编辑于 2023-04-09
  • 【vue2】vue2 适配pc端,解决浏览器缩放问题,解决电脑显示设置缩放、分辨率问题

    vue适配pc端屏幕,字体大小不变 1.下载postcss-px2rem和px2rem-loader npm i postcss-px2rem px2rem-loader 2.src目录下新建utils rem等比适配配置文件 // 基准大小 const baseSize = 16 // 设置 rem 函数 function setRem() { // 当前页面宽度相对于 1920宽的缩放比例 ” 最高放大比例为2,可根据实际业务需求调整) document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) /utils/rem' 4.根目录下新建vue.config.js // 引入等比适配插件 const px2rem = require('postcss-px2rem') // 配置基本大小 const postcss = px2rem({ // 基准大小 baseSize,需要和rem.js中相同 remUnit: 16 }) // 使用等比适配插件 module.exports

    35110编辑于 2025-12-15
  • 来自专栏code秘密花园

    【剑offer】2.替换空格

    导读: 分类:技术干货 题目:替换空格 一起重温《剑offer》 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。 2.若有可能连续多个空格,用多个还是单个20%进行替换? 分三种情况解答 1.不会出现连续多个空格: 直接用空格将字符串切割成数组,在用20%进行连接。 function replaceSpace(str) { return str.split(' ').join('%20'); } 2.允许出现多个空格,每个空格均用一个20%替换: 用正则表达式找到所有空格依次替换 多个空格用一个20%替换: 用正则表达式找到连续空格进行替换 function replaceSpace(str) { return str.replace(/\s+/g,'%20'); } 《剑Offer

    47530发布于 2019-09-08
  • 来自专栏用户画像

    offer No.2 替换空格

    请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    46010发布于 2020-03-17
  • 来自专栏c#学习笔记

    10、图像的几何变换——平移、镜像、缩放、旋转、仿射变换 OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)数字图像

    3.1 缩放原理 设水平缩放系数为sx,垂直缩放系数为sy,(x0,y0)为缩放前坐标,(x,y)为缩放后坐标,其缩放的坐标映射关系: ? 矩阵表示的形式为: ? dsize, double fx=0, double fy=0,int interpolation=INTER_LINEAR ); 这里当然可以用resize进行缩放,但是为了更好的理解缩放原理,这里利用向后映射进行图像缩放 根据上面公式可知,缩放后图像的宽和高用原图像宽和高和缩放因子相乘即可。 对于图像缩放来说,设水平方向的缩放因子为a,垂直方向缩放因子为b,则用仿射矩阵实现图缩放功能的仿射矩阵为: ? 而对于图像旋转来说,设旋转角度为θ,利用仿射变换实现图像旋转操作的仿射矩阵为: ? 参考资料 数字图像处理与机器视觉Visual C与Matlab实现 几何图像变换 OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1) OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2

    5K51发布于 2020-10-27
  • 来自专栏韩曙亮的移动开发专栏

    【CSS3】CSS3 2D 转换 - scale 缩放 ① ( 使用 scale 设置缩放 | 使用 scale 设置缩放 与 直接设置盒子模型大小 对比 )

    一、使用 scale 设置缩放 在 CSS3 中的 2D 转换 中 , 可以使用 scale 样式 , 设置 盒子模型 的缩放属性 , 可以设置 放大 和 缩小 ; scale 样式语法 : transform , 那么就是同时对 宽高 缩放相同的倍数 , 如 : 设置 transform:scale(2); 样式 , 表示 盒子模型 宽高 都放大了 2 倍 , 相当于 transform:scale(2,2 倍 ; 二、使用 scale 设置缩放 与 直接设置盒子模型大小 对比 使用 transform:scale 可以设置 盒子模型 的 缩放倍数 ; 直接修改 盒子模型 大小 , 也可以实现上述相同的功能 , 那么下面的盒子就会被挤下去 ; 使用 transform:scale 设置缩放 , 可以任意设置 缩放的方向 , 不会影响 其它 盒子模型的布局 ; 三、代码示例 ---- 1、代码示例 - 设置两个参数代表宽高缩放 倍 , 高度变为原来的 0.5 倍 ; 2、代码示例 - 设置 1 个参数代表宽高缩放 代码示例 : <!

    4.2K10编辑于 2023-10-11
  • 来自专栏c#学习笔记

    图像的几何变换——平移、镜像、缩放、旋转、仿射变换 OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)数字图像处理笔

    3.1 缩放原理 设水平缩放系数为sx,垂直缩放系数为sy,(x0,y0)为缩放前坐标,(x,y)为缩放后坐标,其缩放的坐标映射关系: ? 矩阵表示的形式为: ? dsize, double fx=0, double fy=0,int interpolation=INTER_LINEAR ); 这里当然可以用resize进行缩放,但是为了更好的理解缩放原理,这里利用向后映射进行图像缩放 根据上面公式可知,缩放后图像的宽和高用原图像宽和高和缩放因子相乘即可。 对于图像缩放来说,设水平方向的缩放因子为a,垂直方向缩放因子为b,则用仿射矩阵实现图缩放功能的仿射矩阵为: ? 而对于图像旋转来说,设旋转角度为θ,利用仿射变换实现图像旋转操作的仿射矩阵为: ? 参考资料 数字图像处理与机器视觉Visual C与Matlab实现 几何图像变换 OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1) OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2

    12.1K31发布于 2020-10-27
领券