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+font字体文件实现圆形半透明菜单具体步骤(图解)
Jun 03 HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 HTML / CSS
CSS3的 fit-content实现水平居中
Sep 07 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
HTML5 canvas基本绘图之绘制阴影效果
Jun 27 HTML / CSS
详解rem 适配布局
Oct 31 HTML / CSS
HTML5使用drawImage()方法绘制图像
Jun 23 HTML / CSS
html5实现移动端适配完美写法
Nov 16 HTML / CSS
amazeui时间组件的实现示例
Aug 18 HTML / CSS
Html5移动端网页端适配(js+rem)
Feb 03 HTML / CSS
html form表单基础入门案例讲解
Jul 21 HTML / CSS
深入理解CSS 中 transform matrix矩阵变换问题
Aug 30 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防止sql注入简单分析
2015/03/18 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
用php+ajax新建流程(请假、进货、出货等)
2017/06/11 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
基于jquery实现图片放大功能
2016/05/07 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
pandas数据处理基础之筛选指定行或者指定列的数据
2018/05/03 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
python之拟合的实现
2019/07/19 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
结对共建工作方案
2014/06/02 职场文书
实习介绍信范文
2015/05/05 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS