vue 中使用canvas画简单的线条动画效果;
问题:1.没有写X轴或者Y轴不变的逻辑判断;2.不会画弧度,不知道弧线怎么去单个像素的画。

method中定义方法:

getCanvas(start,end){return new Promise(resolve=>{let movingDistance_x = end.x - start.x; //x轴需要移动的距离let movingDistance_y = end.y - start.y; //y轴需要移动的距离let ratio = movingDistance_y / movingDistance_x; // 斜率// 画线的方法let draw_lineTo = (start_draw,end_draw)=>{this.ctx.beginPath()this.ctx.lineCap="round";this.ctx.lineJoin="round";this.ctx.miterLimit=1;this.ctx.moveTo(start_draw.x,start_draw.y)this.ctx.lineTo(end_draw.x,end_draw.y)this.ctx.lineWidth = 4this.ctx.strokeStyle = 'rgb(32,83,131)'this.ctx.stroke()if(Math.abs(end_draw.x - end.x) == 0 ){resolve()return}start_position = end_drawend_position = getEnd_position(start_position)console.log(Math.abs(end_draw.x - end.x),start_position,end_position)setTimeout(() => {draw_lineTo(start_position,end_position)}, 10);}// 获取开始坐标let start_position = { x : start.x, y : start.y}// 获取结束坐标的方法let getEnd_position = (start_position)=>{let x = end.x > start.x ? (start_position.x + 1) : (start_position.x - 1)let y =end.x > start.x? start_position.y + ratio: start_position.y - ratio;return { x : x , y : y }}// 获取结束坐标let end_position = getEnd_position(start_position)// 画线draw_lineTo(start_position,end_position)})}

mounted中调用

this.ctx = this.$refs.myCanvas.getContext('2d')this.$nextTick(()=>{(async () =>{await this.getCanvas({x:706,y:402},{x:660,y:375})await this.getCanvas({x:598,y:374},{x:534,y:410})await this.getCanvas({x:534,y:410},{x:468,y:374})// 分叉this.getCanvas({x:468,y:374},{x:554,y:321}) .then(()=>{this.getCanvas({x:554,y:321},{x:518,y:296})})await this.getCanvas({x:468,y:374},{x:241,y:503})await this.getCanvas({x:241,y:503},{x:23,y:377})this.getCanvas({x:23,y:377},{x:62,y:352})})()})

vue 中使用canvas画简单的线条动画效果相关推荐

  1. canvas画圆和线条动画

    <!doctype html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  2. 在vue中使用canvas实现简单特效(下雨天)

    效果展示 还不了解canvas的同学可以先看一下官方的api https://www.canvasapi.cn 话不多说直接上代码 在页面中添加canvas标签 <template>< ...

  3. Android 中通过Canvas 与线程结合实现动画效果

    前段时间在公司做了一个模块,不使用第三方动画效果类,直接通过Canvas 进行图像的绘制,并通过Thread实现动画的效果 该模块主要是实现车辆运行时候的道路运行效果,在进行实施前做了一个相关的Dem ...

  4. html5制作线路图,HTML5使用canvas画简单电路图

    何问起 var canvas = document.getElementById("canHewenqi"); var cxt = canvas.getContext(" ...

  5. 简单的Canvas刮刮乐带动画效果的实例

    今天做了个刮刮乐领奖品的小活动,感觉挺有用的,整理在这儿记录下 上个效果图先: 加了个简单的 css 动画效果 下面贴上主要代码: index.html <!DOCTYPE html> & ...

  6. Canvas炫酷3D线条动画背景

    下载地址 Canvas炫酷3D线条动画背景,可以变色的颜色渐变网页动态背景特效. dd:

  7. html遮罩层动画制作,flash简单制作遮罩动画效果

    flash简单制作遮罩动画效果QQ空间的开机动画大家应该都有,从最初的出现的一点到后面全部出现,如此神奇的效果到底是怎么做的呢,一起来看看吧!遮罩特效: 由于百度只能上传500k以内的照片,所以效果图 ...

  8. 【Canvas】js用canvas绘制一个钟表时钟动画效果

    学习JavaScript的看过来,有没有兴趣用Canvas画图呢,可以画很多有趣的事物,自由发挥想象,收获多多哦,旋转角度绘图这个重点掌握到了吗,这里有一个例子,如何用canvas画钟表时钟动图效果, ...

  9. html 结合3d效果,HTML和CSS3中的2D、3D结合实现动画效果

    这篇文章给大家介绍的内容是关于HTML和CSS3中的2D.3D结合实现动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 虽然我们我们在前端工作中,对于2D.3D动画效果一般来说 ...

  10. php3D动画,html5的canvas实现几何模型3D运动动画效果

    html5的canvas实现几何模型3D运动动画效果 JS片段: var {atan2,sqrt,sin,cos,PI,acos} = Math; function project3D(x,y,z,v ...

最新文章

  1. c++ 实现一个object类_说说Object类下面有几种方法呢?
  2. 个推数据统计产品(个数)iOS集成实践
  3. JAVA代码如何实现删除文件夹6_java文件创建、删除、读取、写入操作大全
  4. 【建议收藏】数学建模竞赛网站汇总
  5. Eclipse Mylyn成为顶级项目
  6. 如何解决IE地址栏前小图标不显示问题
  7. make files touse cmd line to protect exe
  8. 90 亿美元的“Java 第一版权案”终落幕:谷歌胜!
  9. 【DVRP】基于matlab遗传和粒子群算法求解带距离的车辆路径规划问题【含Matlab源码 1036期】
  10. Proteus仿真:存储器
  11. 黑马Java笔记第一讲—java基础
  12. 视频编辑转换 ViscomSoft SDK ActiveX 19.0
  13. 算法---找出数组中的所有孤独数字(Kotlin)
  14. linux系统 用优盘启动流程,制作u盘启动linux系统
  15. 华为云,为你开启更快速的CDN加速服务!
  16. 高德vue-amap使用(一)标记点位获取地址及经纬度
  17. 离开华为换种生活,它不香吗?
  18. google map 地理编码API的两种方式
  19. Ubuntu16(ROS_Kinetic)海康威视网络摄像机(单目)内参标定
  20. 电子管晶体管示波器电路图

热门文章

  1. Mobileye自动驾驶汽车在纽约市开跑
  2. 基础测绘数据分类标准
  3. java后台amr格式转mp3格式方法
  4. RS232转RS485电路图
  5. 通常所说的微型计算机的主机主要包括(),微型计算机的主机主要包括
  6. 计算机主机名与用户名区别
  7. 服务器系统开启telnet,开启Telnet服务
  8. 计算机控制系统机器人,机器人的控制系统
  9. java自动洗扑克牌算法_扑克牌 洗牌算法 的java实现
  10. 北航超算运行matlab,计算性能超50万亿次破纪录,北航荣获ASC19世界大学生超算竞赛最高计算性能奖...