Canvas制作旋转的太极的示例


Posted in HTML / CSS onMarch 09, 2018

前言

好久没动canvas了,今下午突然想回顾一下,就写了个旋转的太极,哈哈,蛮好玩的,在这里就将自己写的过程展示出来,旋转使用的css实现的,没有用canvas自己的,希望大佬们不要吐槽。

css

body{
    background: #ddd;
}
#canvas{
    position: absolute;
    left: 40%;
    top: 30%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-animation: testAnimate 3s linear infinite;
    -o-animation: testAnimate 3s linear infinite;
    animation: testAnimate 3s linear infinite;
}
@keyframes testAnimate {
    from {
        -webkit-transform: rotate(0);
        -moz-transform: rotate(0);
        -ms-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0);
    }
    to {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

html

<body>
    <canvas id="canvas" width="500" height="500"></canvas>
</body>

js

let ctx = document
    .getElementById("canvas")
    .getContext("2d");
// left-black-big
ctx.beginPath();
ctx.fillStyle = "#000";
ctx.arc(250,250,200,Math.PI/2,Math.PI*1.5,false);
ctx.closePath();
ctx.fill();
// right-white-big
ctx.beginPath();
ctx.fillStyle = "#fff";
ctx.arc(250,250,200,Math.PI/2,Math.PI*1.5,true);
ctx.closePath();
ctx.fill();
// top-black-middle
ctx.beginPath();
ctx.fillStyle = "#000";
ctx.arc(250,150,100,Math.PI/2,Math.PI*1.5,true);
ctx.closePath();
ctx.fill();
// bottom-white-middle
ctx.beginPath();
ctx.fillStyle = "#fff";
ctx.arc(250,350,100,Math.PI/2,Math.PI*1.5,false);
ctx.closePath();
ctx.fill();
// top-white-small
ctx.beginPath();
ctx.fillStyle = "#fff";
ctx.arc(250,150,25,0,Math.PI*2);
ctx.closePath();
ctx.fill();
// bottom-black-small
ctx.beginPath();
ctx.fillStyle = "#000";
ctx.arc(250,350,25,0,Math.PI*2);
ctx.closePath();
ctx.fill();

效果

Canvas制作旋转的太极的示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
利用CSS3实现炫酷的飞机起飞动画
Sep 17 HTML / CSS
纯CSS3实现地球自转实现代码(图文教程附送源码)
Dec 26 HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 HTML / CSS
CSS3中颜色线性渐变实战
Jul 18 HTML / CSS
CSS3制作炫酷的自定义发光文字
Mar 28 HTML / CSS
浅谈CSS3 动画卡顿解决方案
Jan 02 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 HTML / CSS
html5时钟实现代码
Oct 22 HTML / CSS
H5最强接口之canvas实现动态图形功能
May 31 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 HTML / CSS
Web前端:CSS最强总结 附详细代码
Mar 31 HTML / CSS
HTML页面中使两个div并排显示的实现
May 15 HTML / CSS
详解px单位html5响应式方案
Mar 08 #HTML / CSS
html5开发三八女王节表白神器
Mar 07 #HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
Mar 07 #HTML / CSS
Canvas制作的下雨动画的示例
Mar 06 #HTML / CSS
html2canvas把div保存图片高清图的方法示例
Mar 05 #HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
Mar 02 #HTML / CSS
基于MUI框架使用HTML5实现的二维码扫描功能
Mar 01 #HTML / CSS
You might like
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
python中sys.argv参数用法实例分析
2015/05/20 Python
深入理解Django的自定义过滤器
2017/10/17 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
python命令 -u参数用法解析
2019/10/24 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
上海期货面试题
2014/01/31 面试题
大宝sod蜜广告词
2014/03/21 职场文书
节约用水倡议书
2014/04/16 职场文书
工资证明格式模板
2015/06/12 职场文书
导游词之崇武古城
2019/10/07 职场文书
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫
Python 统计序列中元素的出现频度
2022/04/26 Python