作为前端初学者,我刚开始学习canvas。我试图绘制一些文本。但是画布的尺寸一开始无法正确显示:
我用下面的代码创建了canvas:
const message = input.value;
let ctx = canvas.getContext('2d')
let metrics = ctx.measureText(message);
let textWidth = metrics.width*2;
canvas.width = textWidth;
canvas.height = 200;
ctx.font = "normal 30px Verdana";
ctx.fillStyle = "#000000";
ctx.fillText(message, 30, 200);
<input id=input value="init message" />
<canvas id=canvas></canvas>
结果如下:在此输入图像描述
正如您所看到的,消息无法完全显示,但当我单击按钮再次运行draw()
函数时,画布就可以完全显示:
请问有人能告诉我为什么会出现这种情况吗?