Я пытаюсь поместить изображение, сгенерированное из некоторого текста, в 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);
Unfortunatly, при вызове, он отображает стек ошибок
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