2
|
Jonathan Feinberg · 技术社区 · 15 年前 |
1
2
在flash 9中不太可能——Richard的答案是一个巧妙的解决方案,尽管可能完全不适合生产代码(如他所提到的):) 如果您可以使用Flash 10,请查看新的 text engine classes ,尤其是文本行。 |
2
3
Richard在正确的轨道上,但是bitmapdata.getcolorbounds()更快更准确…我已经用过几次了,并且针对您的特定需求进行了优化,它不像人们想象的那么慢。 Cory关于使用flash.text.engine的建议可能是正确的,但我警告您flash.text.engine非常(非常!)与textfield相比,很难使用。 |
3
2
恐怕在textfield上可用的所有方法都应该做您已经发现它们要做的事情。除非性能是应用程序中的关键(即,除非您经常这样做),否则可能有一个选项是将文本字段绘制到位图数据中,并在getHarboundaries()检索到的边界框中找到最顶部、最左侧的ET C颜色像素?
此代码应该循环遍历getchaboundaries()认为是glyph矩形一部分的所有像素。如果一个像素不是黑色的,它会被丢弃。如果为黑色,代码将检查像素是否比以前在循环中检查过的任何像素向上、向下、向右或向左扩展。 显然,这不是最佳代码,带有嵌套循环和不必要的点对象。尽管如此,希望代码足够可读,并且您能够找出最容易优化的部分。 您可能还需要引入一些阈值,而不是忽略任何不是变黑的像素。 |
nabster023 · 拉伸和旋转电影剪辑而不失真 6 年前 |
BadmintonCat · 获取数组排序的索引 6 年前 |
Dimentio · 无限循环(动作脚本3) 7 年前 |
steph45 · 它们是一种在数组中找到最接近0的数字的方法吗? 7 年前 |
AeroKLiam · AS3-使用组合框进行真/假测验 7 年前 |