Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我指定的图像没有';t出现在画布上?_Javascript_Html_Canvas - Fatal编程技术网

Javascript 为什么我指定的图像没有';t出现在画布上?

Javascript 为什么我指定的图像没有';t出现在画布上?,javascript,html,canvas,Javascript,Html,Canvas,我只是想在画布中获得一个图像,但由于某种原因,它没有出现 我认为问题在于我如何调用函数,尽管我不知道可能有什么问题 有问题的代码从//Imagen开始 代码如下: <!doctype html> <html lang="es"> <head> <meta charset="UTF-8"> <title>CH1EX1: Basic Hello World HTML Page</title> <s

我只是想在画布中获得一个图像,但由于某种原因,它没有出现

我认为问题在于我如何调用函数,尽管我不知道可能有什么问题

有问题的代码从//Imagen开始

代码如下:

<!doctype html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>CH1EX1: Basic Hello World HTML Page</title>

    <script src="scripts/modernizr.js"></script>

    <script type="text/javascript">

        window.addEventListener("load", eventWindowLoaded);
        var Debugger = function() {};

        Debugger.log = function (message){
            try{
                console.log(message);
            } catch (exception){
                return;
            }
        }

        function eventWindowLoaded(){
            canvasApp();
        }

        function canvasSupport(){
            return Modernizr.canvas;
        }

        var theCanvas = document.getElementById("canvasOne");


        function canvasApp(){

            if(!canvasSupport()){ //Checa soporte del navegador para Canvas
                return;
            }

            var theCanvas = document.getElementById("canvasOne"); //Encuentra y asigna a la variable el Canvas (con ese id)
            var context = theCanvas.getContext("2d"); //Usaremos el contexto 2D, por lo que se hace ésto, y usaremos context para modificar nuestro canvas.

            Debugger.log("Dibujando el Canvas");

            function dibujarPantalla(){

                //Fondo
                context.fillStyle = "#ffffaa";
                context.fillRect(0, 0, 800, 600);

                //Texto
                context.fillStyle = "#000000";
                context.font = "20px _sans";
                context.textBaseline = "top";
                context.fillText("Óscar A. Montiel", 800/2, 300);

                //Imagen
                var imagen = new Image();
                imagen.src = "dog.jpg";
                Debugger.log("Dibujando imagen.")

                var imagenDibujada = false;
                imagen.onLoad = function(){// cuando se carga
                    context.drawImage(imagen, 0, 0);
                    imagenDibujada = true;
                    Debugger.log("Imagen dibujada");
                }
                if(imagenDibujada === false){
                    Debugger.log("La imagen no se dibujó.");
                }

                //Caja
                context.strokeStyle = "#000000";
                context.strokeRect(5, 5, 800, 600);
            }

            dibujarPantalla();

            Debugger.log("Pantalla dibujada.")

        }



    </script>


</head>
<body>
    <div style="position: absolute; top: 50px; left: 50px">
    <canvas id="canvasOne" width="1280" height="720">
        <!-- Mensaje que aparece cuando el navegador no soporta Canvas -->Eres un vejestorio usando navegadores medievales. ¡Actualízate!
    </canvas>

    </div>




</body>
</html>

CH1EX1:基本Hello World HTML页面
addEventListener(“加载”,eventWindowLoaded);
var Debugger=function(){};
Debugger.log=函数(消息){
试一试{
控制台日志(消息);
}捕获(例外){
返回;
}
}
函数eventWindowLoaded(){
canvasApp();
}
函数canvasSupport(){
返回现代化画布;
}
var theCanvas=document.getElementById(“canvasOne”);
函数canvasApp(){
如果(!canvasSupport()){//Checa soport del navegador para Canvas
返回;
}
var theCanvas=document.getElementById(“canvasOne”);//Encurentra y asigna la variable el Canvas(con-ese id)
var context=canvas.getContext(“2d”);//Usaremos el contexto 2d,por lo que se haceésto,y Usaremos context para modificiar nuestro canvas。
log(“Dibujando el Canvas”);
函数dibujarPantalla(){
//丰多
context.fillStyle=“#ffffaa”;
fillRect(0,0800600);
//Texto
context.fillStyle=“#000000”;
context.font=“20px\u sans”;
context.textbrealine=“top”;
上下文。填充文本(“斯卡·A·蒙蒂尔”,800/2300);
//图像
var imagen=新图像();
imagen.src=“dog.jpg”;
log(“Dibujando imagen”)
var imagenDibujada=假;
imagen.onLoad=function(){//cuando se carga
drawImage(imagen,0,0);
imagenDibujada=真;
log(“Imagen dibujada”);
}
如果(imagenDibujada==false){
log(“La imagen no se dibujó.”);
}
//卡贾
context.strokeStyle=“#000000”;
strokeRect(5,5800600);
}
dibujarPantalla();
log(“pantalladibujada.”)
}
我们是中世纪的纳维加多尔人。“真的!

imagen.onLoad
应更改为
imagen.onLoad
。全部小写。

控制台中是否有错误?像404?如果你制作了一个工作代码片段或小提琴,会很有帮助。。。所以我们可以在行动中看到它……代码片段:我用@PalineDrome555的答案检查了fiddel,他是对的。代码的唯一问题是“onLoad”事件调用。如果您将其全部小写:“onload”将起作用