如何从未显示的Flex组件创建位图

时间:2012-10-31 13:36:13

标签: flex actionscript

我有一个显示多个元素的容器,我想创建一个代表其中一些元素的位图。

由于我不想从其所有者中删除元素,因此我使用第二个容器,在其中插入为每个元素创建的位图。然后我从第二个容器中生成一个位图。算法如下所示:

const selectionGroup:Group = new Group();

for each ( var element:UIComponent in selectedElements ) {

    const image:Image = new Image();
    image.x = element.x;
    image.y = element.y;
    image.source = createBitmapFrom( element );
    selectionGroup.addElement( image );
}

return createBitmapFrom( selectionGroup );

但是,除非我在某处显示组,否则最终的位图永远不会包含任何内容。最后我也可以在调度creationComplete事件后立即将其删除但我不喜欢这个解决方案,因为它使界面闪烁。

我尝试将元素插入BoarderContainer而不是Group,并将creationPolicy设置为“all”,并在最终的createBitmapFrom()之前调用createDeferedContent(),但图像仍然是透明的。

因此,下一个解决方案是从各个子位图组成最终位图,除非有人告诉我如何捕获从未显示的组件。

如何告诉Flex创建组件的内容而不显示它?

0 个答案:

没有答案