Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Proyecto] programa paint, diseniando con el mouse

Comparto mi manera de hacer el ejercicio de la clase diseniando 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>Paint</title>
</head>

<body>

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

<script>

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



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

    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);

    var puedoDibujar = false;
    var color = "blue";
    function dibujarCirculo(evento) {
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;

        if ((x > 155 && y < 55) ||
            (x < 155 && y > 55) ||
            (x > 155 && y > 55)) {
            if (puedoDibujar) {
                var x = evento.pageX - pantalla.offsetLeft;
                var y = evento.pageY - pantalla.offsetTop;
                pincel.fillStyle = color;
                pincel.beginPath();
                pincel.arc(x, y, 5, 0, 2 * 3.14);
                pincel.fill();
            }
        }
      //  console.log(x, y, x + pantalla.offsetLeft, y + pantalla.offsetTop);
    }




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

        if (x < 50 && y < 50) {
            color = "red";
        } else if (x >= 50 && x < 100 && y < 50) {
            color = "green";
        } else if (x >= 100 && x < 150 && y < 50) {
            color = "blue";
        }

    }
    pantalla.onclick = elegirColor;

    pantalla.onmousemove = dibujarCirculo;

    function habilitarDibujar() {

        puedoDibujar = true;
    }

    function deshabilitarDibujar() {

        puedoDibujar = false;
    }

    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;


</script>

</html>

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

2 respuestas

buenas tardes, estoy en esta etapa de dibujar con el mouse, después de muchos intentos revisando los códigos, las asignaciones de clic con el mouse, finalmente recurrí a copiar íntegramente la propuesta de Christian VER OPINION DEL INSTRUCTOR, sostengo presionado el lado izquierdo del mouse y no me dibuja nada, sin considerarlo di un solo clic sin sostener el botón apretado y me da un punto azul, ok. recurrí a copiar integro este código propuesto aquí arriba por Kristian y todo sigue igual, sinceramente ya no se que mas hacer.... les envio el codigo que estoy usando... talvez ustedes ven lo que yo no veo. anticipo mi agradecimiento a la atencion al caso, saludos

No veo el codigo, la verdad no se que estes haciendo mal, pero ya checaste en la consola de tu navegador?, dandole clic derecho e inspeccionar verifica que es lo que esta saliendo mal, ya que no sabes si realmente es el codigo o tu estas haciendo algo que no es lo que quieres que haga, no se ve el codigo de antemano, pero algo asi te tiene que salir

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