Javascript 为什么我指定的图像没有';t出现在画布上?
我只是想在画布中获得一个图像,但由于某种原因,它没有出现 我认为问题在于我如何调用函数,尽管我不知道可能有什么问题 有问题的代码从//Imagen开始 代码如下: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
<!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”将起作用