我正在尝试调整我从flicker上的公共照片源加载的照片的大小。我可以通过添加孩子来获取照片并查看它们,但是如果我尝试调整它们的大小,它们将不会加载,也不会收到任何错误。
代码如下:
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;
}发布于 2012-09-18 13:14:22
您需要在图像加载完成后调整图像的大小。此时,您正在尝试调整尚未加载的图像的大小(宽度/高度为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);
}https://stackoverflow.com/questions/12470628
复制相似问题