Canvas绘制旋转太极
2014-12-11 12:07
330 查看
之前在一片博文里面看到博主画了一个太极(http://blog.csdn.net/u011043843/article/details/41783571),不过里面的太极旋转是靠每0.5秒重新绘画一次而实现了。正好最近要学html5和css3,我就给它加了一个css3的旋转方法,放在上面。旋转更流畅了
HTML:
CSS:
HTML:
<!DOCTYPE> <html> <head> <meta charset="utf-8" /> <title>Canvas绘制旋转太极</title> </head> <body> <canvas id="face" width="200" height="200"></canvas> </body> </html>
var canvas = document.getElementById("face"); var cxt = canvas.getContext('2d'); var r = 100; //半径 var pointX = 0; //圆心x坐标 var pointY = 0; //圆心y坐标 // 绘制扇形填充 function pie (g,radius,startAngle,endAngle,color,x,y) { <span style="white-space:pre"> </span> g.fillStyle = color; g.beginPath(); g.arc(x,y,radius,startAngle,endAngle,true); g.closePath(); g.fill(); } var q = 0; function redrawTaiji() { // 保存状态 cxt.save(); // 清理图像 cxt.clearRect(0,0,canvas.width,canvas.height); cxt.translate(100,100); q += Math.PI / 6; cxt.rotate(q); cxt.beginPath(); // 绘制两个最大圆 pie(cxt,r,3/4*Math.PI*2,5/4*Math.PI*2,"#FF072A",pointX,pointY); pie(cxt,r,1/4*Math.PI*2,3/4*Math.PI*2,"#195089",pointX,pointY); // 绘制两个中圆 pie(cxt,r/2,0,Math.PI*2,"#FF072A",pointX,pointY+r/2); pie(cxt,r/2,0,Math.PI*2,"#195089",pointX,pointY-r/2); // 绘制两个最小圆 pie(cxt,r/4,0,Math.PI*2,"#FF072A",pointX,pointY-r/2); pie(cxt,r/4,0,Math.PI*2,"#195089",pointX,pointY+r/2); cxt.closePath(); // 恢复状态 cxt.restore(); } function initTaiji() { redrawTaiji(); } initTaiji();
CSS:
@-webkit-keyframes rotate { from {-webkit-transform:rotate(0deg);} to {-webkit-transform:rotate(360deg);}<pre name="code" class="css">} #face { -webkit-mask-image: url("data:image/png[...]"); -webkit-mask-size: 30px 30px; -webkit-animation-name: rotate; -webkit-animation-duration: 4s; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: linear; }
相关文章推荐
- HTML5 Canvas 绘制旋转45度佛教万字
- JavaScript中canvas绘制太极图案
- Android 通过CANVAS旋转 绘制文字 竖直方向DEMO
- Android开发:ImageView上绘制旋转圆环(透明度不同的旋转圆环,利用canvas.drawArc实现)
- 关于canvas绘制大转盘并旋转
- 在canvas里绘制多个图像并且旋转图像
- HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
- 【JS】使用canvas绘制动画-旋转风车加速减速启动停止
- Canvas实现太极图案并旋转
- 测试canvas绘制旋转文字的性能
- HTML 5:绘制旋转的太极图
- HTML 5:绘制旋转的太极图
- Html5 绘制旋转的太极图
- android:Canvas绘制自旋转Bitmap
- HTML5 Canvas 绘制太极图
- H5canvas加载图片·绘制像素图·旋转平移缩放图片等等学习实践
- android 通过canvas旋转 绘制文字 竖直等不同方向的显示
- HTML5 Canvas组件绘制太极图案
- canvas加载图片·绘制像素图·旋转平移缩放图片
- 利用 GDI+ 绘制旋转的太极