<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>放大</title><script type="text/javascript" src="./js/jquery-3.3.1.min.js"></script></head>
<body>
<input type="button" value="放大" id="Bigger"><br>
<input type="button" value="缩小" id="Smaller"><br>
<canvas id="canvas" height="1050" width="1500"></canvas><script>let add = document.getElementById("Bigger");let release = document.getElementById("Smaller");let canvas = document.getElementById("canvas");let context = canvas.getContext("2d");let initScale = 1; //缩放倍数 1为默认值let image = new Image();var isMouseDown = false; //是否处于拖动状态window.onload = () => {_initCanvasImg();image.onload = () => {dramImageByScale(1);};};//页面加载成功初始化function _initCanvasImg() {// 拿到图片地址image.src="layer/_alllayers/L00/R00001b30/C00001219.png";}function dramImageByScale(scale) {let imgWidth = image.width;let imgHeight = image.height;canvas.width = imgWidth;canvas.height = imgHeight;var width = imgWidth * scale;var height = imgHeight * scale;var sx = canvas.width / 2 - width / 2; //x坐标var sy = canvas.height / 2 - height / 2; //y坐标context.clearRect(0, 0, canvas.width, canvas.height);//drawImage 方法在画布上绘制图像、画布或视频。//绘制的内容、坐标 被剪切的宽高context.drawImage(image, sx, sy, width, height);console.log(sx);console.log(sy);}add.onclick = () => {initScale += 0.1;console.log(initScale);dramImageByScale(initScale);};release.onclick = () => {initScale -= 0.1;console.log(initScale);dramImageByScale(initScale);};
</script>
</body>
</html>

Canvas图像的放大缩小相关推荐

  1. 【QT】QT从零入门教程(七):鼠标滚轮实现图像的放大缩小

    鼠标滚轮实现图像放大缩小的主要思想:通过wheelEvent来获得鼠标滚轮的angleDelta,即滚轮转角.然后通过数据类型转换,将读取的值转换成整型数值叠加到图像的尺寸长和宽上,从而实现图像的放大 ...

  2. canvas 实现图片放大缩小拖拽 移动端、PC端

    前言 实现目标:使用canvas画出地图,且可以通过鼠标滚轮缩放,拖拽:手指滑动拖拽,手势缩放 drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dW ...

  3. vue canvas 拖拽 放大缩小

    <template><div ref="tagcanvasbox" class="tagcanvasbox"><canvas re ...

  4. canvas图像绘制(图像放大、缩小、拖动和截图)

    林大大又来更新啦~ 这次主要做的是关于canvas图像绘制的部分,要实现的功能主要是绘制.对canvas的放大,缩小,拖动以及截图 本篇重点:图像的截图所使用的矩形框是怎么画出来的呢?想使用的童鞋参考 ...

  5. 基于Vue Konva的canvas图片放大缩小

    最近一个项目要实现图片根据鼠标位置多级放大缩小的功能,在网上找了好久的资源没有找到,偶然看到了一篇文章,但是没有完整的代码,研究了两天把代码补全了,其实也不难,但是困扰了我好几天,这个方法相对于网上别 ...

  6. Python matplotlib绘图,使用鼠标滚轮放大/缩小图像

    思路: 使用fig.canvas.mpl_connect()函数来绑定相关fig的滚轮事件 利用事件event的inaxes属性获取当前鼠标所在坐标系ax 使用get_xlim()函数获取坐标系ax的 ...

  7. canvas整体放大_Canvas实现图片放大缩小移动操作

    对于HTML5相信大家都不陌生,很早就出来了,但是貌似都没有真正的使用过.最近做项目时要实现这样一个需求:一个图片,大小不固定,要求能实现类似地图一样放大.缩小.移动功能.这里就很合适使用html5的 ...

  8. matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像

    分享一下关于matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像的代码 先看效果: 1.鼠标左键拖动坐标图像 # 鼠标左键拖拽事件 self.lastx = 0 # 获取鼠标按下时的坐标X ...

  9. HTML5 canvas处理图片的各种效果,包括放大缩小涂鸦等

    http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/201502151385.html jQuery 缩放 旋转 裁剪图片 Image Cropper ...

最新文章

  1. HTML5 Canvas translate与rotate应用
  2. 一张脑图说清 Nginx 的主流程
  3. Tengine HTTPS原理解析、实践与调试
  4. Binary Search
  5. hyper虚拟机下对centos进行动态扩容
  6. STM32CubeIDE教程-现场表达式切换数字进制表示
  7. 【docker】docker Portainer容器可视化管理工具使用文档
  8. A股开盘:深证区块链50指数涨0.18%,概念股涨多跌少
  9. Vquery PHP 简单爬虫类
  10. win11精简中文版 兼容ISO
  11. #读源码+论文# 三维点云分割Deep Learning Based Semantic Labelling of 3D Point Cloud in Visual SLAM
  12. python中国大学慕课网_高级语言程序设计(Python)中国大学慕课搜题网站
  13. 华为p4支持鸿蒙功能吗_只要华为鸿蒙系统能支持三个APP,我就愿意支持!
  14. 李学斌:论复杂系统中的应用间协作V3
  15. [附源码]JAVA+ssm计算机毕业设计房屋租赁管理系统(程序+Lw)
  16. JS图片img旋转、放大、缩小
  17. 单词数 HDU - 2072(字典树模板题amp;stl)
  18. sdlc esd.oracle.com,jdk下载安装
  19. 【已解决】ThinkdPad X1 麦克风没声音
  20. CAN 网络故障诊断

热门文章

  1. Android 基于4.4系统截屏的三指截屏
  2. 美容院营销宣传单怎样派发才有效?
  3. Solid Edge应用介绍及其与SolidWorks的对比
  4. 用类描述计算机中CPU的速度和硬盘的容量。要求Java的应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。
  5. 命令行使用mysql创建表空间_达梦命令行创建表空间
  6. 倒计时定时器(爆炸定时器)、间隔定时器、通过点击按钮停止定时器、异步执行问题
  7. PTA 查询名字中含有“明”字的男生的学生姓名和班级分数 3
  8. Flume04:【案例】使用Flume采集文件内容上传至HDFS
  9. 5+:非肿瘤能量代谢思路来喽
  10. 系统中一键改变字体大小和样式的方法