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实现的360度翻转按钮的实例教程
Nov 05 HTML / CSS
CSS3中Animation属性的使用详解
Aug 06 HTML / CSS
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
Apr 26 HTML / CSS
利用HTML5+CSS3实现3D转换效果实例详解
May 02 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
Apr 11 HTML / CSS
HTML5 File API改善网页上传功能
Aug 19 HTML / CSS
HTML5移动端开发中的Viewport标签及相关CSS用法解析
Apr 15 HTML / CSS
HTML5不支持frameset的两种解决方法
Nov 14 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
Mar 20 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
Feb 18 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
Aug 21 HTML / CSS
分享CSS盒子模型隐藏的几种方式
Feb 28 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
神族 PROTOSS 概述
2020/03/14 星际争霸
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
浅谈javascript中createElement事件
2014/12/05 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
Python中endswith()函数的基本使用
2015/04/07 Python
详解Python的Django框架中的通用视图
2015/05/04 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
python 进程的几种创建方式详解
2019/08/29 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
如何使用Python调整图像大小
2020/09/26 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
python常量折叠基础知识点讲解
2021/02/28 Python
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
毕业生自荐信如何写
2014/03/24 职场文书
难忘的一天教学反思
2014/04/30 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
采购员岗位职责范本
2015/04/07 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
python Polars库的使用简介
2021/04/21 Python
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android