我正在玩<canvas>元素,绘制线条等.
我注意到我的对角线是抗锯齿的.我更喜欢看到我正在做的事情 - 有什么方法可以关闭这个功能吗?
如何在画布上打开消除锯齿功能.
以下代码未绘制平滑线:
var context = mainCanv.getContext("2d");
if (context) {
context.moveTo(0,0);
context.lineTo(100,75);
context.strokeStyle = "#df4b26";
context.lineWidth = 3;
context.stroke();
}
Run Code Online (Sandbox Code Playgroud) 我在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();,则所有行变为灰色。为什么会这样?