2
這種東西卡住了,這就是爲什麼需要幫助。我正在使用HTML5和JavaScript在圖像上插入文本,並使用文本創建新圖像。如果我手動添加文本,一切都很好,但如果我試圖將文本作爲值傳遞給函數,則不會發生。這裏的下面JavaScript,將值傳遞給函數
function draw_text(topt,bott){
var canvas = document.getElementById("e");
var context = canvas.getContext("2d");
var img = new Image();
img.src = "testimage.jpg";
img.onload = function()
{
context.drawImage(img, 0, 0);
draw_text();
};
var toptext = this.topt;
var bottomtext = this.bott;
context.font = "12px Arial";
context.fillStyle = "white";
context.strokeStyle = 'black';
context.fillText(toptext, (img.width-context.measureText(toptext).width)/2, 40);
context.strokeText(toptext, (img.width-context.measureText(toptext).width)/2, 40);
context.fillText(bottomtext, (img.width-context.measureText(bottomtext).width)/2, 350);
};
功能代碼,我被
draw_text('Text 1','Text 2');
調用此函數,但我要麼在畫布上是完全不可見或者它帶有文本「未定義」。我究竟做錯了什麼?順便說一句,如果它是重要的,我正在codeigniter視圖文件中執行此代碼。
其實這是我第一次嘗試的方式。沒有工作!兩種方式我都得到相同的結果。但是,如果我手動爲topt和bott賦值,並像函數draw_text()那樣對函數進行編碼,它就會起作用。 – user427357 2010-08-22 00:36:30
好吧,使用'這'是你絕對不會工作的方式。如果通過「draw_text('asd','asd')」而不是「draw_text(somevar,somevar2)」來調用函數,那麼您傳入的兩個變量之一就是空或未定義的。 – jdc0589 2010-08-22 00:45:43
另外,檢查編輯我原來的答案 – jdc0589 2010-08-22 00:47:46