h5 canvas 绘制的写轮眼特效
来源:互联网 发布:面试淘宝美工常见问题 编辑:程序博客网 时间:2024/04/30 06:17
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>$</title></head><body><canvas id="canvas" width="800" height="600" style="border:1px solid red"></canvas></body><script src="jquery-2.1.4.js"></script><script> var colors = (function () { return ( "aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue," + "blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk," + "crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta," + "darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray," + "darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick," + "floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey," + "honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon," + "lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink," + "lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow," + "lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple," + "mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue," + "mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid," + "palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue," + "purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna," + "silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,transparent," + "tomato,turquoise,violet,wheat,white,whitesmoke,yellow,yellowgreen" ).split(','); })(); //颜色集合 var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); function Chain(opt) {/* if (!opt) throw new Error("请设置相关参数"); if(!opt.ctx) throw new Error("请传递上下文"); if(!opt.bigX) throw new Error("请传递大圆圆心x"); if(!opt.bigY) throw new Error("请传递大圆圆心y"); var _defaultOpt={ num: 5, start: 0, bigRadius:150, smallRadius:10 }; $.extend(this,_defaultOpt,opt);*/ for(var key in opt){ this[key] = opt[key]; } this.drawChain(); } Chain.prototype = { constructor: Chain, drawChain: function () { this.drawBigCircle(); this.drawSmallCircles(); }, drawBigCircle: function () { var ctx = this.ctx; ctx.beginPath(); //绘制大圆 ctx.arc(this.bigX, this.bigY, this.bigRadius, 0, 2 * Math.PI); ctx.stroke(); }, drawSmallCircles: function () { //绘制小圆 var radian = 2 * Math.PI / 5; for (var i = 0; i < this.num; i++) { var smallRadian = this.start + radian * i; this.drawSmallCircle(smallRadian,this.color[i*10+10]); } }, drawSmallCircle: function (smallRadian,color) { var b = this.bigRadius * Math.cos(smallRadian); var h = this.bigRadius * Math.sin(smallRadian); var sX = this.bigX + b; var sY = this.bigY + h; var ctx = this.ctx; this.ctx.fillStyle = this.color; ctx.beginPath(); ctx.arc(sX, sY, this.smallRadius, 0, 2 * Math.PI); ctx.fillStyle = color; ctx.fill(); } }; var start = 0; var start2 = 1; var bigR = 150; var scale = true; var timer = setInterval(function () { ctx.clearRect(0, 0, canvas.width, canvas.height); new Chain({ ctx:ctx, bigX:300, bigY:300, bigRadius:bigR, num:5, smallRadius:10, start:start, color:colors }); new Chain({ ctx:ctx, bigX:300, bigY:300, bigRadius:300, num:20, smallRadius:30, start:start2, color:colors }); if(scale){ bigR--; if(bigR == 10){ scale = false; } }else{ bigR++; if(bigR == 150){ scale = true; } } start2 += 0.002*Math.PI; start += 0.01 * Math.PI; }, 100);</script></html>
0 0
- h5 canvas 绘制的写轮眼特效
- h5 canvas绘制的时钟
- H5 canvas无法绘制图像的原因
- h5 canvas绘制的旋转小球
- H5 canvas 绘制五星红旗
- H5 canvas 绘制简易时钟
- H5动画,canvas绘制圆环百分比进度的动态效果
- H5动画,canvas绘制圆环百分比进度的动态效果
- canvas 简单的绘制H5页面生成图片
- 用H5 canvas实现唯美渐变色块的绘制
- H5炫酷特效系列2——canvas特效-炫酷的心
- H5的canvas属性
- h5的画布Canvas
- H5学习之9 canvas的运用4 图片的绘制
- canvas绘图工具加上JavaScript特效绘制出能动的太阳系
- 特效的批量绘制
- 特效的批量绘制
- 特效的批量绘制
- 基于Vue2的移动端开发环境搭建详解
- 实现两个线程A,B,A打印5个奇数,B打印5个偶数,交替进行,如此循环50次
- 用Struts2写了一个小Demo,含简单的CRUB功能
- POI生成excel数据量大时内存溢出解决
- 4650: [Noi2016]优秀的拆分
- h5 canvas 绘制的写轮眼特效
- 安卓学习 权限Permission
- 深度学习方法(十一):卷积神经网络结构变化——Google Inception V1-V4,Xception(depthwise convolution)
- 经典算法汇总-第一章
- Leetcode练习 412. Fizz Buzz
- 【作业2】客户端的配置与应用
- tree
- 简单的RecycerView
- h5 canvas绘制的旋转小球