Flex保存画布和删除图像

时间:2011-06-10 20:08:22

标签: flex canvas

我有一个从网址加载的图片,并作为子项添加到画布中。然后我拖放另一个图像,它也使用了senocular变换,因此可以在画布上转换图像。我编码的方式是变换句柄只有在画布上掉落后才显示出来。图像正确显示。但我试图保存结果图像(即主图像和它上面的删除图像),我最终只得到了之前加载的主图像。丢弃的图像不会显示。

下面是在dragDrop事件上触发并准备最终图像的handleDrop()代码。我做错了什么?

var dragInitiator:IUIComponent = dragEvent.dragInitiator;
                var dropTarget:IUIComponent = dragEvent.currentTarget as IUIComponent;

                var tool:TransformTool = new TransformTool(new ControlSetStandard());
                var items:String = dragEvent.dragSource.dataForFormat("items") as String;

                var img:Image = new Image();

                img.x=50;
                img.y=50;
                img.width=55;
                img.height=55;

                img.source=items.toString();
                var bitmap:Bitmap= Bitmap(img.content);


                var tool:TransformTool = new TransformTool(new ControlSetStandard());   
                var component:UIComponent = new UIComponent( );
                tool.target = img;

                tool.x=myCanvas.x;
                tool.y=myCanvas.y;



                addElement(component);

                myCanvas.addChild(img);
                img.z=myCanvas.z+1;
                component.addChild(tool);
                original=new BitmapData(bmd.width,bmd.height,true,0x000000FF);
                original.draw(myCanvas);

1 个答案:

答案 0 :(得分:1)

仅仅因为您将图像添加到画布并不意味着它已经绘制了。要么监听图像上的updateComplete事件,要么对一个随后绘制位图的函数执行callLater。