通过html5 canvas画布绘制红色箭头代码
gooood个人博客网站
canvas
JavaScript
最近因为项目上面的需求需要绘制一个超超级复杂的轨道图,我是这么认为的~ 哈哈! 因为整个公司所有开发里就只有我会canvas画图而这次画图只是重构,需求里有要求画箭头的环节。自己写呢是不可能的因为有百度,于是在网上搜了搜,然后整理了下面代码
<script> var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); var node_x = 100; var node_y =100; var preNode_x = 120; var preNode_y =120; var angle = Math.atan2(node_y - preNode_y, node_x - preNode_x); arrow(ctx,preNode_x,node_y,"#f00",2,angle,10,0); function arrow(ctx,x2,y2,color,lineWidth,angle,headlen,len){ ctx.save(); ctx.beginPath(); ctx.lineWidth =lineWidth; ctx.strokeStyle =color; ctx.lineTo(x2-headlen*Math.cos(angle+Math.PI/7), y2-headlen*Math.sin(angle+Math.PI/7)); ctx.lineTo(x2, y2+len); ctx.lineTo(x2-headlen*Math.cos(angle-Math.PI/7), y2-headlen*Math.sin(angle-Math.PI/7)); ctx.stroke(); ctx.closePath(); } </script>