小程序利用canvas实现波浪动态图

  • 小程序的canvas与该动态图的问题
  • 首先上效果图片
  • 下面直接上代码

小程序的canvas与该动态图的问题

小程序的canvas与html的canvas实现是完全一致的,但是会有一些坑,比如在component使用时会有一些限制,需要绑定this,匹配上下文环境获取canvas,另外看到一种方式,请参考 http://blog.majinyu.xyz/index.php/weapp/canvas-not-work-in-customized-components-in-weapp/,
其次说到该动态图,网上的小程序demo是没有的,因此才写上

首先上效果图片

效果如图所示,会显示一个动态的水波浪,好看的动画背景,适用于很多场景

图片:

下面直接上代码

html代码片

  <!-- html --><canvas   canvas-id="canvas" class="canvas"></canvas>

css代码片


// css.canvas {width: 305px;height: 305px;background-color: #fff;
}

js代码片

// javascript
Page({onReady: function () {this.drawBall()},drawBall: function () {var canvas={width:300,height:300,};var boHeight = canvas.height / 10;var posHeight = canvas.height / 1.2;//初始角度为0 var step = 0;//定义三条不同波浪的颜色 var lines = ["rgba(0,222,255, 0.2)","rgba(157,192,249, 0.2)","rgba(0,168,255, 0.2)"]; var context = wx.createContext();debuggerlet requestAnimFrame = (function () {return function (callback) {setTimeout(callback, 1000 / 60);};})();function loop() {context.clearRect(0, 0, canvas.width, canvas.height);step++;//画3个不同颜色的矩形 for (var j = lines.length - 1; j >= 0; j--) {context.fillStyle = lines[j];//每个矩形的角度都不同,每个之间相差45度 var angle = (step + j * 50) * Math.PI / 180;var deltaHeight = Math.sin(angle) * boHeight;var deltaHeightRight = Math.cos(angle) * boHeight;context.beginPath();context.moveTo(0, posHeight + deltaHeight);context.bezierCurveTo(canvas.width / 2, posHeight + deltaHeight - boHeight, canvas.width / 2, posHeight + deltaHeightRight - boHeight, canvas.width, posHeight + deltaHeightRight);context.lineTo(canvas.width, canvas.height);context.lineTo(0, canvas.height);context.lineTo(0, posHeight + deltaHeight);context.closePath();context.fill();}wx.drawCanvas({canvasId: 'canvas',actions: context.getActions()})requestAnimFrame(loop);}loop(); },
})

该文章4个月后注:最近几天公司又叫我写了一个局部加载的动画,感觉自己已经能独立的完全编写任何2D简单动画了(总不能画画把)

懒得写的朋友可以找我要代码 qq251396223

小程序利用canvas实现波浪动态图,原生canvas的部分限制相关推荐

  1. 微信小程序利用canvas实现六边形蜘蛛图

    微信小程序利用canvas实现六边形蜘蛛图 发布时间:2018-01-24 14:30:29 1..wxml <canvas style="width: 200px; height: ...

  2. 小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像)

    小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像) 微信小程序生成特色头像,海报等是比较常见的.下面我来介绍下实现该类小程序的过程. 首先选择前端来通过 canvas 绘制.这样比较节 ...

  3. html5绘制图形幸运大转盘,微信小程序利用canvas 绘制幸运大转盘功能

    小程序对 canvas api 跟h5的不太一致 ,所以这个搞的比较久,不多说,先贴代码 Page({ /** * 页面的初始数据 */ data: { awardsConfig: {}, resta ...

  4. HQChart钉钉小程序教程1-创建K线图

    HQChart钉钉小程序教程1-创建K线图,分时图 钉钉小程序HQChart效果图 步骤 1. 创建画布 2. 添加HQChart插件文件 3. import插件 4. 初始化HQChart插件 5. ...

  5. 微信小程序利用echarts实现中国任意行政区域地图

    微信小程序利用echarts实现中国任意行政区域地图 前言 实现 克隆代码 集成 点击事件 点击跳转 代码改造 尾巴 前言 最近微信小程序中需要绘制地图,然后点击地图可以跳转到下一层级.研究了一番,选 ...

  6. uniapp之微信小程序开发——根据主题色动态修改svg的颜色

    文章目录 小程序引用图片的几种方式 小程序如何引用svg图片? 小程序根据主题色,动态修改svg颜色 总结及注意点 小程序引用图片的几种方式 这一期我们直入主题,教大家如何动态改变图标的颜色. 首先, ...

  7. python画图代码-Python实战小程序利用matplotlib模块画图代码分享

    Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...

  8. 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享

    Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...

  9. 微信小程序最简单的轮播图

    小程序轮播图 今天给大家分享一个在微信开发者工具开发微信小程序的简单案例--轮播图(只用wxml和wxss) 话不多说,直接上代码!!! 效果图 WXML代码 基本属性介绍 <!-- indic ...

最新文章

  1. 生物识别包含人脸识别门禁之外还包含哪种识别种类
  2. [转]批处理for命令使用指南
  3. vue click事件冒泡,默认行为
  4. 【机器学习算法-python实现】svm支持向量机(1)—理论知识介绍
  5. 查询mysql所有对象_Mysql查看数据库对象(SQL命令总结)
  6. Android动态控制状态栏显示和隐藏
  7. 基于GDI+用C#编写的.NET流程图控件开发周记(2011-08-28)
  8. ZEROC究竟是何方神圣? Leader-us 大神来的回答 Leader-us mycat的发起者
  9. 数百款惠普打印机易受严重RCE漏洞影响
  10. Tbschedule源码通读
  11. 【宋红康 MySQL数据库 】【高级篇】【09】InnoDB的数据存储结构
  12. 双眼融合训练一个月_最好的双眼视功能训练方法
  13. Base-calling for next-generation sequencing platforms (译文)
  14. ros launch中的节点工作空间路径
  15. 20系列和30系列显卡下的tensorflow-gpu环境配置,避坑指南
  16. 天翼网关刷linux,天翼网关3 友华PT926E通用 全网首发 免复位/TTL/FTP获取超密及根目录方法!(四川已测)...
  17. DNS劫持、流量劫持,HTTP/HTTPS劫持
  18. 粒子物理中的粒子鉴别
  19. 爬虫之京东5g手机爬虫+谷歌浏览器打开窗口使用
  20. 最长匹配括号子序列问题

热门文章

  1. 对百词斩可可英语的测试
  2. 虚拟实验工场计算机科学导论论文,计算机科学导论论文
  3. 北美CS求学找工指南
  4. 2021年中国强脉冲光器械行业发展趋势分析:市场规模不断增长,进口品牌占比大[图]
  5. VMWare 下完美安装 Mac OS X
  6. 亲测有效,解决MAC无法联网的问题
  7. 软考高项必考的PV、EV、AC、SV、CV、SPI、CPI看这就够了
  8. 二维码生成api接口调用示例
  9. 10进制转化为16进制的算法
  10. 国产操作系统统信UOS的简单故障维护,系统崩溃小妙招