HLJ 发布于
2018-08-09 16:53:52

通过html5 canvas画布绘制红色箭头代码

最近因为项目上面的需求需要绘制一个超超级复杂的轨道图,我是这么认为的~ 哈哈! 因为整个公司所有开发里就只有我会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>
当前文章内容为原创转载请注明出处:http://www.good1230.com/detail/2018-08-09/52.html
最后生成于 2023-06-18 18:29:13
此内容有帮助 ?
0