2014-01-11 63 views
-1
ctx.font="73px 方正蘭亭特黑簡體"; 
var gradient=ctx.createLinearGradient(0,0,403,0); 
gradient.addColorStop("0","#ffa91a"); 
gradient.addColorStop("0.5","#ffe846"); 
gradient.addColorStop("1.0","#ffef8c"); 
ctx.fillStyle=gradient; 
; 
ctx.fillText("fwefwefewf",495,230); 

如何捕捉文字,因爲文字的寬度是403我想改變文本的寬度的動態問題畫布繪製文本寬度

+0

我真的很抱歉說這個,我想要禮貌......但這是迄今爲止我看到的最難以理解的問題!我試圖留下一些建設性的反饋意見,但在閱讀了3次「問題」後,我無法理解你的問題。 – paprika

+0

我想你可以通過編輯你的問題來提高你獲得答案的機會,以便實際上以問題的形式出現:你想完成什麼? – paprika

回答

2

您可以嘗試使用的measureText()方法背景:

ctx.font="73px 方正蘭亭特黑簡體"; 

var txt = 'fwefwefewf'; 
var txtWidth = ctx.measureText(txt).width; /// width in pixels 

var gradient=ctx.createLinearGradient(0,0, txtWidth, 0); 
gradient.addColorStop(0, "#ffa91a"); 
gradient.addColorStop(0.5,"#ffe846"); 
gradient.addColorStop(1.0,"#ffef8c"); 
ctx.fillStyle=gradient; 

ctx.fillText(txt, 495,230); 

只記得拿文字位置考慮以及漸變。

+0

謝謝!!!!!!!!!!!!!!!! – user3184009