如何清除和更改画布的背景颜色?

时间:2018-11-11 18:42:00

标签: javascript html css

背景颜色必须随我绘制的颜色而改变。

因此,如果我在画布上绘制红色,我想单击清除按钮,画布div将清除所有图形并将背景色更改为红色。

这是我到目前为止所拥有的,但是我不知道如何将颜色更改为我选择的颜色

function ClearCanvas(sColour) {
    DebugMessage("Clear Canvas");
    const context = oCanvas.getContext('2d');
    context.clearRect(0, 0, oCanvas.width, oCanvas.height);
    document.getElementById("1Canvas").style.background = "____";
}

1 个答案:

答案 0 :(得分:0)

在画布上绘制颜色时,需要将fillStyle更改为所需的颜色。更改画布的背景颜色无效。

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const colors = ["blue", "green", "red", "pink", "purple", "grey", "black"];

function draw(color) {
  //This line is actually not even needed...
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.rect(0, 0, canvas.width, canvas.height);
  ctx.fillStyle = color;
  ctx.fill();
}

let i = 0;
setInterval(() => {
  draw(colors[i]);
  i = (i + 1) % colors.length;
}, 1000);
<canvas id="canvas">