<canvas id="canvas"/>
// startX, startY:起点坐标
// finalX, finalY:终点坐标
// theta:三角斜边与直线夹角
// headlen:三角斜边长度
// width:箭头线宽度
// color:箭头颜色
const   getArrow=( startX, startY, finalX, finalY,theta=30,headlen=10,width=1,color="#000")=>{var idName = document.getElementById("canvas");var ctx = idName.getContext("2d");// 计算各角度和对应坐标var angle = Math.atan2(startY - finalY, startX - finalX) * 180 / Math.PI,angle1 = (angle + theta) * Math.PI / 180,angle2 = (angle - theta) * Math.PI / 180,topX = headlen * Math.cos(angle1),topY = headlen * Math.sin(angle1),botX = headlen * Math.cos(angle2),botY = headlen * Math.sin(angle2);ctx.save();var arrowX ,arrowY ;//绘制箭头ctx.beginPath();arrowX = finalX + topX;arrowY = finalY + topY;ctx.moveTo(arrowX, arrowY);ctx.lineTo(finalX, finalY);arrowX = finalX + botX;arrowY = finalY + botY;ctx.lineTo(arrowX, arrowY);ctx.strokeStyle = color;ctx.lineWidth = width;ctx.stroke();ctx.closePath();arrowX = startX - topX;arrowY = startY - topY;//绘制虚线ctx.beginPath();ctx.setLineDash([28, 8]);//实线 去掉此句ctx.moveTo(arrowX, arrowY);ctx.moveTo(startX, startY);ctx.lineTo(finalX, finalY);ctx.stroke();ctx.restore();}

canvas实现虚线带箭头效果相关推荐

  1. Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker

    前面写了篇文章,mapboxgl实现带箭头轨迹线,介绍了如何基于mapboxgl实现类似高德地图导航轨迹效果. 近期有基于Leaflet实现轨迹回放的需求,于是研究了下如何基于leaflet来实现. ...

  2. vue项目中画出优雅的线条(虚线、直线、折线、带箭头、流动效果等)

    需求:运行监控图模块,模块之间用虚线或者实线连接,且带有箭头 实现方法: 1.canvas绘制 2.echarts专业的表格软件(画带箭头的虚线有难度) 3.svg方法 4.leader-line插件 ...

  3. html5画直线箭头,HTML5 canvas画带箭头的虚线

    今天给大家讲解的是在HTML5 canvas画带箭头的虚线.关于Canvas 对象表示一个 HTML 画布元素 -.它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作. 本案例注意事项 ...

  4. Android Canvas绘制带箭头的直线

    先看下效果图: 下面我们直接看代码 我自定义了一个View,代码如下: package com.davis.drawtrangle;import android.content.Context; im ...

  5. Canvas 教程:如何绘制带箭头的曲线

    这篇文章要解决一个问题,就是给定 HTML 中任意一个点(起点)和另一个点(终点),绘制一条带箭头的曲线. 废话不多说,直奔主题. 我们只有两个点的相对偏移量(offset),思路就是以这两个点作为对 ...

  6. delphi 画 带箭头的线

    unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Di ...

  7. popover带箭头弹框

    我们先来看一下效果吧: 分析:这个带箭头的弹框其实是一个控制器,通过Modal方式展现,但跟传统模态方式效果不一样,我们一眼就能看出. Xib方式实现popover: 1.segue的时候选择Pres ...

  8. Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单

    本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置. 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这 ...

  9. android 自定义进度条 水量,Android自定义带水滴的进度条样式(带渐变色效果)...

    一.直接看效果 二.直接上代码 1.自定义控件部分 package com.susan.project.myapplication; import android.app.Activity; impo ...

  10. s时钟画布 android,Canvas画布实现自定义时钟效果

    标题 *{margin:0; padding:0; list-style:none;} .box{ width: 420px; height: 420px; margin: 50px auto 0; ...

最新文章

  1. 遂宁2017届零诊16题(仅想说明网传答案的不正确)
  2. 规则化和模型选择(Regularization and model selection)
  3. KoalaUI的DateTimePicker的若干问题解答
  4. 验证二叉搜索树Python解法
  5. 美团骑手检测出虚假定位_在虚假信息活动中检测协调
  6. Android官方开发文档Training系列课程中文版:与其它APP交互之从Activity获得结果
  7. MySql 复习SQL基础
  8. 惊呆!骑士一天收入过万?顺丰同城回应:用户打赏约7856元
  9. Charles for Mac(抓包工具)
  10. Linux非root用户部署jdk等命令
  11. 利用Samba搭建Backup Server配置文件
  12. 58、JAVA Collections集合排序相关静态方法---方法1
  13. 最强大脑《联动归位》
  14. KeyDown,KeyPress和KeyUp详解
  15. MPLS和VPLS介绍
  16. TiDB:基于 Raft 的 HTAP 数据库
  17. 怪异的JavaScript系列(一)
  18. 大数据培训:Spark性能调优与参数配置
  19. 深入了解开源智能家居平台,解决品牌割裂的终极利器?
  20. Latex同时引用多篇文献修改字体/表格/图片/参考文献颜色

热门文章

  1. 2 电感耦合方式的射频前端
  2. vscode打开setting.json文件
  3. 安卓手机SSH远程链接服务器教程
  4. 我的世界服务器交易系统,《我的世界》交易系统介绍 村民交易系统详解
  5. 小米游戏本8代加装固态硬盘系统迁移
  6. 华为路由器配置备忘录
  7. Node.js 4493图片批量下载爬虫1.00
  8. python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
  9. 国际化地区语言码对照表(i18n)
  10. Eclipse使用技巧--设置编辑器背景护眼色和设置字体