2014-01-11 62 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