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中的transform属性进行2D和3D变换的基本用法
May 12 HTML / CSS
CSS实现雨滴动画效果的实例代码
Oct 08 HTML / CSS
css3 实现滚动条美化效果的实例代码
Jan 06 HTML / CSS
css3实现书本翻页效果的示例代码
Mar 08 HTML / CSS
详解H5本地储存Web Storage
Jul 03 HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
Jun 03 HTML / CSS
html5指南-5.使用web storage存储键值对的数据
Jan 07 HTML / CSS
HTML5之SVG 2D入门4—笔画与填充
Jan 30 HTML / CSS
使用jquery实现HTML5响应式导航菜单教程
Apr 02 HTML / CSS
Html5实现用户注册自动校验功能实例代码
May 24 HTML / CSS
HTML5 canvas基本绘图之图形组合
Jun 27 HTML / CSS
利用Storage Event实现页面间通信的示例代码
Jul 26 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
对于PHP 5.4 你必须要知道的
2013/08/07 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python格式化css文件的方法
2015/03/10 Python
python调用fortran模块
2016/04/08 Python
Python中使用haystack实现django全文检索搜索引擎功能
2017/08/26 Python
创建Django项目图文实例详解
2019/06/06 Python
python找出列表中大于某个阈值的数据段示例
2019/11/24 Python
生产车间主任的个人自我鉴定
2013/10/25 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
满月酒主持词
2014/03/27 职场文书
房屋继承公证书
2014/04/10 职场文书
军训口号
2014/06/13 职场文书
学校消防安全责任书
2014/07/23 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
2015年库房工作总结
2015/04/30 职场文书
2015年女职工工作总结
2015/05/15 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python