Canvas---放大和缩小圆环插件
来源:互联网 发布:淘宝旺旺怎么加好友 编辑:程序博客网 时间:2024/05/29 03:54
最近小组招新,需要一个小型的动画,就是在第一页会有个放大和缩小的圆环。
主要用到的知识就是 canvas,看一下源码,内部注释比较清晰:
/* * selector: canvas元素选择器 * x:绘制的圆形x轴位置 * y:绘制的圆y轴位置 * r:绘制圆的半径 * outColor: 外部圆颜色 * innerColor:内部圆颜色 * enlarge: 首次是放大还是缩小 默认缩小 * timer: 变化速度 默认值 100 * */function animationBall(selector, x, y, r, outColor, innerColor, enlarge, timer) { var canvas = document.querySelector(selector) var context = canvas.getContext('2d') var flag = enlarge timer = timer || 100 var bR = r // 获取初始化外圆半径 为后面进行比较 // 创建内圆和外圆 function createBall(r) { context.lineWidth = 0.3 * r //线条宽度 ball(r, outColor) ball(r * 0.5, innerColor) } // 根据传入的 半径和颜色 画出圆环 function ball(r, color) { context.beginPath() context.arc(x, y, r, 0, Math.PI * 2, true) context.strokeStyle = color context.stroke() context.closePath() } /* 清除画布指定区域内容*/ function clearRect(r) { var w = 0.3 * r var distance = (r + w / 2) context.clearRect(x - distance, y - distance, distance * 2, distance * 2) } /* 定时器 画圆 *修改时间可以改变发生变化 */ setInterval(function () { if (r >= bR * 2 || r <= 0.5 * bR) { // r = bR flag = !flag } clearRect(r + 2) if (flag) { createBall(r++) } else { createBall(r--) } }, timer)}项目地址:https://github.com/Sir814/plugin/tree/master/plugins/canvas/%E5%9C%86%E7%8E%AF
阅读全文
1 0
- Canvas---放大和缩小圆环插件
- HTML5:使用Canvas和Input range控件放大缩小图片
- webview放大和缩小
- 数字图像的放大和缩小
- Bitmap的放大和缩小
- 圆的放大和缩小
- 图片的放大和缩小
- 图片的放大和缩小
- Qt 图片放大和缩小
- 图片的放大和缩小
- 图片的放大和缩小
- zoom插件实现图片放大缩小功能
- JS、JQ、FancyZoom 插件,分别实现兼容IE和火狐图片缩小放大
- app放大缩小,同时左右切换页面。插件pinchzoom.js在iscroll和swipper中使用
- Canvas——滑杆操控图片放大缩小
- 放大 缩小
- 【放大、缩小】
- VB+MapX移动鼠标放大和缩小
- [猜结论][乱搞][博弈]Codechef . Palindromic Game
- angularJs 一些API
- 学生信息管理系统—课程设置窗体中怎么一次性添加或删除课程
- PHP经验总结
- 百练2746:约瑟夫问题
- Canvas---放大和缩小圆环插件
- 2017.08.18【NOIP2017提高组A组】模拟赛
- C语言中对数据类型的理解
- 2017.8.18总结3-沙耶的玩偶
- 移植linux x86 C库 到android arm平台【交叉编译实现应用增量更新】
- Ubuntu——将应用固定在docky
- 图的深度遍历
- 第8章 Resources -- Spring4.3.8参考文档中文版
- GAIL之imitation代码运行(含PBS)