TextField
のテキストの正確な境界を表すRectangle
を取得しようとしています。できるだけ正確なAS3:テキストフィールドのテキストの左上と正確な幅と高さを取得するにはどうすればよいですか?
** *
はこのイメージください:。私の現在の知識を使用して
を、私はそうのように上記ブルー四角形を取得することができます。
var textRect:Rectangle = new Rectangle(
field.x,
field.y,
field.textWidth,
field.textHeight
);
しかし、できるだけ近くに取得する必要があります赤長方形(文字は/高さが変わって共通の地面が必要なため、多少の違いがあることに気づきます)。
どのように赤い矩形を(動的に)取得できますか?
私は色私の小さな部分を埋める場合でもpackage
{
import flash.display.BitmapData;
import flash.text.TextField;
import flash.geom.Rectangle;
public class TextBounds
{
public static function getTextBounds(textField:TextField):Rectangle
{
var curtainColor:uint = 0x00FF00;
var bmd:BitmapData = new BitmapData(textField.width, textField.height, false, curtainColor);
bmd.draw(textField);
return bmd.getColorBoundsRect(curtainColor, textField.textColor, true);
}
}
}
...しかし、私はいつも(x=0, y=0, w=0, h=0)
の結果を取得し、ジェイコブエッガースにより、下記の回答に基づいて、このヘルパークラスを設定
完璧であることを行っていないが、
bmd.fillRect(new Rectangle(0, 0, 30, 30), textField.textColor);
あなたは見ましたか? :http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#getCharBoundaries() – OXMO456
@MartyWallace、Jacob Eggersによって下に掲載されたソリューションが投稿された質問を解決しない場合これは誤解を招くので、質問の答えとしてマークを外してください。 –