2011-12-08 19 views
15

キャンバスに画像を表示し、その画像の上にテキストを挿入したいとします。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); 
}; 

私はここでイメージを取得していますが、テキストは取得していません。テキストはイメージの後ろにあります。 イメージの上にテキストを挿入するにはどうすればよいですか?

答えて

30

これは、イメージがロードされて描画される前にテキストを描画するためです。イメージが描画された後、イメージの上にあるべきテキストを描画する必要があります。代わりにこのコードを試してみてください。

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"; 
}; 

例:

enter image description here

+0

返信用ねえジョナスありがとう...私が言及している場合には、画像上のテキストを取得することができますどのような方法があります上記... ??????? –

+1

@RajeshRs:はい、テキストのY座標に小さい値を使用します。 – Jonas

+0

@Jonasこんにちはジョナス、私はどのようにキャンバスのイメージに画像を置くか知っていますか?出来ますか? – ggDeGreat

関連する問題