2011-12-08 8 views
15

मैं कैनवास पर एक छवि प्रदर्शित करना चाहता हूं और उस छवि के शीर्ष पर एक टेक्स्ट डालना चाहता हूं।एचटीएमएल 5 कैनवास में छवि के शीर्ष पर पाठ कैसे लिखें?

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

अरे उत्तर के लिए जोनास thanx ... वहाँ किसी भी तरह से है कि मैं इस स्थिति में छवि मैं उल्लेख किया है ऊपर पाठ प्राप्त कर सकते है ऊपर ... ??????? –

+1

@ राजेशर: हाँ, टेक्स्ट के लिए वाई समन्वय के लिए एक छोटे मान का उपयोग करें। – Jonas

+0

@ जोनास हाय जोनास, क्या आप जानते हैं कि कैनवास छवि पर छवि कैसे डालें? क्या यह संभव है? – ggDeGreat