Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ideia para preencher a tela inteira com quadrados

Após a aula de fiquei pensando como preencher a tela inteira usando uma função, cheguei nesta função, colocando um 'for' dentro do outro. Funcionou, é um solução interessante? E para fazer as cores também serem diferentes, tipo, linha 1 verde, linha 2 vermelho, linha 3 azul e repetindo.

<canvas width="600" height="400"></canvas>

<script>

    function desenhaquadrado(x, y, tamanho, cor) {

        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle=cor;
        pincel.fillRect(x, y, tamanho, tamanho);
        pincel.fillStroke = 'black';
        pincel.strokeRect(x, y, tamanho, tamanho);

    }


        for(y=0; y < 400; y = y + 50) {
            for (x = 0; x < 600; x= x +50) {

            desenhaquadrado (x, y, 50, 'green');

            }
        }


</script>
1 resposta
solução!

Oi Anderson tudo bom?

O que você está fazendo é basicamente pintar cada pixel do seu canvas de uma cor. É possível fazer uma série de efeitos visuais por cima de imagens, quanto varremos cada pixel dela e fazemos algumas alterações. Mas isso é uma operação bem lenta.

Pensa que se você tem um canvas de 600X400 a linha de código desenhaquadrado (x, y, 50, 'green'); vai ser executada 240.000 vezes.

Como vocês está pintando tudo de verde o melhor é desenhar um único quadrado do tamanho do canvas. Essa operação é muito mais rápida.

Se você quer fazer uma linha de cada cor, vc pode ter um único for que vai de 0 até 400 e para cada volta desenha um quadrado de 600 largura e 1 de altura com uma cor aleatória.