2010-08-29 14 views
15

मैं कैनवास पर दो समांतर रेखाएं खींचने की कोशिश कर रहा हूं, लेकिन ऐसा लगता है कि उत्तरार्द्ध के गुण पूर्व को ओवरराइट करते हैं। कृपया सुझाव दें कि क्या गलत हो सकता है:एचटीएमएल 5 कैनवास ड्राइंग मल्टीकोरर लाइन

<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> 

उत्तर

25

प्रत्येक पंक्ति को आकर्षित करने से पहले ctx.beginPath पर कॉल करें। जब मजबूत stroke कॉल किया जाता है, तो पहली पंक्ति अभी भी वर्तमान पथ का हिस्सा है, इसलिए इसे नए रंग में फिर से खींचा जाता है।

+0

धन्यवाद यह काम करता है – Amarsh

संबंधित मुद्दे