views:

33

answers:

1

I am trying to draw two parallel lines on the canvas, but seems like properties of the latter overwrites the former. Please suggest what could be wrong :

<html>
<head>
<script type="application/javascript">  
function draw() {
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    // draw a 10 pix green line
    ctx.strokeStyle='#00cc00';
    ctx.lineWidth=10;
    ctx.moveTo(100,0);  
    ctx.lineTo(100,1000);  
    ctx.stroke();  
    // draw a 20 pix red line
    ctx.strokeStyle='#cc0000';
    ctx.lineWidth=20;
    ctx.moveTo(140,0);  
    ctx.lineTo(140,1000);  
    ctx.stroke();  
}
</script>
</head>
<body onload="draw()">
<div><canvas id="canvas" width="1000" height="1000"></canvas></div> 
</body>
</html>
+1  A: 

Call ctx.beginPath before drawing each line. When the strong stroke call is made, the first line is still part of the current path so it gets drawn again in the new color.

Matti Virkkunen
thanks it works
Amarsh