效果如下:

<!DOCTYPE HTML>

<html> 
<body> 
<canvas id="myCanvas" width="500" height="500" >your browser does not support the canvas tag </canvas> 
<script type="text/javascript"> 
var canvas = document.getElementById('myCanvas'); 
var ctx = canvas.getContext("2d"); 
var angle = 0; 
var count = 360; 
var clrA = '#000'; 
var clrB = 'red';

function taiji(x, y, radius, angle, wise) { 
angleangle = angle || 0; 
wisewise = wise ? 1 : -1; 
ctx.save(); 
ctx.translate(x, y); 
ctx.rotate(angle); 
ctx.fillStyle = clrA; 
ctx.beginPath(); 
ctx.arc(0, 0, radius, 0, Math.PI, true); 
ctx.fill(); 
ctx.beginPath(); 
ctx.fillStyle = clrB; 
ctx.arc(0, 0, radius, 0, Math.PI, false); 
ctx.fill(); 
ctx.fillStyle = clrB; 
ctx.beginPath(); 
ctx.arc(wise * -0.5 * radius, 0, radius / 2, 0, Math.PI * 2, true); 
ctx.fill(); 
ctx.beginPath(); 
ctx.fillStyle = clrA; 
ctx.arc(wise * +0.5 * radius, 0, radius / 2, 0, Math.PI * 2, false); 
ctx.arc(wise * -0.5 * radius, 0, radius / 10, 0, Math.PI * 2, true); 
ctx.fill(); 
ctx.beginPath(); 
ctx.fillStyle = clrB; 
ctx.arc(wise * +0.5 * radius, 0, radius / 10, 0, Math.PI * 2, true); 
ctx.fill(); 
ctx.restore(); 
}

loop = setInterval(function () { 
beginTag = true; 
ctx.clearRect(0, 0, canvas.width, canvas.height); 
taiji(200, 200, 50, Math.PI * (angle / count) * 2, true); 
//taiji(350, 350, 50, Math.PI * ((count - angle) / count) * 2, false); 
angle = (angle + 5) % count; 
}, 50); 
</script> </p> <p></body> 
</html>

Canvas实现太极图案并旋转相关推荐

  1. HTML5 Canvas组件绘制太极图案

    一实现思路: 实现原理主要是利用HTML5的Canvas组件提供的path函数功能来绘制圆,首先绘 制两个半圆,分别为黑色和白色,组成一个圆,绘制完成以后再分别绘制一个黑色 和白色的圆在绘制好的黑白圆 ...

  2. CSS3 实现太极图案

    CSS3实现太极图案 分析图片组成(如下图所示): 先给出html代码: <div class="box"><div class="content&qu ...

  3. CSS3使用一个盒子实现太极图案

    使用一个盒子实现太极图案 代码如下: <body><div></div> </body> * {margin: 0;padding: 0; } body ...

  4. 使用Java 2D绘制黑白太极图案

    一:基本原理 利用Java 2D的Area对象对绘制形状几何操作的支持,完成太极图案的绘制,使用Paint来 完成对不同颜色的填充.Java 2D图形API Area对Shape支持四种几何操作: - ...

  5. 如何在html5中实现多圆,JavaScript与html5如何实现canvas绘制圆形图案的方法介绍

    这篇文章主要介绍了js+html5实现canvas绘制圆形图案的方法,涉及html5图形绘制的基础技巧,需要的朋友可以参考下 本文实例讲述了js+html5实现canvas绘制圆形图案的方法.分享给大 ...

  6. canvas 变形记——移动、旋转、缩放、变形

    canvas 有几个变形形式:移动.旋转.缩放.变形.在做变形之前先保存状态是一个良好的习惯.大多数情况下,调用 restore 方法比手动恢复原先的状态要简单得多.又,如果你是在一个循环中做位移但没 ...

  7. HTML怎么让正方形转动,第十讲:html5中canvas实现正方体的动态旋转

    在html5的画布上,画出三维图形,并且实现它动态的围着一条轴进行旋转. 实现步骤: 1.定义一个对象Vector3,用于存储三维的坐标 2.定义一个观察点坐标和显示屏,初始化观察点的显示屏的距离(主 ...

  8. HTML5 Canvas平移,放缩,旋转演示

    HTML5 Canvas中提供了实现图形平移,旋转,放缩的API. 平移(translate) 平移坐标translate(x, y)意思是把(0,0)坐标平移到(x, y),原来的(0,0)坐标则变 ...

  9. 使用canvas绘制太极

    太极图 今天学习canvas,哈哈哈,其实我还搞不清楚方向来者,不过太极倒是画出来了,记录一下,方便日后查询 理论:绘制圆形cxt.arc(x,y,r,起点弧度(3点位置),终止弧度,bool(默认是 ...

  10. canvas图形操作(缩放、旋转、位移)

    一.缩放 <!doctype html> <html lang="en"> <head><meta charset="UTF-8 ...

最新文章

  1. esl8266开发之旅_从ESL老师到越南软件开发人员的旅程
  2. 如何在Linux(ubuntu21.04)下安装chrome浏览器
  3. 屠龙之路_坚持就是胜利_NinthDay
  4. @ParameterizedTest在@CvsSource中具有空值
  5. python3多线程编程_Python 3-多线程编程
  6. 循环机换变速箱油教程_变速箱油用循环机换还是重力换更好?一次讲清楚,新手司机学学...
  7. 213. 打家劫舍 II(JavaScript)
  8. 一加会不会适配鸿蒙系统,或将适配高通平台 传闻一些手机厂商正接触华为鸿蒙OS计划适配...
  9. 关于vs08生成解决方案慢的解决方法
  10. 测试视频软件支持的格式,支持82种视频格式!电视平台最强的本地播放器!
  11. Linux显示器超频黑屏怎么办,显示器超频黑屏怎么办
  12. CHM格式打不开解决方案
  13. 软件项目的规模、工作量和成本是如何进行估算或评估的?
  14. 【R】【课程笔记】06 金融波动模型
  15. IntelliJ Save Action
  16. 深度模型框架(持续更新)
  17. 直插电阻通过色环读取电阻阻值,误差与温度系数方法总结
  18. 华为手机体验鸿蒙系统,再过40天,你就能在华为手机上,体验到鸿蒙系统了? - 区块网...
  19. 算法将成为人工智能时代的“科技原力”
  20. 看了这几个原创AI公众号,再也不担心错过前沿技术干货啦!

热门文章

  1. Linux bridge模块的一次重构(让bridge归bridge让eth0归eth0)
  2. 洛谷分支结构题单前一半 深基例2到例9 P5710 数的性质 P5711 闰年判断 P5712 Apples P5713 洛谷团队系统 P5714 肥胖问题 P5715 三位数排序 P5716月份天数
  3. 机器人genghis_全球50大经典机器人
  4. exmail邮件被退回
  5. mysql左连接查询举例_mysql左右连接查询(有示例图)
  6. oracle sql 实现三张表左连接查询
  7. “三次握手,四次挥手”你真的懂吗? 1
  8. 上海-苏州 100公里徒步旅行心情分享(二)
  9. r语言 svycoxph_基于R语言实现COX模型诊断
  10. html5 canvas 涂鸦画板