canvas 以鼠标为中心滑动滚轮缩放 您所在的位置:网站首页 canvas滚动条 canvas 以鼠标为中心滑动滚轮缩放

canvas 以鼠标为中心滑动滚轮缩放

#canvas 以鼠标为中心滑动滚轮缩放| 来源: 网络整理| 查看: 265

canvas 以鼠标为中心滑动滚轮缩放

let ctx = document.getElementById('canvas').getContext('2d'); let obj = { fontX: 0, fontY: 0, fontZoom: 1, curZoom: 1, translateX: 0, translateY: 0, draw() { ctx.fillRect(150, 150, 50, 50) }, zoom(offsetX, offsetY, z) { ctx.save() ctx.clearRect(0, 0, 300, 300); this.curZoom = this.fontZoom + z this.translateX = offsetX - (offsetX - this.translateX) * this.curZoom / this.fontZoom this.translateY = offsetY - (offsetY - this.translateY) * this.curZoom / this.fontZoom ctx.translate(this.translateX, this.translateY) ctx.scale(this.curZoom, this.curZoom); this.draw() ctx.restore() this.fontY = offsetY this.fontX = offsetX this.fontZoom = this.curZoom } } obj.draw() document.getElementById('canvas').addEventListener('mousewheel', (e) => { let z = e.deltaY > 0 ? -0.1 : 0.1 obj.zoom(e.offsetX, e.offsetY, z) })


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有