Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Diseñando con el mouse

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta
<meta charset="UTF-8">
<canvas width="600" height="400"></canvas>
<script>

    var pantalla = document.querySelector("canvas");
    var pincel =  pantalla.getContext("2d");

    pincel.fillStyle = "lightgray";
    pincel.fillRect(0,0,600,400);

    var puedoDibujar = false;

    var basePaleta = 50;
    var posX;
    var posy;

    function crearPaleta(x,color){
        pincel.fillStyle = color;
        pincel.fillRect(x,0,basePaleta,basePaleta);
    }

    var colores = ["red","green","blue"];
    var colorActual = colores[2];
    var i = 0;
    while(i<colores.length){
        var x = 0;
        crearPaleta(x+i*50,colores[i]);
        i++;
    }


    function dibujarCirculo (x, y){
        if(puedoDibujar){
            pincel.fillStyle = colorActual;
            pincel.beginPath();
            pincel.arc(x,y,10,0,2*Math.PI);
            pincel.fill();
        }

    }


    function habilitarDibujo(evento){
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;
        if ((x<150)&&
            (y<50)){
            puedoDibujar=false; 
        }
        else {puedoDibujar = true;
        }
    }
    function deshabilidarDibujo(){
        puedoDibujar = false;
    }




    function cambiarColor(evento){
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;        
        if(
            (x < 50)&&
            (y < 50) ){
            colorActual=colores[0];
        }
        else if (
            (x < 100)&&
            (y < 50) ){
            colorActual=colores[1];
        }
        else if (
            (x < 150)&&
            (y < 50) ){
            colorActual=colores[2];
        }
    }


    function puedeDisenhar(xPos,yPos) {
        if(
            (xPos>=0 &&(xPos<3*50+5))&&
            (yPos>=0 && (yPos<50+5)) 
        ) { return false;

        } else {
            return true;
        }
    }

    function capturarMovimiento(evento){
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;

        if (puedeDisenhar(x,y)){
            dibujarCirculo(x,y);
        }
    }

    pantalla.onmousemove = capturarMovimiento;
    pantalla.onmousedown = habilitarDibujo;
    pantalla.onmouseup = deshabilidarDibujo;
    pantalla.onclick = cambiarColor;


</script>

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad