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系列(16) 闭包(Closures)
Apr 12 Javascript
jQuery 1.8 Release版本发布了
Aug 14 Javascript
JS仿百度搜索自动提示框匹配查询功能
Nov 21 Javascript
arguments对象验证函数的参数是否合法
Jun 26 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
Mar 24 Javascript
js实现上传图片及时预览
May 07 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
Sep 18 Javascript
使用jQuery实现动态添加小广告
Jul 11 jQuery
React/Redux应用使用Async/Await的方法
Nov 16 Javascript
JS canvas绘制五子棋的棋盘
May 28 Javascript
iview实现图片上传功能
Jun 29 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/07/12 PHP
PHP不用第三变量交换2个变量的值的解决方法
2013/06/02 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
幼儿教师工作感言
2014/02/14 职场文书
学生安全责任书范本
2014/07/24 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
《雷雨》教学反思
2016/02/20 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
资产移交协议书
2016/03/24 职场文书