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

05 Diseñando con el mouse

<canvas width="600" height="400"></canvas>

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

    var colores= ["red", "green", "blue"]
    var uncolor=0;
    pincel.fillStyle = 'grey';
    pincel.fillRect(0, 0, 600, 400);

    var elegirColor = "black";
    function dibujarcuadrado(x,y,color){

        pincel.fillStyle = color;
        pincel.fillRect(x,y,50,50);
        pincel.strokeStyle = "black"; 
        pincel.strokeRect(x,y,50,50);
    }

    var a=0
    dibujarcuadrado(a,0,"red");
    dibujarcuadrado(a+50,0,"green");
    dibujarcuadrado(a+100,0,"blue");


    var puedoDibujar = false;

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

        if(x>=0 && x<50 && y<50){
           escogercolor= colores[0]
        }
        if(x>=50 && x<100 && y<50 ){
            escogercolor= colores[1]
        }

        if(x>=100 && x<150 && y<50 ){
            escogercolor= colores[2]
        }
    }

    function dibujarCirculo(evento) {

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

            if ((x>=0 && x<=600) && (y>=0 && y<=400)) {
                pincel.fillStyle = escogercolor;
                pincel.beginPath();
                pincel.arc(x, y, 5, 0, 2 * 3.14);
                pincel.fill();
            }
        }

    }

    pantalla.onmousemove = dibujarCirculo;

    function habilitarDibujar() {

        puedoDibujar = true;
    }

    function deshabilitarDibujar() {

        puedoDibujar = false;
    }
    pantalla.onclick = escogercolor;

    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;

</script>
1 respuesta

¡Hola Estudante!

En el código que compartiste, se está creando una aplicación web que permite dibujar en un canvas utilizando el mouse. Además, se pueden seleccionar diferentes colores para dibujar.

Sin embargo, noté que hay un error en la función "escogercolor". En lugar de asignar el valor de la variable "color" a la variable "escogercolor", se está asignando el nombre de la función a la variable. Para solucionarlo, debes cambiar la línea de código:

escogercolor= colores[0]

por:

elegirColor = colores[0];

También puedes hacer lo mismo para los otros dos casos.

Espero que esta solución te ayude a continuar con tu práctica de lógica de programación. ¡Buenos estudios!

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