Categories
JavaScript Answers

How to draw arrow on canvas tag with JavaScript?

Spread the love

Sometimes, we want to draw arrow on canvas tag with JavaScript.

In this article, we’ll look at how to draw arrow on canvas tag with JavaScript.

How to draw arrow on canvas tag with JavaScript?

To draw arrow on canvas tag with JavaScript, we use the moveTo and lineTo methods.

For instance, we write

const canvasArrow = (context, fromx, fromy, tox, toy) => {
  const headlen = 10;
  const dx = tox - fromx;
  const dy = toy - fromy;
  const angle = Math.atan2(dy, dx);
  context.moveTo(fromx, fromy);
  context.lineTo(tox, toy);
  context.lineTo(
    tox - headlen * Math.cos(angle - Math.PI / 6),
    toy - headlen * Math.sin(angle - Math.PI / 6)
  );
  context.moveTo(tox, toy);
  context.lineTo(
    tox - headlen * Math.cos(angle + Math.PI / 6),
    toy - headlen * Math.sin(angle + Math.PI / 6)
  );
};

const ctx = document.getElementById("c").getContext("2d");
ctx.beginPath();
canvasArrow(ctx, 10, 30, 200, 150);
ctx.stroke();

to call moveTo to move to the starting point iun the canvasArrow function.

Then we call lineTo to draw to the next points.

Finally, we call stroke to finishing drawing.

Conclusion

To draw arrow on canvas tag with JavaScript, we use the moveTo and lineTo methods.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *