actionscript-3 - 有没有办法在 ActionScript 中获取字形的实际边界框?

标签 actionscript-3

我正在学习 ActionScript/Flash。我喜欢玩弄文本,并且用出色的 Java2D API 做过很多这样的事情。

我想知道的一件事是“你到底在哪里画那个字形?” TextField 类提供方法 getBoundsgetCharBoundaries,但是这些方法分别返回远远超出整个文本对象或单个字符的实际边界的矩形。

var b:Sprite = new Sprite();
b.graphics.lineStyle(1,0xFF0000);
var r:Rectangle = text.getCharBoundaries(4);
r.offset(text.x, text.y);
b.graphics.drawRect(r.x,r.y,r.width,r.height);
addChild(b);

b = new Sprite();
b.graphics.lineStyle(1,0x00FF00);
r = text.getBounds(this);
b.graphics.drawRect(r.x,r.y,r.width,r.height);
addChild(b);

some bounds

有没有什么方法可以获得有关 ActionScript 中文本字形的实际视觉边界的更精确信息?

最佳答案

Richard 走在正确的轨道上,但 BitmapData.getColorBounds() 更快更准确...我已经使用了几次,并针对您的特定需求进行了优化,它并不像人们想象的那么慢。

Cory 关于使用 flash.text.engine 的建议可能是“正确”的方法,但我警告您,与 TextField 相比,flash.text.engine 非常(非常!)难用。

关于actionscript-3 - 有没有办法在 ActionScript 中获取字形的实际边界框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1942911/

相关文章:

apache-flex - 如何以声明方式将 spark State 的 name 属性设置为字符串变量值

mysql - 如何在 Sequel Pro TEXT 编辑器中创建 JSON 字符串?

css - Flex 3 中 textArea 的最后一行对齐

actionscript-3 - 加载和使用 SWF 文件

actionscript-3 - 在 Subversion 中管理核心库

ios - 在iOS5设备上测试Flash应用程序时模糊效果消失

algorithm - 自动旋转房子的底部到直线

apache-flex - 需要进行Flex澄清: width, min(max)Width,explicitWidth,explicitMin(Max)Width,measuredWidth,measuredMinWidth,percentWidth

actionscript-3 - actionscript 样式表中的行高

apache-flex - Flex 错误 #1009 : Cannot access a property or method of a null object reference