Javascript 为什么我的图像没有显示在画布上?

Javascript 为什么我的图像没有显示在画布上?,javascript,canvas,Javascript,Canvas,我试图在画布上的上角显示图像,但绘图功能无法正常工作。我做错了什么 上面的图像是我想在屏幕上显示的 <html> <head> <title></title> </head> <body> <p><canvas id="canvas" style="border:1px solid black;" width="450" height="310"></canvas> </body

我试图在画布上的上角显示图像,但绘图功能无法正常工作。我做错了什么

上面的图像是我想在屏幕上显示的

<html>
<head>
<title></title>
</head>

<body>
<p><canvas id="canvas" style="border:1px solid black;" width="450" height="310"></canvas>
</body>


<script>
    var c=document.getElementById("canvas");
    var ctx=c.getContext("2d");


    draw();

    function draw(){  
        var img = new Image(); 
        img.src = "t.gif";  
        ctx.drawImage(img,0,0);  
    }
</script>

</html>


var c=document.getElementById(“画布”);
var ctx=c.getContext(“2d”);
draw();
函数draw(){
var img=新图像();
img.src=“t.gif”;
ctx.drawImage(img,0,0);
}

问题在于,您试图在浏览器完成下载之前立即绘制图像

请尝试以下方法:

function draw(){  
    var img = new Image();
    img.onload = function() {
        ctx.drawImage(img,0,0);
    };
    img.src = "t.gif";  
}

问题在于,您试图在浏览器完成下载之前立即绘制图像

请尝试以下方法:

function draw(){  
    var img = new Image();
    img.onload = function() {
        ctx.drawImage(img,0,0);
    };
    img.src = "t.gif";  
}

问题在于,您试图在浏览器完成下载之前立即绘制图像

请尝试以下方法:

function draw(){  
    var img = new Image();
    img.onload = function() {
        ctx.drawImage(img,0,0);
    };
    img.src = "t.gif";  
}

问题在于,您试图在浏览器完成下载之前立即绘制图像

请尝试以下方法:

function draw(){  
    var img = new Image();
    img.onload = function() {
        ctx.drawImage(img,0,0);
    };
    img.src = "t.gif";  
}

您应该在加载后绘制图像

img.onload = function() {
    // here...
};

您应该在加载后绘制图像

img.onload = function() {
    // here...
};

您应该在加载后绘制图像

img.onload = function() {
    // here...
};

您应该在加载后绘制图像

img.onload = function() {
    // here...
};

您想显示“OPEN4HOURS”,但您添加了“Royal Flush”、“Striaght Flush”@chipChocolate.py之所以有效,是因为浏览器的缓存中有图像。但是,如果你在私人窗口打开小提琴,它将无法工作。你想显示“OPEN4HOURS”,但你添加了“Royal Flush”、“Striaght Flush”@chipChocolate.py之所以有效,是因为浏览器的缓存中有图像。但是,如果你在私人窗口打开小提琴,它将无法工作。你想显示“OPEN4HOURS”,但你添加了“Royal Flush”、“Striaght Flush”@chipChocolate.py之所以有效,是因为浏览器的缓存中有图像。但是,如果你在私人窗口打开小提琴,它将无法工作。你想显示“OPEN4HOURS”,但你添加了“Royal Flush”、“Striaght Flush”@chipChocolate.py之所以有效,是因为浏览器的缓存中有图像。但是如果你在私人窗口打开小提琴,它就不会工作了。