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 相关文章推荐
JQuery扩展插件Validate—4设置错误提示的样式
Sep 05 Javascript
Jquery submit()无法提交问题
Apr 21 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
Apr 17 Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
Sep 26 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
Sep 30 Javascript
详解vue-cli构建项目反向代理配置
Sep 07 Javascript
详解javascript常用工具类的封装
Jan 30 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
JavaScript canvas动画实现时钟效果
Feb 10 Javascript
基于ajax实现上传图片代码示例解析
Dec 03 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 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 获取客户端的真实ip
2009/11/30 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
Python Requests 基础入门
2016/04/07 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
python scipy卷积运算的实现方法
2019/09/16 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
创立科技Java面试题
2015/11/29 面试题
物业消防安全责任书
2014/07/23 职场文书
创先争优公开承诺书
2014/08/30 职场文书
小学生毕业评语
2014/12/26 职场文书
刘公岛导游词
2015/02/05 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript