HTML5画布绘制彩色线条

HTML5画布绘制彩色线条,html,colors,canvas,line,Html,Colors,Canvas,Line,我试图在画布上画两条平行线,但后者的属性似乎覆盖了前者。请说明可能出现的问题: <html> <head> <script type="application/javascript"> function draw() { var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); // draw a 10 pix green l

我试图在画布上画两条平行线,但后者的属性似乎覆盖了前者。请说明可能出现的问题:

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

函数绘图(){
var canvas=document.getElementById('canvas');
var ctx=canvas.getContext('2d');
//画一条10像素的绿线
ctx.strokeStyle='#00cc00';
ctx.线宽=10;
ctx.moveTo(100,0);
ctx.lineTo(1001000);
ctx.stroke();
//画一条20像素的红线
ctx.strokeStyle='#cc0000';
ctx.线宽=20;
ctx.moveTo(140,0);
ctx.lineTo(1401000);
ctx.stroke();
}

在绘制每一行之前调用
ctx.beginPath
。当调用strong
stroke
时,第一条线仍然是当前路径的一部分,因此它将以新颜色再次绘制。

有没有更有效的方法来绘制大量多色线?我每帧画5000张,如果我把它做成一条路径,我可以轻松地以50fps的速度运行。但是,如果我把每一条都变成一条单独的路径,这样我就可以随心所欲地回忆它们,它的速度会达到15fps。(你认为这应该是我自己的问题吗?@Auh你有没有尝试过将相同颜色的线条分批放到同一条路径上?事实上,经过一些测试,我发现如果线条上没有阴影模糊,它运行得非常好。现在我手头有一个不同的问题。