首页
学习
活动
专区
圈层
工具
发布

实现pc端鼠标滚轮缩放图片的步骤

之前写一个图片预览插件的时候,遇到了鼠标滚轮滚动进行图片缩放的需求,现在来回顾一下。...据搜索得知,事件参数中,代表鼠标滚轮滚动方向的参数为e.wheelDelta,我们可以打印一下 scrollFunc(e) { // ......// 鼠标滚轮缩放 scrollFunc(e) { e = e || window.event // 火狐下没有wheelDelta,用detail代替,由于detail值的正负和wheelDelta...我们在上面获取鼠标滚轮滚动方向之后,会执行scaleFunc函数,并传入一个参数,当鼠标向上滚动时,传入0.05,意为放大0.05倍(实际倍数1+0.05),反之缩小0.05倍。...return this.imgScale += num } 到这里就,pc端使用鼠标控制图片缩放就完成了,如果有同学感兴趣,改天我再分享一下移动端双指缩放,以上代码都摘自我的插件hevue-img-preview

3.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Canvas鼠标滚轮缩放以及画布拖动(图文并茂版)

    Canvas鼠标滚轮缩放以及画布拖动 本文会带大家认识Canvas中常用的坐标变换方法 translate 和 scale,并结合这两个方法,实现鼠标滚轮缩放以及画布拖动功能。...实现鼠标滚轮缩放 效果 实现原理 鼠标滚轮的放大需要结合上面介绍的 Canvas 的 translate 和 scale 两个方法进行组合变换。...计算放大系数 监听鼠标滚轮的 mousewheel 事件,在事件的回调函数中通过 event.wheelDelta 值的变化来实时计算当前的缩放值,其中 event.wheelDelta > 0 表示放大...缩放原理 在缩放的时候,会调用 scale(n, n) 方法,将坐标系放大 n 倍。假设鼠标滚轮停在 A 点进行放大操作,放大之后得到坐标 A' 点。...this.ctx.scale(this.scale, this.scale); this.draw(); } 总结 本文从基础原理到代码实现,完整给大家讲解了 Canvas 画布绘制中经常会遇到的画布拖动和鼠标滚轮缩放功能

    5.2K10

    【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    一、鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 ---- 鼠标指针指向界面中的 Canvas 画布某个位置 , Canvas 画布中绘制着一张超大图片 , 以该位置为中心 , 滑动鼠标滚轮时进行缩放...; 使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ; 图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一个当前 Canvas 画布中的 x...垂直方向的比例 仍然保持不变 , 那就需要移动图片的位置 ; 如果放大图片就需要将图片往左上方移动 ; 如果缩小图片就需要将图片往右下方移动 ; 此时可以分析出 , 如果要实现 鼠标滚轮缩放的中心点设置为当前鼠标中心点.../ imageWidth ; pointer_ratio_y = canvasY / imageHeight ; } 2、根据鼠标指针指向的位置以及比例重新计算图片位置 在鼠标滚轮缩放完成后...int) (pointer_x - canvasX); offsetY = (int) (pointer_y - canvasY); } 二、绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放

    6.8K10

    Fabric.js 缩放画布 🍬

    使用 canvas 开发的项目,滚轮缩放画布的需求应该不算少数,比如地图。 Fabric.js 也提供了缩放画布的功能,本文主要讲解设置画布大小的几种方法。 动手实现 在动手前先查查文档。...我把和本文相关的文档放在这 mouse:wheel:滚轮事件 getZoom:获取画布当前缩放级别 setZoom:设置画布缩放级别 zoomToPoint:设置画布缩放比例及缩放原点 其中 setZoom.../images/bg.jpg', img => { canvas.setBackgroundImage(img) canvas.renderAll() }) // 监听鼠标滚轮缩放事件...) }) 复制代码 使用 mouse:wheel 监听鼠标滚轮滚动,如果向上滚动,deltaY 的值是100,向下就是 -100,所以可以自己设置一条公式来控制滚动时的缩放级别...zoomToPoint 可以理解为 setZoom 的增强版,第一个参数是原点坐标,本例传入鼠标当前所在的坐标;第二个参数是缩放级别。 代码仓库 ⭐Fabric 滚轮缩放画布

    7.4K30

    Fabric.js 元素中心缩放

    本文简介 点赞 + 关注 + 收藏 = 学会了 使用 fabric.js 创建的图形,默认的缩放原点是元素操作点的对角点。 如下图所示: 如果按住 alt 键 操作会把原点移动到元素中心。...如下图所示: 如果想将默认缩放操作设置为“中心缩放”,只需将 centeredScaling 属性设置为 true 即可。...设置中心缩放 虽然只要将 ``centeredScaling 设置为 true 就行了,但还能再细分成2种情况。 一个是全局设置,一个是只设置指定元素。...单独设置指定元素 如果只是设置指定元素以中心点为缩放原点,那么被设置的元素会生效,其他元素不会生效。 本例只将矩形设置成以中心点为缩放原点,圆形还是默认的操作。...rect.centeredScaling = true 代码仓库 ⭐ Fabric.js 中心缩放

    4.1K10
    领券