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

[Duda] proyecto barras

el codigo no esta funcionando, ya lo revise. me arroja el siguiente mensaje: "Page layout may be unexpected due to Quirks Mode" copio el codigo. agradezco la colaboracion`

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

<script>

    function dibujarRectangulo(x, y, base, altura, color) {

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

        pincel.fillstyle=color;
        pincel.fillRect(x,y, base, altura);
        pincel. strokeStyle = "black";
        pincel.strokeRect(x,y, base, altura);
    }

    function escribirTexto(x, y, texto) {

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

        pincel.font = "15px Georgia";
        pincel.fillstyle = "black";
        pincel.fillText(texto, x, y);
    }



    function dibujarBarra(x, y, serie, colores, texto) {

        escribirTexto(x, y - 10, texto);

        var sumaAltura = 0;

        for (var i = 0; i < serie.length; i++) {
            var altura = serie[i];
            dibujarRectangulo(x, y + sumaAltura, 50, altura, colores[i]);
            sumaAltura = sumaAltura + altura;


        }
    }

    var colores = ["blue", "green", "yellow", "gray"];
    var serie2009 = [6, 47, 41, 3, 3];
    var serie2019 = [81,9,3,3,4];

    dibujarBarra(50, 50, serie2009, colores, "2009");
    dibujarBarra(150, 50, serie2019, colores, "2019");

</script>
1 respuesta

Hola, disculpa me puse a revisar el código para aportar un poco a la comunidad. Vi los siguientes detalles en el código que te los corrijo y señalo con comentarios por si copias en tu editor y lo compares con tu codigo original.

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

<script>

    function dibujarRectangulo(x, y, base, altura, color) {
        var pantalla = document.querySelector("canvas");
        var pincel = pantalla.getContext("2d");

        pincel.fillStyle=color; //La propiedad es fillStyle no fillstyle "cuidado con Minsc/Maysc"
        pincel.fillRect(x,y, base, altura);
        pincel.strokeStyle = "black"; //no debería haber espacio entre pincel.strokeStyle
        pincel.strokeRect(x,y, base, altura);
    }

    function escribirTexto(x, y, texto) {
        var pantalla = document.querySelector("canvas");
        var pincel = pantalla.getContext("2d");

        pincel.font = "15px Georgia";
        pincel.fillstyle = "black";
        pincel.fillText(texto, x, y);
    }

    function dibujarBarra(x, y, serie, colores, texto) {

        escribirTexto(x, y - 10, texto);

        var sumaAltura = 0;
        for (var i = 0; i < serie.length; i++) { 
            var altura = serie[i];
            dibujarRectangulo(x, y + sumaAltura, 50, altura, colores[i]);
            sumaAltura = sumaAltura + altura;
        }
    }

    var colores = ["blue","green","yellow", "red","gray"]; //falta un valor al array
    var serie2009 = [6,47,41,3,3];
    var serie2019 = [81,9,3,3,4];

    dibujarBarra(50, 50, serie2009, colores, "2009");
    dibujarBarra(150, 50, serie2019, colores, "2019");

</script>

Lo que señalaste primero como error creo que es porque no está la etiqueta para identificar al documento como html5. Saludos espero que te sirva