ActionScript 3 を使用して、スケーリングされた TextField内のベースラインと小文字の線の間の距離を取得する必要があります。ここでは青い矢印でマークしました。
この値を取得する方法を知っている人はいますか?
ActionScript 3 を使用して、スケーリングされた TextField内のベースラインと小文字の線の間の距離を取得する必要があります。ここでは青い矢印でマークしました。
この値を取得する方法を知っている人はいますか?
探しているものはx-heightと呼ばれます。残念ながら、Flash ActionScript API には、書体の x-height を取得する方法がありません。
ただし、いくつかのトリッキーな手法を使用すると、x 高さを自分で計算できる場合があります。「x」だけで新しいテキストフィールドを作成し、それをビットマップデータに描画できると思います。次に、ピクセルをテストして高さを取得します。
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;