2017-03-19 105 views
0

我正在嘗試在矩形上繪製一些文本,但是文本是出於某種原因在矩形之前繪製的。這似乎並不當我用另一種形狀如電弧發生在兩個鉻和Firefox,所以我不認爲這是一個瀏覽器的問題發生了,這是我的代碼:Javascript Canvas繪圖失靈?

map_context.fillStyle = "#95609F"; 
map_context.rect(32,32,192,192); 
map_context.fill(); 

map_context.fillStyle = "white"; 
map_context.fillText("+", 128, 128); 
+0

請[編輯]你的問題,並提供[最小,完整,可驗證的示例]( http://stackoverflow.com/help/mcve)。 – Xufox

回答

2

嘗試更換這些兩行:

map_context.rect(32,32,192,192); 
map_context.fill(); 

只:

map_context.fillRect(32,32,192,192); 

你可能在一個循環中吸取一些圖片,但忘記每次清路運行此相同的代碼。對於路徑(如矩形()增加了),你需要使用beginPath(),所以可選的辦法是:

map_context.beginPath(); 
map_context.rect(32,32,192,192); 
map_context.fill(); 
+0

謝謝,這讓我看着正確的方向,我正在做類似於我在程序中其他地方發佈的代碼的東西,這導致它在我正在工作的地方展現出來。在兩個地方使用beginPath()方法修復了它。 – faissaloo