2010-11-26 138 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";