当前位置: 首页 > news >正文

做推广效果哪个网站好个人介绍网页

做推广效果哪个网站好,个人介绍网页,网络推广的基本渠道,上海十大家装公司排名本来想用setdata做抽奖动画的&#xff0c;但是存在合并更新以及性能问题&#xff0c;遂采用canvas的形式。 参考了一篇blog&#xff0c;然后加了些抽奖逻辑的改动 <!--components/names/names.wxml--> <view class"component-names"><canvas type&q…

本来想用setdata做抽奖动画的,但是存在合并更新以及性能问题,遂采用canvas的形式。

参考了一篇blog,然后加了些抽奖逻辑的改动

<!--components/names/names.wxml-->
<view class="component-names"><canvas type="2d" id="myCanvas" style="width: 200px;height: 200px;"></canvas>
</view>
import { getRandomInt } from "../../utils/util";// components/names/names.ts
Component({lifetimes: {attached() {this.createSelectorQuery().select("#myCanvas").fields({node: true,size: true}).exec(res => this.init(res));},},/*** 组件的属性列表*/properties: {names: {type: Array,value: ['小红', '大明', '阿花']}},/*** 组件的初始数据*/data: {},/*** 组件的方法列表*/methods: {init(res) {// console.log('init', res)const width = res[0].widthconst height = res[0].height// 设置画布宽高const canvas = res[0].nodeconst ctx = canvas.getContext('2d')canvas.width = widthcanvas.height = height/** 半径 */let rArr = [];/** 透明度 */let alpha = [];const renderLoop = () => {/** 最小半径 */const circleStartR = width / 2 - 40;/** 最大半径 */const circleEndR = width / 2 - 8;/** 动画时间 */let animationTime = 300;/** 每次增大的宽度 */let speed = (circleEndR - circleStartR) / animationTime;rArr = rArr.map(item => item + speed);alpha = alpha.map(item => item + 1 / animationTime);// 如果数组为空|| 最小圆半径-最小半径>圆间隔if (!rArr[0] || rArr[0] - circleStartR > 10) {rArr.unshift(circleStartR);alpha.unshift(0);}// 如果最大圆半径>=最大半径if (rArr[rArr.length - 1] >= circleEndR) {rArr.pop();}this.render(width, ctx, rArr, alpha)canvas.requestAnimationFrame(renderLoop)}canvas.requestAnimationFrame(renderLoop)},renderName(width, ctx) {const center = width / 2;ctx.clearRect(center - 50, center - 50, center, center)let name = this.properties.names[getRandomInt(0, this.properties.names.length - 1)];let w = ctx.measureText(name).width;ctx.fillText(name, center - w / 2, center + 10)ctx.font = '30px bold'},render(width, ctx, rArr, alpha) {ctx.clearRect(0, 0, width, width);const center = width / 2;this.renderName(width, ctx);function ball(r, a) {// 设置渐变let grd = ctx.createLinearGradient(0, 0, 100, 0);grd.addColorStop(0, 'rgba(132, 251, 251, ' + a + ')') //渐变颜色的添加grd.addColorStop(0.5, 'rgba(118, 133, 254, ' + a + ')');grd.addColorStop(1, 'rgba(2545, 4, 255, ' + a + ')');ctx.beginPath();// 画圆ctx.arc(center, center, r, 0, 2 * Math.PI);// 描边样式设置ctx.strokeStyle = grd;ctx.closePath();// 描边ctx.stroke();}for (let i = 0; i < rArr.length; i++) {let r = rArr[i];let a = alpha[i];ball(r, a);}},}
})

参考:微信小程序canvas制作动画_微信小程序 canvas动画-CSDN博客

http://www.dtcms.com/a/559854.html

相关文章:

  • 一 网站建设的目的和目标免费制作邀请函的小程序
  • 做网站怎么买服务器华龙网重庆
  • 东莞最好的网站建设价格低深圳市土方建设网站
  • 捷信做单官方网站杭州移动公司网站
  • 餐饮业网站建设南京网站建设服务公司
  • 网站做推广赚钱项目企业网站运维
  • 深圳系统网站开发如何做拼多多商城官网站
  • 买衣服网站排名视频互联网推广选择隐迅推
  • ps如何做psd模板下载网站什么网站可以做十万的分期
  • 聊城专业网站设计公司网站推广介绍
  • 招标网站建设招标方案创办一家公司需要多少钱
  • 装修网站开发前的准备工作建设局网站投诉电话
  • 专业制作网站哪家好什么是网络营销理论
  • 江西省新的建设厅三类人员网站游戏开发需要具备哪些技术
  • 中小企业网站建设应该注意什么事项河北项目网官网
  • 如何查找网站竞争对手的宣传方式怎么做网站注册推广
  • 网络 网站建设有了网站 怎么做排名优化
  • 网站 设置特殊的字体上海企业营销策划
  • 新手怎样做网站推广连云港权威网站优化服务
  • 营销网站建设的步骤过程敏感词过滤wordpress
  • 有多人做网站是个人备案怎么夸客户网站做的好
  • 做电子商务网站的意义郑州短视频代运营
  • 手机网站建设市场几台服务器做集群网站
  • 手机网站建设策划书电子商务运营是做什么的
  • 长沙英文网站建设公司网站开发面板
  • 唐山市城乡建设网站单向链接对网站排名影响
  • 黑龙江 俄语网站制作wordpress代码恢复旧编辑器
  • 郑州网站建设开发公司wordpress企业网站模板
  • 网站建设 全是乱码网站域名组成
  • 网站如果实现微信支付吗品牌型网站制作价格