如何获取 HTML5 画布的宽度和高度?
2022-08-30 05:32:48
如何在JavaScript中获取canvas元素的宽度和高度?
另外,我一直在阅读的画布的“上下文”是什么?
如何在JavaScript中获取canvas元素的宽度和高度?
另外,我一直在阅读的画布的“上下文”是什么?
可能值得一看教程:MDN画布教程
只需访问 canvas 元素的这些属性,即可获取该元素的宽度和高度。例如:
var canvas = document.getElementById('mycanvas');
var width = canvas.width;
var height = canvas.height;
如果画布元素中不存在宽度和高度属性,则将返回默认的 300x150 大小。若要动态获取正确的宽度和高度,请使用以下代码:
const canvasW = canvas.getBoundingClientRect().width;
const canvasH = canvas.getBoundingClientRect().height;
或者使用较短的对象解构语法:
const { width, height } = canvas.getBoundingClientRect();
这是您从画布中获取的对象,允许您在其中绘制。您可以将 它视为画布的 API,它为您提供了使您能够在画布元素上绘制的命令。context
context
好吧,之前的所有答案都不完全正确。2个主要浏览器不支持这2个属性(IE是其中之一)或以不同的方式使用它们。
更好的解决方案(大多数浏览器都支持,但我没有检查Safari):
var canvas = document.getElementById('mycanvas');
var width = canvas.scrollWidth;
var height = canvas.scrollHeight;
至少我用 scrollWidth 和 -Height 得到正确的值,并且在调整大小时必须设置 canvas.width 和 height。