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 制作绽放的莲花采用效果叠加实现
Jan 31 HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
Apr 28 HTML / CSS
利用CSS3实现进度条的两种姿势详解
Mar 21 HTML / CSS
HTML5拖放功能_动力节点Java学院整理
Jul 13 HTML / CSS
HTML5 video视频字幕的使用和制作方法
May 03 HTML / CSS
详解移动端HTML5音频与视频问题及解决方案
Aug 22 HTML / CSS
canvas实现圆绘制的示例代码
Sep 11 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
Aug 18 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
Sep 17 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
Aug 17 HTML / CSS
html5表单的required属性使用
Jul 07 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 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
解决GD中文乱码问题
2007/02/14 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
vue实现计步器功能
2019/11/01 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
详解python中的闭包
2020/09/07 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
租房协议书怎么写
2014/04/10 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
英语导游欢迎词
2015/09/30 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
欧元符号 €
2022/02/17 杂记