我有一个动态加载的图像,并被添加到我的大型应用程序中。
加载图像后,我想要抓取显示器的位图以进行打印。
问题是,在图像在屏幕上呈现后,我无法找到任何可以保证触发的事件。
FlexEvent.CREATION_COMPLETE听起来最接近纸张,但似乎无法解决问题。
为了测试,我在事件触发的处理程序末尾添加一个断点,并在触发断点时查看图像是否在屏幕上。
我被迫使用flex 3.3。
答案 0 :(得分:2)
图像是一种特殊情况 - 在加载和渲染图像数据之前,组件可以在显示列表中完整和可见。
对于s:Image
,请查看Image.ready
事件。
如果您使用的是mx:Image
,请查看Image.complete
。 (还有s:Image.complete
- 请参阅flexdoc评论,了解它与ready
的区别。)
答案 1 :(得分:0)
您是否尝试过FlexEvent.SHOW
活动?
编辑:
如果你能找到一个在加载数据后被触发的事件(Event.COMPLETE或FlexEvent.CREATION_COMPLETE或其他东西),你可以放弃做一个callLater()并假设图像将是由下一帧渲染。一个黑客,但它可能值得一试。
答案 2 :(得分:0)
MX Image有一个完整的事件,我认为你正在寻找。仅供参考,每个班级在其语言参考页面中都有一个名为“活动”的部分。通过这些并尝试看起来可能的那些通常是有益的。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/Image.html#eventSummary