博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML 5:绘制旋转的太极图
阅读量:4286 次
发布时间:2019-05-27

本文共 1179 字,大约阅读时间需要 3 分钟。

HTML:

    
Canvas绘制旋转太极

 

JavaScript:

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)  {     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();     setInterval(redrawTaiji,500); } initTaiji();

 

效果:

原文首发:

下一篇:

你可能感兴趣的文章
iOS AsynSocket实现即时通讯
查看>>
iOS VFL语言
查看>>
iOS UIPopoverController以及iOS9以后UIPopPresentationController的使用、封装到分类中
查看>>
宏定义
查看>>
OC中字符串的操作
查看>>
ios之NSFileManager文件操作
查看>>
iOS NSThread多线程枷锁
查看>>
ios/OC之调用系统相机录像、拍照、打开相册
查看>>
iOS中需要重新布局的几中情况调用的方法
查看>>
iOS. NSCache的缓存
查看>>
iOS之属性引用self.xx与_xx的区别
查看>>
iOS 项目的基本配置bundleId/版本命名/....
查看>>
iOS之CoreImage图像处理框架
查看>>
iOS tableview中cell设置的注意事项
查看>>
iOS之文本处框架CoreText(C语言的框架)
查看>>
iOS之文本处理框架TextKit介绍/NSMutableString
查看>>
iOS. Instruments的使用
查看>>
iOS中显示GIF动画
查看>>
iOS CALayer的transform属性(QuartzCore框架)和view的transform属性(CoreGraphics框架)
查看>>
iOS 网络请求判断连接和状态码
查看>>