FLEX - 加载类实例类型的图像

时间:2010-10-14 09:16:15

标签: flex

我有一个barCode类,用于生成barCode的图像。我创建了这个类的一个实例,它按预期工作,例如:

var myBarCodeInstance:barCode = new barCode();

var myBarCodeImg:Image = new Image();
myBarCodeImg.source = myBarCodeInstance;

使用此代码,图像显示并正常工作。但是,我的问题是如何在此映像上实现一个加载器,它将在映像完全加载并准备好处理时触发事件? (在尝试访问其内容之前,我遇到了图像未完全加载的null问题。)

如下所示:

var loader:Loader;

loader = new Loader();

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,function(e:Ev ent):void{
myBarCodeImg.source = e.currentTarget.content;
// further processing here
});

loader.load(new URLRequest(encodeURI(“image.jpg“)));

但我不知道插入什么代替“image.jpg”部分,因为我的图像是一个类的实例,而不是一个实际的jpg文件。

1 个答案:

答案 0 :(得分:0)

Image发送complete事件 - 尝试收听该事件:

var myBarCodeInstance:BarCode = new BarCode();
var myBarCodeImg:Image = new Image(); 
myBarCodeImg.addEventListener(Event.COMPLETE, completeHandler);
myBarCodeImg.source = myBarCodeInstance;

function completeHandler(e:Event):void
{
    var img:Image = e.currentTarget as Image;
    var barcode:BarCode = img.content as BarCode;
    /* process it */
}