该风车绘制的核心方法:arcTo() ,一开始还想用arc(),想了半天无法确定旋转的原点坐标,后来发现方法选错了。

思路:

1、动态效果:绘制一个画面,清除后,再绘制角度改变后的画面。j:为每次整体旋转角度

2、多瓣效果:将画布原点作为每瓣图形的起始点,再旋转一定角度,做出多瓣

<canvas width="300px" height="300px" id="canvas02">浏览器不支持canvas</canvas>
    let canvas2 = document.querySelector("#canvas02")canvas2.style.backgroundColor = "#eee"function draw02(){let ctx = canvas2.getContext("2d")let j = 0;function startWindmill(){//清除上一次画面,重新绘制ctx.clearRect(0,0,300,300)//创建6瓣风车for(let i=0;i<6;i++){//保存目前状态ctx.save()//移动画布原点ctx.translate(150,150)drawWindmill(i)//还原到原有状态。原点 0,0、角度0时ctx.restore()}function drawWindmill(i){let angle = (i*60)+jctx.beginPath()ctx.rotate(Math.PI*angle/180)ctx.moveTo(0,0)ctx.arcTo(50,0,50,50,50)   //风车的关键ctx.fillStyle = `rgb(255,${i*40},0)`ctx.fill()}j = j===340 ? 0 : j+20}/** 旋转速度100ms*/setInterval(()=>{startWindmill()},100)}draw02()

arcTo()方法图例,参考网站链接:学习 HTML5 Canvas 这一篇文章就够了 | 菜鸟教程

canvas动态风车相关推荐

  1. 掌财社:前端接口怎么实现canvas动态图形效果?方法详情!

    我们在通过上个文章中的分享我们知道大概有关于如何利用canvas来进行图形绘制这方面的相关内容,那么今天我们接着来说说有关于"前端接口怎么实现canvas动态图形效果?"这个问题的 ...

  2. html5拓扑图图入门,如何使用HTML5 Canvas动态的绘制拓扑图

    如何使用HTML5 Canvas动态的绘制拓扑图 使用HTML5 Canvas动态的绘制拓扑图: HTML5中引入新的元素canvas,其drawImage 方法允许在 canvas 中插入其他图像( ...

  3. 前端vue js 高德地图实现雷达扫描加载,借鉴百度地图等方法,采用Canvas解决雷达背景透明度问题,解决Canvas动态指针扫描造成浏览器卡顿问题

    前端vue js 高德地图实现雷达扫描加载,借鉴百度地图等方法,采用Canvas解决雷达背景透明度问题,解决Canvas动态指针扫描造成浏览器卡顿问题 经过3天的尝试,借鉴了好几个博客的思路,开发了一 ...

  4. 【如何实现一个简单的canvas动态水球图】

    ** 如何实现一个简单的canvas动态水球图. ** 由于在项目中遇到有个制作一个水球图需求,在网上查找相关资料比较少,样式又不符合预期,在这样的情况下封装了一个自己可更改.定制化的水球图动效组件. ...

  5. java canvas 动态画图_canvas前端动图如何实现

    展开全部 Canvas是HTML5中的重要组成部62616964757a686964616fe59b9ee7ad9431333366306464分,用于绘制简单的图形,定义路径,创建渐变及应用图像变换 ...

  6. html5动态画图,HTML5使用Canvas动态绘制心型线和玫瑰线的教程

    1HTML5的Canvas元素提供了丰富的绘图功能,能够使我们制作出许多精美的动画.本次将运用canvas绘制心型线和玫瑰线. 1.心型线和玫瑰线 绘制这两种曲线,首先我们分别选用两个参数方程(心型线 ...

  7. 怎样用html制作动态心,HTML5使用Canvas动态绘制心型线和玫瑰线的教程

    1html5的canvas元素提供了丰富的绘图功能,能够使我们制作出许多精美的动画.本次将运用canvas绘制心型线和玫瑰线. 1.心型线和玫瑰线 绘制这两种曲线,首先我们分别选用两个参数方程(心型线 ...

  8. 几种炫酷的canvas动态背景特效

    canvas光斑闪烁动态背景特效 立即下载       在线预览 canvas科技感粒子特效,html5科幻粒子动画代码,js鼠标跟随. 立即下载       在线预览 htm5圆圈线条连接动画网页背 ...

  9. Canvas动态改变宽高解决拉伸问题

    之前开发模型渲染功能时,有一个特效是通过给目标canvas添加.修改filter属性实现.当时我发现一个问题:仅仅添加.修改filter一个属性后,canvas内容会被拉伸,导致滚动条出现(如下图,外 ...

最新文章

  1. RPC实现MQ通信的一个小例子
  2. ad域时间源配置_Windows网络服务与配置管理之活动目录学习
  3. 2017-9-11-颜色空间
  4. java类初始化顺序
  5. 关于商品分类 商品表和属性表的设计
  6. Oracle推出支援.NET 3.5与Visual Studio 2008的开发工具
  7. 最近在我的python博客上花时间!
  8. 四个角不是直角的四边形_三个角为直角的四边形一定是矩形吗?
  9. 理解最小生成树与权值最小边无关
  10. Mac OS X 安装ruby环境
  11. Shell脚本 批量修改目录下若干文件名
  12. ubuntu 外置硬盘安装
  13. win10无法直接用照片查看器打开图片怎么办
  14. An error has occured.See the log file
  15. javaweb实现个人博客系统
  16. 钟祥义工与残疾人互动频繁
  17. android模拟power键,android 发送模拟按键
  18. 【AI入门学习方法】
  19. python requests post 二进制流_Python的requests如何同时post图片二进制流和json数据application/octet-stream...
  20. JAVA的Map怎么判断为空_检查Java中的HashMap是否为空

热门文章

  1. Python+爬虫技术获取斗鱼直播图片(整理)
  2. thinkphpJWT
  3. Spring的Bean意义
  4. 安全协议系列(三)----CCMP与WPA-PSK
  5. “Think Different”是个糟糕的想法
  6. 解决h5一键复制的问题
  7. 蓝牙协议栈模组在linux ubuntu 跑蓝牙协议栈 --传统蓝牙搜索演示以及实现原理
  8. edge怎么开启沉浸式阅读_美人鼓上舞!端午小长假,豫园将开启史上首次沉浸式国风庙会...
  9. AR与VR开发实战pdf
  10. 傲气雄鹰android 3dm,傲气雄鹰 重载