Eu fiz algumas séries de testes para treinar e me familiarizar com o canvas e acabei me deparando com o código a seguir:
<canvas width="600" height="400"></canvas>
<script>
function drawnSquare(x, y, color) {
var tela = document.querySelector("canvas");
var pincel = tela.getContext("2d");
pincel.fillStyle = "lightgray";
pincel.fillRect(0, 0, 600, 400);
pincel.fillStyle = color;
pincel.fillRect(x, y, 50, 50);
pincel.fillStroke = "black";
pincel.strokeRect(x, y, 50, 50);
}
for( var x = 0; x < 600; x+= 50) {
drawnSquare(x, 0, "red");
}
</script>
O resultado disso é a tela cinza com apenas um quadrado no canto superior direito e se eu tirar as duas linhas de fundo
pincel.fillStyle = "lightgray";
pincel.fillRect(0, 0, 600, 400);
tudo volta ao normal, o porque desse conflito?