话不多说,直接上代码~~~

<canvas id="canvasId" width="400" height="400" style="border: 1px solid #ccc;"></canvas>
window.onload = function(){var cavParam = {};cavParam.canvas = document.getElementById("canvasId");cavParam.ctx = cavParam.canvas.getContext('2d');drawLineArrow(cavParam, 100, 300, 200, 200, "#a3a3a3");
}
/*** 绘制带有箭头的直线* @param cavParam canvas画布变量* @param fromX/fromY 起点坐标* @param toX/toY 终点坐标* @param color 线与箭头颜色**/
function drawLineArrow(cavParam, fromX, fromY, toX, toY, color) {var headlen = 10;//自定义箭头线的长度var theta = 45;//自定义箭头线与直线的夹角,个人觉得45°刚刚好var arrowX, arrowY;//箭头线终点坐标// 计算各角度和对应的箭头终点坐标var angle = Math.atan2(fromY - toY, fromX - toX) * 180 / Math.PI;var angle1 = (angle + theta) * Math.PI / 180;var angle2 = (angle - theta) * Math.PI / 180;var topX = headlen * Math.cos(angle1);var topY = headlen * Math.sin(angle1);var botX = headlen * Math.cos(angle2);var botY = headlen * Math.sin(angle2);cavParam.ctx.beginPath();//画直线cavParam.ctx.moveTo(fromX, fromY);cavParam.ctx.lineTo(toX, toY);arrowX = toX + topX;arrowY = toY + topY;//画上边箭头线cavParam.ctx.moveTo(arrowX, arrowY);cavParam.ctx.lineTo(toX, toY);arrowX = toX + botX;arrowY = toY + botY;//画下边箭头线cavParam.ctx.lineTo(arrowX, arrowY);cavParam.ctx.strokeStyle = color;cavParam.ctx.stroke();
}

canvas上,如何绘制带有箭头的直线?相关推荐

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

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

  2. CAD中如何绘制带有箭头的引出标注?

    我们在使用CAD标注快捷键的时候,通常是要在标注中使用箭头的,今天的CAD标注快捷键教程,小编将会给CAD制图初学入门小伙伴介绍国产CAD制图软件--浩辰CAD给排水软件中CAD箭头引注的相关操作技巧 ...

  3. Matlab任意两点之间绘制带箭头的直线

    Matlab任意两点之间绘制带箭头的直线 简单绘制任意两点之间.本来不想自己写的,可是网上的代码用起来不舒服,所以简单看看原理,原来就是个坐标变换而已.索性自己写了一份,分享如下: function ...

  4. 百度地图轨迹开发,如何绘制带有箭头的折线

    最近在开发百度地图时,需要绘制行人行走的轨迹,并在轨迹内使用箭头表示方向,和我们平常使用百度地图导航时一样,能通过箭头表示人行走的方向.        通过百度地图API,我们很容易能找到划线的方法P ...

  5. python绘制有箭头的直线_Python绘图库Matplotlib,如何绘制箭头?

    matplotlib中,常用arrow函数绘制箭头,该函数可通过以下两种方法调用. Axes.arrow(x, y, dx, dy, hold=None, **kwargs) 或 matplotlib ...

  6. 微信小程序绘制图片到canvas上并保存图片

    绘制图片到canvas上并保存图片 绘制图片到canvas上 把绘制完的canvas导出 绘制图片到canvas上 html代码 <canvas id="myCanvas" ...

  7. android百度地图箭头,百度地图API绘制带头箭头的折线

    源代码: body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;} #l-map{height:100%;wid ...

  8. 关于google地图api3的离线和在线开发(画带箭头的直线,指定范围,搜索,计算距离)

    最近因为开发的需要,要做一个离线的google地图.并且能够加载google地图的一些特效.例如:地图的标记,计算距离,获取标记的经纬度,画带有箭头的直线,获取指定范围的数据等等.在这里我总结了很多开 ...

  9. 【MFC】如何画带箭头的直线

    [MFC]如何画带箭头的直线 前言 代码 获得箭头坐标 前言 如何绘制带箭头的直线,说来也简单,只需要算出箭头左右两边的坐标,再使用LineTo()函数即可.话不多说上代码. 代码 获得箭头坐标 已知 ...

最新文章

  1. 区域设置 ID (LCID) 表, 及获取方法
  2. java 子类重写父类的方法应注意的问题
  3. 怎么判断膝关节错位_膝关节韧带损伤该如何处理——健康科普
  4. TCP客户机-服务器
  5. Ink on paper HDU - 7058
  6. POJ-1236 Network of Schools 缩点
  7. des和aes相比较有哪些特点_栓流气力输送相比较传统的高速气力输送方式而言,有哪些优势?...
  8. eclipse中简单实现自己的工具类打包成jar包并在项目中使用
  9. 计算机类型应用性能,[计算机组成原理]计算机系统性能评价
  10. lucene3.0中使用MultiFieldQueryParser多字段查找
  11. ORB-SLAM 解读(四) 单目初始化中特征匹配, 方向一致性检验
  12. 网易云音乐APP分析
  13. linux设备驱动程序第10章,linux中秒字符设备驱动(宋宝华设备驱动开发详解第10章)...
  14. snipaste怎么滚动截长图_还在用老方法截长图?分享iPhone滚动截屏方法,无需拼接1秒出图...
  15. 运维这个工作岗位还有前途吗?
  16. arcgis10.2之Maplex(高级标注扩展模块)
  17. Android 7.0以上安装fiddler CA证书失败解决方法
  18. 洞察Tungsten Fabric内部的XMPP
  19. caioj 1290: 之乎者也
  20. Pytorch 多线程 运行卡死

热门文章

  1. STP报文格式与端口状态
  2. VBA写入公式(3):身份证公式集
  3. 用机器学习提升WebRTC视频质量评估的正确姿势
  4. 东北林业大学林学院及园林学院相关调查
  5. Java获取当前时间前10分钟的时间
  6. 110配线架25对线缆线序说明
  7. 【VLAN高级技术】--- QinQ运行原理及实例配置讲解
  8. ssm报错:SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)
  9. Springboot使用itext及documents4j操作pdf(word转pdf、pdf加水印(文字或图片,可指定位置)、pdf加密(打开密码,编辑密码))
  10. 面试官问:如何用Elasticsearch实现Word、PDF,TXT文件的全文内容检索?