canvas绘制太极图的实现示例


Posted in HTML / CSS onApril 29, 2020

看到了很多人写的太极图案,自己也来搞一下,今天就来介绍一下

css样式代码

.animation{
  width: 800px;
  height: 800px;
  border: 1px solid #000;
}
#canvas{
  animation: rotate 6s linear infinite;  
}
/* 给太极图设置旋转动画 */
@keyframes rotate{
  0%{
    transform: none;
  }
  100%{
    transform: rotate(360deg);
  }
}

javascript代码

//文档加载完毕后执行函数
window.onload = function(){
  //获取画布对象
  var canvas = document.getElementById('canvas');
  //获取上下文对象
  var context = canvas.getContext('2d');
  //圆开始路径
  context.beginPath();
  //绘制最外层的大圆(黑色)
  context.arc(400, 400, 300, Math.PI / 180 * 0, Math.PI / 180 * 360);
  //将大圆填充为黑色
  context.fillStyle = '#000';
  context.fill();
  //绘制左半圆(白色)
  context.beginPath();
  context.arc(400, 400, 300, Math.PI / 180 * 90, Math.PI / 180 * 270);
  context.fillStyle = '#fff';
  context.fill(); 
  //绘制右半圆(黑色),会覆盖外层大圆,颜色一样。所以写不写都可以
  /* context.beginPath();
  context.arc(400, 400, 300, Math.PI / 180 * 270, Math.PI / 180 * 90);
  context.fillStyle = '#000';
  context.fill(); */
  //绘制左上半圆(黑色)
  context.beginPath();
  context.arc(400, 250, 150, Math.PI / 180 * 90, Math.PI / 180 * 270);
  context.fillStyle = '#000';
  context.fill(); 
  //绘制右下半圆(白色)
  context.beginPath();
  context.arc(400, 550, 150, Math.PI / 180 * 270, Math.PI / 180 * 90);
  context.fillStyle = '#fff';
  context.fill(); 
  //绘制左上小半圆(白色)
  context.beginPath();
  context.arc(400, 250, 35, Math.PI / 180 * 0, Math.PI / 180 * 360);
  context.fillStyle = '#fff';
  context.fill(); 
  //绘制右下小半圆(黑色)
  context.beginPath();
  context.arc(400, 550, 35, Math.PI / 180 * 0, Math.PI / 180 * 360);
  context.fillStyle = '#000';
  context.fill(); 
}

html代码

<div class="animation">
    <canvas id="canvas" width="800" height="800"></canvas>
  </div>

设置动画之后的太极图效果

canvas绘制太极图的实现示例

到此这篇关于canvas绘制太极图的实现示例的文章就介绍到这了,更多相关canvas太极图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
纯css3(无图片/js)制作的几个社交媒体网站的图标
Mar 21 HTML / CSS
常用的四种CSS透明属性介绍
Apr 12 HTML / CSS
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
Jun 11 HTML / CSS
目前不被任何主流浏览器支持的CSS3属性汇总
Jul 21 HTML / CSS
结合CSS3的新特性来总结垂直居中的实现方法
May 30 HTML / CSS
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
Mar 02 HTML / CSS
css3 伪类选择器快速复习小结
Sep 10 HTML / CSS
使用phonegap检测网络状态的方法
Mar 30 HTML / CSS
IE9对HTML5中部分属性不支持的原因分析
Oct 15 HTML / CSS
HTML5新增加的功能详解
Sep 05 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
Mar 31 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
Nov 10 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
Apr 29 #HTML / CSS
HTML5调用手机发短信和打电话功能
Apr 29 #HTML / CSS
H5离线存储Manifest原理及使用
Apr 28 #HTML / CSS
HTML5中的网络存储实现方式
Apr 28 #HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
Apr 27 #HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
Apr 26 #HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
Apr 23 #HTML / CSS
You might like
php自动加载方式集合
2016/04/04 PHP
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
python实现简单的socket server实例
2015/04/29 Python
python列表操作之extend和append的区别实例分析
2015/07/28 Python
Python双向循环链表实现方法分析
2018/07/30 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
django Admin文档生成器使用详解
2019/07/22 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
新学期开学演讲稿
2014/05/24 职场文书
给朋友的赠语
2015/06/23 职场文书
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python
Go并发4种方法简明讲解
2022/04/06 Golang