Javascript 中的 closePath() 有一些问题
I've got some issues with closePath() in Javascript
我一定是在中间拉一条横红竖绿线。我可以分别为每个人做,但两条线一起都是绿色的。谁能告诉我为什么?
var c= document.getElementById('myCanvas').getContext('2d');
//c.fillRect(20,10,250,175);//
var cw= 450;
var ch= 300;
c.moveTo(0,(ch/2));
c.lineTo(450,(ch/2));
c.strokeStyle= '#db0000';
c.stroke();
c.moveTo((cw/2),0);
c.lineTo((cw/2),cw);
c.closePath();
c.strokeStyle= '#3ac214';
c.stroke();
您应该使用 beginPath()
方法来获得正确的颜色。 beginPath()
方法开始路径,或重置当前路径。
这是工作演示: https://jsfiddle.net/f0khrmer/
在此处检查更新的代码:
function drawCanvas(){
var c= document.getElementById('myCanvas').getContext('2d');
var cw= 450;
var ch= 300;
c.beginPath();
c.moveTo(0,(ch/2));
c.lineTo(450,(ch/2));
c.strokeStyle= '#db0000';
c.stroke();
c.beginPath();
c.moveTo((cw/2),0);
c.lineTo((cw/2),cw);
c.closePath();
c.strokeStyle= '#3ac214';
c.stroke();
}
希望对您有所帮助!
我一定是在中间拉一条横红竖绿线。我可以分别为每个人做,但两条线一起都是绿色的。谁能告诉我为什么?
var c= document.getElementById('myCanvas').getContext('2d');
//c.fillRect(20,10,250,175);//
var cw= 450;
var ch= 300;
c.moveTo(0,(ch/2));
c.lineTo(450,(ch/2));
c.strokeStyle= '#db0000';
c.stroke();
c.moveTo((cw/2),0);
c.lineTo((cw/2),cw);
c.closePath();
c.strokeStyle= '#3ac214';
c.stroke();
您应该使用 beginPath()
方法来获得正确的颜色。 beginPath()
方法开始路径,或重置当前路径。
这是工作演示: https://jsfiddle.net/f0khrmer/
在此处检查更新的代码:
function drawCanvas(){
var c= document.getElementById('myCanvas').getContext('2d');
var cw= 450;
var ch= 300;
c.beginPath();
c.moveTo(0,(ch/2));
c.lineTo(450,(ch/2));
c.strokeStyle= '#db0000';
c.stroke();
c.beginPath();
c.moveTo((cw/2),0);
c.lineTo((cw/2),cw);
c.closePath();
c.strokeStyle= '#3ac214';
c.stroke();
}
希望对您有所帮助!