1
resposta

Canvas

Boa noite. Estava fazendo um exercicio onde eu deveria desenhar um esquadro na tela usando Canvas. Porém estranhei uma coisa no código corrigido: eu uso o MoveTo para fazer o ponto inicial, uso os LineTo para desenhar as linhas mas eu não volto ao ponto inicial, por isso a linha está em comentário. É isso mesmo?

     var tela = document.getElementById("minhaTela");
       var pincel = tela.getContext("2d");

       // Desenhando o triangulo preto
       pincel.fillStyle = "black";
       pincel.beginPath();
       pincel.moveTo(50, 50);
       pincel.lineTo(50, 400);
       pincel.lineTo(400, 400);
       //pincel.lineTo(50, 50); 
       pincel.fill();
1 resposta

Boa noite, Denilson S. Duque

Sim, está correto! O método fill() fecha automaticamente a forma, sem precisar voltar ao ponto inicial. Já com stroke(), seria necessário adicionar a linha para fechar o desenho. Ótima percepção!

Exemplo:

<!DOCTYPE html>
<html>
<head>
    <title>Canvas Example</title>
</head>
<body>
    <canvas id="minhaTela" width="500" height="500" style="border:1px solid #000000;"></canvas>
    <script>
        var tela = document.getElementById("minhaTela");
        var pincel = tela.getContext("2d");

        // Desenhando um triângulo preenchido
        pincel.fillStyle = "black";
        pincel.beginPath();
        pincel.moveTo(50, 50);
        pincel.lineTo(50, 400);
        pincel.lineTo(400, 400);
        pincel.closePath(); // Opcional, mas ajuda a fechar o caminho
        pincel.fill(); // Preenche o triângulo com a cor preta

        // Desenhando um triângulo com contorno
        pincel.strokeStyle = "red";
        pincel.beginPath();
        pincel.moveTo(100, 100);
        pincel.lineTo(100, 350);
        pincel.lineTo(350, 350);
        pincel.closePath(); // Fecha o caminho do triângulo
        pincel.stroke(); // Desenha o contorno do triângulo com a cor vermelha
    </script>
</body>
</html>

→ O primeiro triângulo é desenhado usando o método fill(), que preenche o interior do triângulo com a cor preta e fecha automaticamente a forma.

→ O segundo triângulo é desenhado usando o método stroke(), que desenha o contorno do triângulo com a cor vermelha. Aqui, usamos closePath() para fechar o caminho do triângulo antes de chamar stroke().

Espero tê-lo ajudado, bons estudos!