1
resposta

Sugestão de solução - Esquadro

Considero essa solução mais simples:

Ao invés de criar uma referência do ponto A e C para o ponto B, e observando que o tamanho da reta AB pode ter o mesmo tamanho da reta BC, fiz essa função declarando variáveis dentro para calcular a espessura do esquadro.

<canvas class="square" width="600" height="600"></canvas>

<script>
    var screen = document.querySelector('.square');
    var pen = screen.getContext('2d');

    function drawSquare (x, y, size, color) {

        var inSquare = size / 7.5;
        var corner = inSquare * 2.5;

        pen.fillStyle = color;
        pen.beginPath();
        pen.moveTo(x, y);
        pen.lineTo(x, y + size);
        pen.lineTo(x + size, y + size);
        pen.fill();

        pen.fillStyle = 'white';
        pen.beginPath();
        pen.moveTo(x + inSquare, y + corner);
        pen.lineTo(x + inSquare, y + size - inSquare);
        pen.lineTo(x + size - corner, y + size - inSquare);
        pen.fill();

    }

    drawSquare(100, 100, 400, 'red');

</script>

Uma dúvida: Vi na documentação que posso usar o querySelector pra selecionar o canva pela classe, que me ajuda também ao estilizar com o CSS. Essa é uma boa prática?

1 resposta
O post foi fechado por inatividade após 3 meses. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!