3 回答
TA贡献1829条经验 获得超7个赞
在画布上,您可以getAttribute()用来检索尺寸。看我的片段:
let canvas = document.getElementById('canvas');
let cheight = parseInt(canvas.getAttribute("height"));
let cwidth = parseInt(canvas.getAttribute("width"));
let context = canvas.getContext('2d');
context.fillStyle = "green";
context.fillRect(0,0,cwidth,cheight);
<canvas width="200" height="200" id="canvas">
TA贡献2016条经验 获得超9个赞
您可以使用以下代码设置画布的背景颜色。
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.fillStyle = "green";
context.fillRect(0, 0, canvas.width, canvas.height);
canvas{ border: 1px solid black; }
<canvas width=300 height=150 id="canvas">
TA贡献1873条经验 获得超9个赞
在您的draw()函数中,您需要专门添加这样的背景:
const canvas = document.querySelector('#draw');
const ctx = canvas.getContext('2d');
ctx.strokeStyle = '#BADA55';
ctx.fillStyle = "#ffffff"; //HERE, use HEX format in 6 digits
ctx.fillRect(0, 0, canvas.width, canvas.height); //HERE
...
function draw(e) {
...
}
为什么?
您需要在所有内容之前绘制背景,否则一遍又一遍地绘制背景,或者在所有内容之上都会导致白色矩形与画布上的所有内容重叠。
添加回答
举报