我正在尝试将图像从Facebook相册加载到我的flex应用程序,这是我点击FB图像时调用的代码:
private var loaderFB:Loader;
private var immCaricata:Bitmap = new Bitmap();
//Function where i pass the url of the FB image clicked
private function getFBImage(src:String):void{
var request:URLRequest;
loaderFB=new Loader();
request=new URLRequest(src);
loaderFB.contentLoaderInfo.addEventListener(Event.COMPLETE,onCompleteFBget);
loaderFB.load(request);
}
private function onCompleteFBget(event:Event):void {
var bitmap_dataFB:BitmapData = new BitmapData(640, 480);
bitmap_dataFB.draw(loaderFB.content);
immCaricata = new Bitmap(bitmap_dataFB);
displayOut.addChild(immCaricata);
}
它不起作用!
如果我通过
displayOut.addChild(loaderFB); //instead displayOut.addChild(immCaricata);
它就像一个魅力!
我的问题是我需要将加载程序内容传递给该位图(immCaricata),因为我在不同的其他函数中使用它。
我尝试了不同的解决方案,但可能我在某处犯了一些错误。
你能帮帮我吗?希望很清楚。 非常感谢你修改
问题不是语法而是安全策略文件,我不得不添加它:
init 功能中的
Security.loadPolicyFile("http://graph.facebook.com/crossdomain.xml");
Security.loadPolicyFile("http://profile.ak.fbcdn.net/crossdomain.xml");
然后我加载图片的地方
loaderFB=new Loader();
request=new URLRequest(src);
loaderFB.contentLoaderInfo.addEventListener(Event.COMPLETE,onCompleteFBget);
var lc:LoaderContext = new LoaderContext();
lc.checkPolicyFile = true;
loaderFB.load(request,lc);
controlloImm = true;
希望很明确,希望它可以帮助别人。 :)
答案 0 :(得分:1)
private var loaderFB:Loader;
private var immCaricata:Bitmap;
//Function where i pass the url of the FB image clicked
private function getFBImage(src:String):void{
var request:URLRequest;
loaderFB=new Loader();
request=new URLRequest(src);
loaderFB.contentLoaderInfo.addEventListener(Event.COMPLETE,onCompleteFBget);
loaderFB.load(request);
}
private function onCompleteFBget(event:Event):void {
immCaricata = event.target.content as Bitmap;
displayOut.addChild(immCaricata);
}
如果您不想更改加载的图像大小,请尝试此操作,希望这会有所帮助