Canvas实现太极图案并旋转
效果如下:
<!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实现太极图案并旋转相关推荐
- HTML5 Canvas组件绘制太极图案
一实现思路: 实现原理主要是利用HTML5的Canvas组件提供的path函数功能来绘制圆,首先绘 制两个半圆,分别为黑色和白色,组成一个圆,绘制完成以后再分别绘制一个黑色 和白色的圆在绘制好的黑白圆 ...
- CSS3 实现太极图案
CSS3实现太极图案 分析图片组成(如下图所示): 先给出html代码: <div class="box"><div class="content&qu ...
- CSS3使用一个盒子实现太极图案
使用一个盒子实现太极图案 代码如下: <body><div></div> </body> * {margin: 0;padding: 0; } body ...
- 使用Java 2D绘制黑白太极图案
一:基本原理 利用Java 2D的Area对象对绘制形状几何操作的支持,完成太极图案的绘制,使用Paint来 完成对不同颜色的填充.Java 2D图形API Area对Shape支持四种几何操作: - ...
- 如何在html5中实现多圆,JavaScript与html5如何实现canvas绘制圆形图案的方法介绍
这篇文章主要介绍了js+html5实现canvas绘制圆形图案的方法,涉及html5图形绘制的基础技巧,需要的朋友可以参考下 本文实例讲述了js+html5实现canvas绘制圆形图案的方法.分享给大 ...
- canvas 变形记——移动、旋转、缩放、变形
canvas 有几个变形形式:移动.旋转.缩放.变形.在做变形之前先保存状态是一个良好的习惯.大多数情况下,调用 restore 方法比手动恢复原先的状态要简单得多.又,如果你是在一个循环中做位移但没 ...
- HTML怎么让正方形转动,第十讲:html5中canvas实现正方体的动态旋转
在html5的画布上,画出三维图形,并且实现它动态的围着一条轴进行旋转. 实现步骤: 1.定义一个对象Vector3,用于存储三维的坐标 2.定义一个观察点坐标和显示屏,初始化观察点的显示屏的距离(主 ...
- HTML5 Canvas平移,放缩,旋转演示
HTML5 Canvas中提供了实现图形平移,旋转,放缩的API. 平移(translate) 平移坐标translate(x, y)意思是把(0,0)坐标平移到(x, y),原来的(0,0)坐标则变 ...
- 使用canvas绘制太极
太极图 今天学习canvas,哈哈哈,其实我还搞不清楚方向来者,不过太极倒是画出来了,记录一下,方便日后查询 理论:绘制圆形cxt.arc(x,y,r,起点弧度(3点位置),终止弧度,bool(默认是 ...
- canvas图形操作(缩放、旋转、位移)
一.缩放 <!doctype html> <html lang="en"> <head><meta charset="UTF-8 ...
最新文章
- esl8266开发之旅_从ESL老师到越南软件开发人员的旅程
- 如何在Linux(ubuntu21.04)下安装chrome浏览器
- 屠龙之路_坚持就是胜利_NinthDay
- @ParameterizedTest在@CvsSource中具有空值
- python3多线程编程_Python 3-多线程编程
- 循环机换变速箱油教程_变速箱油用循环机换还是重力换更好?一次讲清楚,新手司机学学...
- 213. 打家劫舍 II(JavaScript)
- 一加会不会适配鸿蒙系统,或将适配高通平台 传闻一些手机厂商正接触华为鸿蒙OS计划适配...
- 关于vs08生成解决方案慢的解决方法
- 测试视频软件支持的格式,支持82种视频格式!电视平台最强的本地播放器!
- Linux显示器超频黑屏怎么办,显示器超频黑屏怎么办
- CHM格式打不开解决方案
- 软件项目的规模、工作量和成本是如何进行估算或评估的?
- 【R】【课程笔记】06 金融波动模型
- IntelliJ Save Action
- 深度模型框架(持续更新)
- 直插电阻通过色环读取电阻阻值,误差与温度系数方法总结
- 华为手机体验鸿蒙系统,再过40天,你就能在华为手机上,体验到鸿蒙系统了? - 区块网...
- 算法将成为人工智能时代的“科技原力”
- 看了这几个原创AI公众号,再也不担心错过前沿技术干货啦!
热门文章
- Linux bridge模块的一次重构(让bridge归bridge让eth0归eth0)
- 洛谷分支结构题单前一半 深基例2到例9 P5710 数的性质 P5711 闰年判断 P5712 Apples P5713 洛谷团队系统 P5714 肥胖问题 P5715 三位数排序 P5716月份天数
- 机器人genghis_全球50大经典机器人
- exmail邮件被退回
- mysql左连接查询举例_mysql左右连接查询(有示例图)
- oracle sql 实现三张表左连接查询
- “三次握手,四次挥手”你真的懂吗? 1
- 上海-苏州 100公里徒步旅行心情分享(二)
- r语言 svycoxph_基于R语言实现COX模型诊断
- html5 canvas 涂鸦画板