2017-02-19 61 views
0

我正在嘗試使剪貼畫圖像出現在JavaScript中的畫布內部,並且由於某種原因剪貼畫未出現在矩形的頂部我正在繪製爲邊框,並且我沒有線索如何讓他們都出現。矩形顯示不是圖片。我不允許把兩個都放在畫布上嗎?我需要分兩層畫布嗎?我只是錯誤地編碼了嗎?任何幫助將非常感激。圖像顯示在JavaScript中

<canvas id = "myCanvas" width = "400" height="400"></canvas> 
<script> 
var r = document.getElementById("myCanvas"); 
var rec = r.getContext("2d"); 
rec.strokeStyle = "black"; 
rec.rect(20,20,300,300); 
var img = new Image(); 
img.onload = function() 
{ 
    rec.drawImage(img,30,30); 
} 
img.src = "monkey-face-cartoon.png"; 
rec.stroke(); 
function monkeyMove(){ 
} 
</script> 

回答

0

看起來像沒有被正確加載,併爲此img.onload不會被調用。我換出了一個data-uri的src,它表現得很好。你從哪裏得到圖像?

+0

該圖像來自我的個人電腦,保存到我的桌面,我只是沒有把目錄。什麼是data-uri? – kbb5268

+0

uri交換無效 – kbb5268

+0

數據uri是一種編碼形式,在這種情況下,將圖像編碼爲字符串。檢查[codepen](http://codepen.io/anon/pen/ZLdeaG?editors=1010),它有你的代碼,但顯示堆棧溢出標誌。數據URI是以'data:image/png; base64'開頭的部分。你可以閱讀更多關於他們[在MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) –