Tutorials Point


  HTML-5 Tutorial
  HTML5 Tag Reference
  HTML5 Useful References
  HTML5 Tools
  HTML5 Resources
  Selected Reading

Copyright © 2014 by tutorialspoint



  Home     References     Discussion Forums     About TP  

HTML5 Canvas - Drawing Lines


previous next AddThis Social Bookmark Button


Advertisements

Line Methods:

There are following methods required to draw lines on the canvas:

SNMethod and Description
1beginPath()
This method resets the current path.
2moveTo(x, y)
This method creates a new subpath with the given point.
3closePath()
This method marks the current subpath as closed, and starts a new subpath with a point the same as the start and end of the newly closed subpath.
4fill()
This method fills the subpaths with the current fill style.
5stroke()
This method strokes the subpaths with the current stroke style.
6lineTo(x, y)
This method adds the given point to the current subpath, connected to the previous one by a straight line.

Example:

Following is a simple example which makes use of above mentioned methods to draw a triangle.

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function drawShape(){
  // get the canvas element using the DOM
  var canvas = document.getElementById('mycanvas');
 
  // Make sure we don't execute when canvas isn't supported
  if (canvas.getContext){
 
    // use getContext to use the canvas for drawing
    var ctx = canvas.getContext('2d');
 
    // Filled triangle
    ctx.beginPath();
    ctx.moveTo(25,25);
    ctx.lineTo(105,25);
    ctx.lineTo(25,105);
    ctx.fill();
    
    // Stroked triangle
    ctx.beginPath();
    ctx.moveTo(125,125);
    ctx.lineTo(125,45);
    ctx.lineTo(45,125);
    ctx.closePath();
    ctx.stroke();
 
  } else {
    alert('You need Safari or Firefox 1.5+ to see this demo.');
  }
}
</script>
</head>
<body onload="drawShape();">
   <canvas id="mycanvas"></canvas>
</body>
</html>

The above example would draw following shape:

Canvas Lines

To learn above concept - Do Online Practice using latest version of either Safari or Opera.

Line Properties:

There are several properties which allow us to style lines.

SNProperty and Description
1lineWidth [ = value ]
This property returns the current line width and can be set, to change the line width.
2lineCap [ = value ]
This property returns the current line cap style and can be set, to change the line cap style. The possible line cap styles are butt, round, and square
3lineJoin [ = value ]
This property returns the current line join style and can be set, to change the line join style. The possible line join styles are bevel, round, and miter.
4miterLimit [ = value ]
This property returns the current miter limit ratio and can be set, to change the miter limit ratio.

Example:

Following is a simple example which makes use of lineWidth property to draw lines of different width.

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function drawShape(){
  // get the canvas element using the DOM
  var canvas = document.getElementById('mycanvas');
 
  // Make sure we don't execute when canvas isn't supported
  if (canvas.getContext){
 
    // use getContext to use the canvas for drawing
    var ctx = canvas.getContext('2d');
 
    for (i=0;i<10;i++){
       ctx.lineWidth = 1+i;
       ctx.beginPath();
       ctx.moveTo(5+i*14,5);
       ctx.lineTo(5+i*14,140);
       ctx.stroke();
    }
  } else {
    alert('You need Safari or Firefox 1.5+ to see this demo.');
  }
}
</script>
</head>
<body onload="drawShape();">
   <canvas id="mycanvas"></canvas>
</body>
</html>

The above example would draw following shape:

Canvas Line Width

To learn above concept - Do Online Practice using latest version of either Safari or Opera.



previous next Printer Friendly

Advertisements


  

Advertisements