我有一个从网址加载的图片,并作为子项添加到画布中。然后我拖放另一个图像,它也使用了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);
答案 0 :(得分:1)
仅仅因为您将图像添加到画布并不意味着它已经绘制了。要么监听图像上的updateComplete事件,要么对一个随后绘制位图的函数执行callLater。