1
resposta

Solução: Desenhando com mouse com infinitas cores

Unindo alguns conceitos aprendido durante as aulas.

<canvas width="600" height="400"></canvas>
<br>
Escolha uma cor: <input type="color">

<script>
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    var cor = document.querySelector("input");

    pincel.fillStyle = 'grey';
    pincel.fillRect(0, 0, 600, 400);

    var desenha = false;

    var raio = 10;
    function desenhaCirculo(evento) {

        if(desenha) {
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = cor.value;
            pincel.beginPath();
            pincel.arc(x, y, raio, 0, 2 * 3.14);
            pincel.fill();
        }
        console.log(x + ',' + y);


        if(evento.shiftKey && raio + 10 <= 40) {
            raio = raio + 10; //raio agora passar a valer 20;
        } else if(evento.altKey && raio - 5 >= 10) {
            raio = raio - 5;
        }
    }

    tela.onmousemove = desenhaCirculo;

    function habilitaDesenhar() {

        desenha = true;
    }

    function desabilitaDesenhar() {

        desenha = false;
    }

    tela.onmousedown = habilitaDesenhar;

    tela.onmouseup = desabilitaDesenhar;

    tela.onclick = desenhaCirculo;

</script>
1 resposta

Olá! Como vai?

Ficou com alguma dúvida durante a resolução?

Caso tenha ficado não deixe de compartilhar com a gente.

Continue praticando, bons estudos e até mais!