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实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
CSS3 简单又实用的5个属性
Mar 04 HTML / CSS
CSS3的Border-radius轻松制作圆角
Dec 24 HTML / CSS
CSS3中引入多种自定义字体font-face
Jun 12 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
Jun 16 HTML / CSS
HTML5 canvas基本绘图之图形变换
Jun 27 HTML / CSS
HTML5新增加的功能详解
Sep 05 HTML / CSS
canvas之自定义头像功能实现代码示例
Sep 29 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 HTML / CSS
HTML5自定义属性的问题分析
Aug 16 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
Oct 12 HTML / CSS
css3 选择器
May 11 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加密解密的代码
2006/10/09 PHP
测试您的 PHP 水平的题目
2007/05/30 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
javascript中Function类型详解
2015/04/28 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
Python实现的选择排序算法原理与用法实例分析
2017/11/22 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
Numpy掩码式数组详解
2018/04/17 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
秋季运动会稿件
2014/01/30 职场文书
有创意的广告词
2014/03/18 职场文书
入党积极分子评语
2014/05/04 职场文书
大学生简历求职信
2014/06/24 职场文书
外贸英文求职信范文
2015/03/19 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
了解Redis常见应用场景
2021/06/23 Redis
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL