我們正試圖獲得代表TextField
中文本的確切邊界的Rectangle
。AS3:如何獲得文本字段中某些文本的左上角和精確寬度和高度?
**精確地*
採取這一形象:
使用我目前的知識,我可以檢索藍色矩形上方,像這樣:
var textRect:Rectangle = new Rectangle(
field.x,
field.y,
field.textWidth,
field.textHeight
);
但是,我們需要儘可能接近紅色矩形(我認識到會有細微的差異,因爲角色隨高度而變化,需要有共同點)。
我怎樣才能得到紅色矩形(動態)?
我成立這個助手類基於下面的答案雅各埃格斯,但我總是得到的(x=0, y=0, w=0, h=0)
結果..
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);
}
}
}
即使我填一小部分與我的色彩在尋找我仍然得到一個零大小的矩形:
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 2012-03-08 09:04:02
@MartyWallace,如果Jacob Eggers在下面發佈的解決方案不能解決發佈的問題,請將其標記爲問題的答案,因爲這會誤導。 – 2013-08-25 17:36:10