我有一个显示多个元素的容器,我想创建一个代表其中一些元素的位图。
由于我不想从其所有者中删除元素,因此我使用第二个容器,在其中插入为每个元素创建的位图。然后我从第二个容器中生成一个位图。算法如下所示:
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创建组件的内容而不显示它?