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中把数字转换为字符串的程序代码
Jun 19 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
jquery(hide方法)隐藏指定元素实例
Nov 11 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
AngularJS全局scope与Isolate scope通信用法示例
Nov 22 Javascript
对于Javascript 执行上下文的全面了解
Sep 05 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
Angular4 Select选择改变事件的方法
Oct 09 Javascript
微信小程序日历效果
Dec 29 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
Apr 15 Javascript
layui实现数据表格点击搜索功能
Mar 26 Javascript
详解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数组一对一替换实现代码
2012/08/31 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
实例Python处理XML文件的方法
2015/08/31 Python
python实现kMeans算法
2017/12/21 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
高中语文课后反思
2014/04/27 职场文书
教师工作决心书
2015/02/04 职场文书
刮痧观后感
2015/06/05 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python