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 按钮 利用css3实现超酷下载按钮
Mar 18 HTML / CSS
移动端适配 使px自动转换rem
Aug 26 HTML / CSS
css3实现圆锥渐变conic-gradient效果
Feb 12 HTML / CSS
css3实现平移效果(transfrom:translate)的示例
Nov 13 HTML / CSS
把富文本的回车转为br标签
Aug 09 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
Jan 01 HTML / CSS
使用phonegap获取设备的一些信息方法
Mar 31 HTML / CSS
详解HTML5 window.postMessage与跨域
May 11 HTML / CSS
详解canvas绘图时遇到的跨域问题
Mar 22 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
Aug 23 HTML / CSS
萌新HTML5 入门指南(二)
Nov 09 HTML / CSS
小程序实现悬浮按钮的全过程记录
Oct 16 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
php实现用户在线时间统计详解
2011/10/08 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
JavaScript 的继承
2011/10/01 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
干部现实表现材料
2014/02/13 职场文书
大学老师推荐信
2014/02/25 职场文书
进口业务员岗位职责
2014/04/06 职场文书
情况说明书格式范文
2014/05/06 职场文书
企业宣传标语
2014/06/09 职场文书
学校班班通实施方案
2014/06/11 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang