为什么这不调整我的画布大小?

Why doesen't this resize my canvas?

为什么以下代码没有调整我的 canvas 的大小? id正确。

var canvas;
canvas = document.getElementById('myCanvas');
canvas.width = 1000;
canvas.height = 500;

但是,这有效:

var canvas
canvas = document.createElement('canvas');
canvas.width = 1000;
canvas.height = 500;

为什么创建新的 canvas 有效,但通过 ID 获取已创建的 canvas 无效?

HTML Canvas 是这样的:

 <canvas id="myCanvas" width="0" height="0"></canvas>

您所做的应该没问题 - 只需确保您的脚本在 canvas 添加到 DOM 后运行即可。您应该检查控制台是否有其他错误。

这是一个例子:

HTML:

<canvas id="myCanvas" width="0" height="0"></canvas>

<script>
   var canvas;
   canvas = document.getElementById('myCanvas');
   alert(canvas.width + " , " + canvas.height);
   canvas.width = 1000;
   canvas.height = 500;
   alert(canvas.width + " , " + canvas.height);
</script>

JS Fiddle here