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

Cambiar Color del pincel

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

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

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

    function dibujarCuadrado(x, y, base, altura, color){
        pincel.fillStyle = color;
        pincel.fillRect(x, y, base, altura);
        pincel.strokeStyle = "black";
        pincel.strokeRect(x,y,50,50);
    }

    var puedoDibujar = false;

    function dibujarCirculo(evento) {

        if(puedoDibujar) {
            var x = evento.pageX - pantalla.offsetLeft;
            var y = evento.pageY - pantalla.offsetTop;
            pincel.fillStyle = colorPincel;
            pincel.beginPath();
            pincel.arc(x, y, 5, 0, 2 * 3.14);
            pincel.fill();
        }

    }

    dibujarCuadrado(0, 0, 50, 50, "red");
    dibujarCuadrado(50, 0 , 50, 50, "green");
    dibujarCuadrado(100, 0, 50, 50, "blue");

    pantalla.onmousemove = dibujarCirculo;

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

    }

    function deshabilitarDibujar() {

        puedoDibujar = false;

    }

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

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

    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;

    pantalla.onclick = cambiarColor

</script>
2 respuestas

hola como estas? hermoso tu resolución del ejercicio a la cual solo le falta en no poder dibujar sobre la paleta. En el desarrollo de la explicación del instructor está bien desarrollado. gracias por tu aporte.

  //Función para delimitar el área
    function puedeDisenharArea(xCoordenada,yCoordenada){

        if ((xCoordenada >= 0 && xCoordenada < (3*tamanhoCuadrados+5)) && 
            (yCoordenada >=0 && yCoordenada < (tamanhoCuadrados+5))) {

            return false;

        } else{

            return true;

        }

gracias, pero ya está, esta linea de código es la que lo realiza

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

    }