2010-11-26 143 views
1
function drawimage() 
{ 
var f=document.getElementById("myCanvas"); 
    var cxt1=f.getContext("2d"); 
    var img1=new Image(); 
    img1.src="image.jpg"; 
    cxt1.drawImage(img1,0,0,750,400); 
} 

<canvas id="myCanvas" width="1125" height="600" style="border:1px solid #c3c3c3;"> 
</canvas> 
<script type="text/javascript"> 

drawimage(). 

这是我的javascript,但是当我在浏览器上运行这个时,只有第一次出现边框,图片只有在刷新页面后才出现。代码有什么问题?html javascript代码加载不正确

回答

1

试着做图像中的“负荷”处理器绘图:

var img1=new Image(); 
img1.src="image.jpg"; 
img1.onload = function() { 
    cxt1.drawImage(img1,0,0,750,400); 
}; 
+0

也有相同的代码绘制线也。在我的页面上,有时会绘制线条,有时会刷新。 – sahil 2010-11-26 22:05:37

0

的img1.src线必须在onload后,如果浏览器是速度不够快,因为(+也许图像缓存或它的本地主机) ,图像将在img1.src设置后立即加载。在这种情况下,onload将不会被调用。

var img1=new Image(); 
img1.onload = function() { 
    cxt1.drawImage(img1,0,0,750,400); 
}; 
img1.src="image.jpg";