1
resposta

Desenhando com o mouse com infinitas cores

<meta charset="utf-8">

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

<script type="text/javascript">
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    var escolharCor = document.querySelector('input');

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

    var raio = 10;
    var desenha = false;
    //var cores = ['white','green','red','blue','orange','yellow'];
    var indiceCor = 0;

    tela.onclick = function(evento){

        var x = evento.pageX - tela.offsetLeft;
        var y = evento.pageY - tela.offsetTop;

        //var raio = 10;

        if (evento.shiftKey && raio <= 40){
            raio = raio + 10;
        }

        if (evento.altKey && raio >= 10){
            raio = raio - 10;
        }
            pincel.fillStyle = escolharCor.value;
            pincel.beginPath();
            pincel.arc(x,y,raio,0,2*Math.PI);
            pincel.fill();
    }

    tela.onmousemove = function(evento){


        if(desenha){
        var x = evento.pageX - tela.offsetLeft;
        var y = evento.pageY - tela.offsetTop;

            pincel.fillStyle = escolharCor.value;
            pincel.beginPath();
            pincel.arc(x,y,raio,0,2*Math.PI);
            pincel.fill();
        }
    }

    tela.onmousedown = function (){
        desenha = true;
    }

    tela.onmouseup = function (){
        desenha = false;
    }

    tela.oncontextmenu = function(){
        indiceCor++;
        if(indiceCor >= cores.length){
            indiceCor = 0;
        }
        return false;
    }


</script>
1 resposta

Muito bom Romero!! Ficou um programa bem completo!!