canvas实现图片根据滑块放大缩小效果


Posted in Javascript onFebruary 24, 2017

效果图:

canvas实现图片根据滑块放大缩小效果

图(1) 原始图

canvas实现图片根据滑块放大缩小效果

图(2) 缩小后

canvas实现图片根据滑块放大缩小效果

图(3) 放大后

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8" />
 <title></title>
 <style type="text/css">
  #canvas1{
  box-shadow: 3px 3px 10px black;
  }
 </style>
 </head>
 <body>
 <canvas id="canvas1" width="500" height="500"></canvas>
 <input type="range" name="slider" id="silder" value="0.5" max="1" min="0" step="0.01"/>
 </body>
 <script type="text/javascript">
 var canvas = document.getElementById("canvas1");
 var context = canvas.getContext("2d");
 var slider = document.getElementById("silder");
 var scale = slider.value;
 creatImg(scale);
  slider.onmousedown = function() {
  slider.onmousemove = function () {
   scale = slider.value;
   creatImg(scale);
  }
  }
 function creatImg (scale) {
 var myImg = new Image();
 myImg.src = "https://gss0.baidu.com/-vo3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/902397dda144ad34ac75c376d7a20cf430ad857d.jpg"
 var imgh = canvas.height * scale;
 var imgw = canvas.width * scale;
 var x = canvas.width / 2 - imgw / 2;
 var y = canvas.height / 2 - imgh / 2
 myImg.onload = function () {
 context.clearRect(0 , 0 , canvas.width , canvas.height);
 context.drawImage(myImg , x , y ,imgw , imgh)
 }
 }
 </script>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Dojo 学习笔记入门篇 First Dojo Example
Nov 15 Javascript
javascript setTimeout和setInterval 的区别
Dec 08 Javascript
JavaScript 原型继承之构造函数继承
Aug 26 Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
Dec 08 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
vue移动端路由切换实例分析
May 14 Javascript
Node.js API详解之 assert模块用法实例分析
May 26 Javascript
Postman参数化实现过程及原理解析
Aug 13 Javascript
一篇文章告诉你如何实现Vue前端分页和后端分页
Feb 18 Vue.js
详解JS中的立即执行函数
Feb 24 #Javascript
几行js代码实现自适应
Feb 24 #Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 #Javascript
JavaScript基本类型值-Number类型
Feb 24 #Javascript
AngularJS Toaster使用详解
Feb 24 #Javascript
js获取隐藏元素的宽高
Feb 24 #Javascript
js css自定义分页效果
Feb 24 #Javascript
You might like
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
关于PHP堆栈与列队的学习
2013/06/21 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Python 创建空的list,以及append用法讲解
2018/05/04 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
Python列表解析操作实例总结
2020/02/26 Python
Python调用JavaScript代码的方法
2020/10/27 Python
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
Java如何读取CLOB字段
2013/10/10 面试题
总裁办公室主任职责
2014/01/02 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
个人求职信范文分享
2014/01/31 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
Python代码实现双链表
2022/05/25 Python