调整我从公共flickr源加载的图像的大小

时间:2012-09-18 04:58:47

标签: actionscript-3 flicker

我正在尝试调整我从闪烁的公共照片Feed中加载的照片。我可以通过添加子项来获取照片并查看它们,但是如果我尝试调整它们的大小,它们将无法加载,我也没有收到任何错误。

以下是代码:

    public function onClick(e:MouseEvent):void{
        urlloader=new URLLoader();
        var req=new URLRequest("http://api.flickr.com/services/feeds/photos_public.gne" );
        var urlvars:URLVariables=new URLVariables();
        urlvars.format ="rss_200";
        urlvars.tags="cat";
        req.data=urlvars;
        urlloader.addEventListener(Event.COMPLETE, onXMLLoaded);
        urlloader.load(req);
    }
    public function onXMLLoaded(e:Event):void{
        trace(urlloader.data);
        var xml:XML = new XML (urlloader.data);
        urls=[];
        var mediaNS:Namespace=new Namespace("http://search.yahoo.com/mrss/" );
        for(var i:int =0; i<xml.channel.item.length();i++){
            urls.push(xml.channel.item[i].mediaNS::content.@url);
        }
        //trace(xml.channel.item[i].guid.height.mediaNS::content.@url);
        loadPhotos();
        trace(urls.length);
        trace(urls[1]);

    }
    public function loadPhotos():void{
        var ldr:Loader = new Loader();
        var req:URLRequest=new URLRequest(urls[1]);
        ldr.load(req);
        trace("image loaded");
        addChild(ldr);
        ldr.width=200;
        ldr.height=200;


    }

1 个答案:

答案 0 :(得分:1)

在完成加载后,您需要调整图像的大小。目前,您正在尝试调整尚未加载的图片(并且宽度/高度为0,0)。

Event.COMPLETE可以为您提供帮助,示例:

var request:URLRequest = new URLRequest("http://www.gravatar.com/avatar/e6420234b202a900e8d57d4e714aa184?s=128&d=identicon&r=PG");
var loader:Loader = new Loader();

loader.load(request);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, resizeImage);

function resizeImage(e:Event):void
{
    loader.width = 500;
    loader.height = 400;

    addChild(loader);
}