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的appearance属性改变任何元素的浏览器默认风格
Dec 24 HTML / CSS
CSS3之多背景background使用示例
Oct 18 HTML / CSS
使用css3制作动感导航条示例
Jan 26 HTML / CSS
使用CSS3的appearance属性改变元素的外观的方法
Dec 12 HTML / CSS
CSS3实现可爱的小黄人动画
Jul 11 HTML / CSS
html5的画布canvas——画出简单的矩形、三角形实例代码
Jun 09 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
Dec 09 HTML / CSS
跨域修改iframe页面内容详解
Oct 31 HTML / CSS
iframe跨域的几种常用方法
Nov 11 HTML / CSS
div与span之间的区别与使用介绍
Dec 06 HTML / CSS
详解CSS3浏览器兼容
Dec 24 HTML / CSS
box-shadow单边阴影的实现
May 21 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
.htaccess文件保护实例讲解
2011/02/06 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
JavaScript中值类型和引用类型的区别
2017/02/23 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
JS原生数据双向绑定实现代码
2017/08/14 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
vue项目出现页面空白的解决方案
2019/10/31 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
经典C++面试题一
2016/11/06 面试题
大学毕业生通用求职信
2013/09/28 职场文书
中学生期末评语
2014/02/03 职场文书
房产继承公证书
2014/04/09 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
升学宴学生致辞
2015/07/27 职场文书
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android