我在画布中绘制了许多带有渐变的线条,我正在绘制它,也有一个 js fiddle 链接。
http://jsfiddle.net/mailrox/XWLgD/2/
var canvas = document.getElementById('c');
var context = canvas.getContext('2d');
context.fillStyle = "rgb(255, 255, 255)";
//draw lines
for (i=1;i<canvas.height;i++){
if(i%100 == 0){
//a line
// linear gradient from start to end of line
var grad= context.createLinearGradient(50, 50, 150, 150);
grad.addColorStop(0, "red");
grad.addColorStop(1, "green");
context.strokeStyle = grad;
context.beginPath();
//line start point
context.moveTo(0, (i + 20 + 0.5));
//line end point
context.lineTo(canvas.width, (i + 20 + 0.5) );
context.stroke();
context.closePath();
}
}
问题是我正在重新启动渐变的每个循环,但是渐变似乎只跨越所有线。如果你看一下链接,它很明显但很难解释。
我想要发生的是每条线都有自己的绿色到红色渐变,而不是穿过所有线的渐变。我是否缺少一些特别的东西来重新启动线条或渐变。
谢谢!