TextField小写行

时间:2013-04-09 09:03:41

标签: actionscript-3 actionscript textfield

我需要使用ActionScript 3在缩放的TextField 中获得Baseline和Lowercase行之间的距离。我在这里用蓝色箭头标记它:enter image description here

有人知道如何获得这个价值吗?

2 个答案:

答案 0 :(得分:2)

您正在寻找的是x-height。不幸的是,Flash ActionScript API没有提供任何获取字体x高度的方法。

使用一些棘手的技巧,您可以自己计算x高度。我想你可能会创建一个只有“x”的新文本字段,并将其绘制到bitmapdata。然后测试像素以获得高度。

答案 1 :(得分:2)

var s:String=yourTF.text; // preserve
yourTF.text='x';
var c:uint=yourTF.textColor; // get color
var bd:BitmapData=new BitmapData(yourTF.width,yourTF.height);
bd.draw(yourTF);
var r:Rectangle=bg.getColorBoundsRect(0x00ffffff,c);
trace(r.height);
yourTF.text=s;