1
respuesta

diseño con el mouse

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Diseñando con el mouse</title>
</head>
<body>
    <canvas width="600" height="400"></canvas>

<script>
    var pantalla = document.querySelector('canvas');
    var pincel = pantalla.getContext('2d');


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

    var puedoDibujar = false;
    var xR = 0;
    var xG = 50;
    var xB = 100;
    var yCuadro = 0;
    var tamañoCadros = 50;
    var colorActual = "blue";

    function crearCuadro(x, y , tamano, color){
            pincel.fillStyle = color;
            pincel.fillRect(x,y,tamano,tamano); 
            pincel.fill(); 
        }

    // nota: siempre cerrar la figuras con fill():

    function paletaDeColores(){
        crearCuadro(xR,yCuadro,tamañoCadros, "red");
        crearCuadro(xG,yCuadro,tamañoCadros, "green");
        crearCuadro(xB,yCuadro,tamañoCadros, "blue");
    }

    /*pincel.fillStyle = "red";
    pincel.fillRect(0,0,50,50);
    pincel.fillStyle = "green";
    pincel.fillRect(50,0,50,50);
    pincel.fillStyle = "blue";
    pincel.fillRect(100,0,50,50);*/

    function dibujarCirculo(x, y, colorActual) {

        if(puedoDibujar) {
            pincel.fillStyle = colorActual;
            pincel.beginPath();
            pincel.arc(x, y, 5, 0, 2 * 3.14);
            pincel.fill();
        }

    }

    pantalla.onmousemove = dibujarCirculo;

    function habilitarDibujar() {

        puedoDibujar = true;
    }

    function deshabilitarDibujar() {

        puedoDibujar = false;
    }

    function puedeDiseñarArea(xCoordenada,yCoordenada){

        if ((xCoordenada >= 0 && xCoordenada < (3*tamañoCadros+5)) && 
            (yCoordenada >=0 && yCoordenada < (tamañoCadros+5))) {

            return false;

        } else{

            return true;

        }
}    

function capturarMovimientoDelMouse(evento){

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

if (puedeDiseñarArea(x,y)){

        dibujarCirculo(x,y,colorActual);

}

}

function seleccionarColor(evento) {

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

if (y > yCuadro && y < (yCuadro + tamañoCadros)) {

    if(x > xR && x < (xR + tamañoCadros)) {

        colorActual = "red";
        console.log(colorActual);

    } else if (x > xG && x < (xG + tamañoCadros)) {

        colorActual = "green";

    } else if(x > xB && x < (xB + tamañoCadros)) {

        colorActual = "blue";

    }            


}


}

pantalla.onmousemove = capturarMovimientoDelMouse;

pantalla.onmousedown = habilitarDibujar;

pantalla.onmouseup = deshabilitarDibujar;

paletaDeColores();

pantalla.onclick = seleccionarColor;

</script>
</body>
</html>
1 respuesta

Hola estudiante, Gracias por compartir la solución de tus ejercicios con nosotros. ¿Sabias que puedes interactuar con el resto de tus compañero por nuestro Discord? En Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros de esta forma el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos. Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios