如何在 KineticJS 中实现主题目标?如果我使用对象的任何一个.getWidth()
或.getTextWidth()
方法Text
,给定的数量是所有字母宽度的总和。它不计算字母之间的空间。因此,我无法获得显示文本的确切宽度。我已经看到有一个涉及一些屏幕指标类的解决方案,但也许有一个更简单的解决方案?
问问题
560 次
2 回答
2
有很多方法可以满足您的需求,但是...
此函数将使用画布获取以像素为单位的文本宽度
function getTextWidth(font,text){
var canvas=document.createElement(“canvas”);
var ctx=canvas.getContext(“2d”);
ctx.font=font; // for example “14pt Verdana”;
var measure=ctx.measureText(text);
return(measure.width);
}
于 2013-06-24T20:53:13.200 回答
1
您不能简单地将隐藏元素附加到正文并检查他生成的宽度吗?
使用 jQuery:
element = $('<span />').addClass('hide').text('some dummy text');
element.appendTo('body');
console.log(element.width());
不确定我是否很好地理解了这个问题,也不确定它是否适用于画布元素。
于 2013-06-24T15:36:27.750 回答