2011-12-08 21 views
15

Chcę wyświetlić obraz na płótnie i wstawić tekst na górze tego obrazu.Jak napisać tekst na górze obrazu w kanwie HTML5?

window.onload = function() { 
    var canvas = document.getElementById("myCanvas"); 
    var context = canvas.getContext("2d"); 
    var imageObj = new Image(); 

    imageObj.onload = function() { 
     context.drawImage(imageObj, 10, 10); 
    }; 

    imageObj.src = "darth-vader.jpg"; 
    context.font = "40pt Calibri"; 
    context.fillText("My TEXT!", 20, 20); 
}; 

Otrzymuję tylko obraz tutaj, ale nie tekst; tekst znajduje się za obrazem. Jak wstawić tekst na górze obrazu?

Odpowiedz

30

Dzieje się tak dlatego, że narysowałeś tekst przed załadowaniem obrazu i jego narysowaniem. Trzeba narysować tekst, który powinien znajdować się na górze obrazu po narysowaniu obrazu. Spróbuj zamiast tego kodu:

window.onload = function(){ 
    var canvas = document.getElementById("myCanvas"); 
    var context = canvas.getContext("2d"); 
    var imageObj = new Image(); 
    imageObj.onload = function(){ 
     context.drawImage(imageObj, 10, 10); 
     context.font = "40pt Calibri"; 
     context.fillText("My TEXT!", 20, 20); 
    }; 
    imageObj.src = "darth-vader.jpg"; 
}; 

Przykład:

enter image description here

+0

Hej Jonas thanx za odpowiedzi ... Czy jest jakiś sposób, że można uzyskać tekst nad obrazu w przypadku Wspomniałem powyżej ... ??????? –

+1

@RajeshRs: Tak, użyj mniejszej wartości dla współrzędnej Y dla tekstu. – Jonas

+0

@ Jonas Cześć Jonas, czy umiesz umieścić obraz na płótnie? Czy to możliwe? – ggDeGreat

Powiązane problemy