我试图把图像,从一些文字产生,在RichEditableText生成一个柔性的形象。由于它是一个样式化的文本,我考虑将它放在另一个RichEditableText中,对其进行设计,然后将其打印到一个Bitmap以用作InlineGraphicsElement的源代码。从隐藏的组件
我用下面的代码来做到这一点
var txt:RichEditableText = new RichEditableText();
txt.text = name;
// Appliy given styles to the text flow of input rich editable text
createApplyNamedStyle(name, styles).call(null, txt.textFlow);
var bitmapData:BitmapData = new BitmapData(txt.width, txt.height);
bitmapData.draw(txt);
var bitmap:Bitmap = new Bitmap(bitmapData);
不幸的是,被调用时,它会显示一个错误堆栈
ArgumentError: Error #2015: BitmapData non valide.
at flash.display::BitmapData()
at RichTextEditor/getTagImage()[E:\FlexWorkspace\Test\src\RichTextEditor.mxml:74]
at RichTextEditor/insertTag()[E:\FlexWorkspace\Test\src\RichTextEditor.mxml:154]
我怀疑这是由于这样的事实,我的RichEditableText,不是在可见部分,没有布局。 我如何确保正确布置?
而且我是在做我的文本转换成图像正确的事情?
从调试器,我可以告诉你,宽度和高度都是'0',这就是为什么不能创建的BitmapData的原因。 在我以前的Java世界中,我会打包pack()(或类似的东西)来强制组件布局。但在这里,似乎并不存在。那么,我怎样才能让我的组件可绘制? – Riduidel 2010-01-20 16:45:44