博主新手,请多谅解。欢迎指导!

以下为完整的代码段:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"></head>
<body>
<canvas id="canvas" width="800" height="600"></canvas>
<script type="text/javascript">// 获取 canvas 的对象var canvas = document.getElementById('canvas');// 获取 canvas 的绘图环境var ctx = canvas.getContext('2d');// 设置太极的圆心和半径var cx = canvas.width/2, cy = canvas.height/2, cr = 300;// 平移坐标系ctx.translate(cx,cy);// 初始旋转的角度var angle = 0;//封装函数function drawTaiji(){//构造函数function tj(fs,cx,cy,cr,d1,d2,b){this.fs = fs;this.cx = cx;this.cy = cy;this.cr = cr;this.d1 = d1;this.d2 = d2;this.b = b;//画圆this.show1 = function(){ctx.save();ctx.fillStyle = this.fs;ctx.beginPath();ctx.arc(this.cx,this.cy,this.cr,this.d1,this.d2,this.b);ctx.fill();ctx.restore();}//描边this.show2 = function(){ctx.save();ctx.StrokeStyle = this.fs;ctx.beginPath();ctx.arc(this.cx,this.cy,this.cr,this.d1,this.d2,this.b);ctx.stroke();ctx.restore();}}//实例化对象以及调用var tj1 = new tj('#fff',0,0,cr,0,Math.PI,true);tj1.show1();tj1.show2();var tj2 = new tj('#000',0,0,cr,0,Math.PI,false);tj2.show1();var tj3 = new tj('#000',0-cr/2,0,cr/2,0,Math.PI*2,true);tj3.show1();var tj4 = new tj('#fff',0+cr/2,0,cr/2,0,Math.PI*2,true);tj4.show1();var tj5 = new tj('#fff',0-cr/2,0,cr/7,0,Math.PI*2,true);tj5.show1();var tj6 = new tj('#000',0+cr/2,0,cr/7,0,Math.PI*2,true);tj6.show1();}// 用定时器处理 太极旋转setInterval(function(){// 保存状态ctx.save();// 坐标系旋转ctx.rotate(Math.PI/180*(angle+=2));drawTaiji();// 恢复状态ctx.restore();},33)
</script>
</body>
</html>

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30669943/article/details/81145607

canvas制作旋转的太极图相关推荐

  1. 利用Canvas制作旋转的矩形

    利用Canvas制作旋转的矩形 HTML5 Canvas API提供了强大的图形绘制功能,包括形状.颜色.线条样式等.在本文中,我将展示如何使用Canvas API创建一个旋转的矩形. 一.HTML结 ...

  2. Html5 绘制旋转的太极图

    采用Html5+JavaScript在Canvas中绘制旋转的太极图,如下图所示: 具体思路和绘制逻辑,在上图中已有说明,代码如下: 1 <script type="text/java ...

  3. php 3d animation,如何用HTML5的Canvas制作3D动画效果

    HTML5的诞生给web前端界带来了不小轰动,像什么动画旋转.图片滑块.图片轮播等等这些3D特效,也引发了不少朋友想要学习HTML5的好奇心.最近我一直在做canvas动画效果,发现canvas这个东 ...

  4. 使用canvas制作背景水印

    记录使用canvas 制作文字背景水印 // 首先创建canvas标签 并设置画布大小var watchCanvas = document.createElement('canvas'); // 创建 ...

  5. canvas制作钟表

    之前用html+css+JavaScript实现了一个简单钟表,但还是有一些问题,主要是一些css属性不同浏览器支持效果不一样,所以尝试用 canvas实现了一个简单的钟表,效果在下方,当然了,采用c ...

  6. canvas制作简单钟表

    之前用html+css+JavaScript实现了一个简单钟表,但还是有一些问题,主要是一些css属性不同浏览器支持效果不一样,所以尝试用 canvas实现了一个简单的钟表,效果在下方,当然了,采用c ...

  7. H5上传图片并使用canvas制作海报

    马上就要"十一"国庆节了,又恰逢公司已经三周岁了,所以市场部和产品共同策划了一个"正青春,共成长"的主题代言活动,准备在国庆节以及中秋节期间让公司员工和用户为公 ...

  8. 用离屏canvas制作仿Prezi页面转场动画特效

    用离屏canvas制作网站页面特效.仿Prezi转场特效 首屏效果 页面切换转场效果 · 首屏圆形循环扩散效果 首屏效果的难点在于圆形循环扩散动画和贝塞尔曲线的绘制.圆形逐渐扩大的动画并不难,关键在于 ...

  9. canvas 制作动画(下)

    canvas 制作动画(下) 1. 改变方向 在 canvas 制作动画(上)已经介绍了如何创建动画,但还没有讨论如何控制形状动画的方式.我觉得只有直线动画会让人觉得很枯燥,不知你是否也这样想. 你已 ...

最新文章

  1. 几个比较好用的Windows API在C#中的用法。
  2. python中哪里用到缩进_Python编程常见十大错误
  3. 你该知道什么值得买 该有多活跃(核心数据)
  4. 利用Java实现串口全双工通讯
  5. 【BZOJ-2435】道路修建 (树形DP?)DFS
  6. 38 SD配置-销售凭证设置-定义拒绝原因
  7. 【Elasticsearch】 6 种 能使 es 挂掉的方法
  8. 左手补贴右手社交 杀入直播红海的拼多多会有机会吗?
  9. android手机进入动画,安卓用户必读,如何进入手机开发者模式,以及你必用的功能!...
  10. 2022年最佳WordPress企业主题
  11. 千呼万唤始出来的CoordinatorLayout
  12. IDEA报错:Lombok Requires Annotation Processing, Annotation processing seems to be disabled
  13. 自己写的一个简单的Android终端模拟器
  14. 如何在线绘制简单又漂亮的思维导图
  15. 【个人代码及思路】2018年9月CSP第一题:卖菜
  16. Aspose实现word转图片、pdf
  17. 解决报错: You have not concluded your merge (MERGE_HEAD exists)
  18. 你必须要看的IT培训机构选择意见
  19. 【数据科学】斯皮尔曼的等级相关系数(Spearman's coefficient)
  20. 金航数码再度携手 The Open Group年度峰会

热门文章

  1. C语言中实现bool(布尔型变量)
  2. java.lang.ClassNotFoundException: sun . jdbc . odbc . JdbcOdbcDriver
  3. LeetCode 1 Two Sum——在数组上遍历出花样
  4. 详细了解java中的null_深入理解java中的null“类型”
  5. loc入门案例和解读,带你快速了解spring的loc
  6. DL之CNN(paper):关于CNN(卷积神经网络)经典论文原文(1950~2018)简介、下载地址大全(非常有价值)之持续更新(吐血整理)
  7. 栈Stack和段寄存器SS,SP(学习汇编)
  8. 对不起我爱你在线观看(完整版)
  9. idea下设置git忽略提交ignore
  10. Java限流策略与算法