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 相关文章推荐
JavaScript this 深入理解
Jul 30 Javascript
jquery实现图片灯箱明暗的遮罩效果
Nov 15 Javascript
js截取固定长度的中英文字符的简单实例
Nov 22 Javascript
JS实现同时搜索百度和必应的方法
Jan 27 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 Javascript
JavaScript变量声明var,let.const及区别浅析
Apr 23 Javascript
Vue使用watch监听一个对象中的属性的实现方法
May 10 Javascript
深入了解响应式React Native Echarts组件
May 29 Javascript
vue 中 get / delete 传递数组参数方法
Mar 23 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无限极分类实现的两种解决方法
2013/04/28 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
php检测文件编码的方法示例
2014/04/25 PHP
初识PHP
2014/09/28 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
js计算精度问题小结
2013/04/22 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python Tkinter GUI编程入门介绍
2015/03/10 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
浅谈python中get pass用法
2019/03/19 Python
pyqt5中动画的使用详解
2020/04/01 Python
iPython pylab模式启动方式
2020/04/24 Python
用Python进行websocket接口测试
2020/10/16 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
连带责任保证书
2014/04/29 职场文书
入党积极分子个人总结
2015/03/02 职场文书
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python