我在HMTL 5 2D画布上绘制了5条水平线:
var canvas_ctx = my_canvas.getContext("2d");
canvas_ctx.lineWidth = 0.5;
canvas_ctx.strokeStyle = "black";
{
let line_x = 0;
let line_length = canvas_ctx.width;
let offset = 5;
let numLines = 5;
let numYincrement = 10;
for (let i=0;i<numLines * numYincrement;i+=numYincrement) {
//canvas_ctx.beginPath();
canvas_ctx.moveTo(line_x,i + offset);
canvas_ctx.lineTo(line_length,i + offset);
canvas_ctx.stroke();
//canvas_ctx.closePath();
}
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,这应导致出现5条黑线。取而代之的是,线条的颜色似乎随着每条新线条而逐渐褪色(好像是渐变!),因此第5行是灰色。如果我取消注释canvas_ctx.beginPath();和canvas_ctx.closePath();,则所有行变为灰色。为什么会这样?