2012-03-26 7 views
0

Ich versuche Bilder von Facebook Alben meiner Flex App zu laden, ist dies der Code aufgerufen, wenn ich auf einem FB Bild klicken:Von Loader AS3 Flex in Bitmap

 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); 
     } 

es nicht funktioniert!

Wenn ich geben

displayOut.addChild(loaderFB); //instead displayOut.addChild(immCaricata); 

Es wirkt wie ein Zauber!

Mein Problem ist, dass ich Loader-Inhalt an diese Bitmap (immCaricata) übergeben muss, weil ich es in verschiedenen anderen Funktionen verwende.

Ich versuchte andere Lösung, aber wahrscheinlich mache ich irgendwo Fehler.

Könnten Sie mir bitte helfen? Die Hoffnung ist klar. Vielen Dank

EDIT:

Das Problem ist nicht die Syntax aber die Sicherheitsrichtliniendatei, war ich es hinzufügen musste:

in init Funktion:

Security.loadPolicyFile("http://graph.facebook.com/crossdomain.xml"); 
Security.loadPolicyFile("http://profile.ak.fbcdn.net/crossdomain.xml"); 

und dann, wo ich das Bild laden

  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; 

Die Hoffnung ist klar und hoffe, es hilft jemand anderem. :)

Antwort

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); 
} 

die Sie interessieren, wenn Sie wollen die geladene Bildgröße ändern nicht, hoffen, dass dieser

+0

Vielen Dank für Ihre Antwort helfen, ich diese Lösung bereits versucht, und es funktioniert nicht .. i ‚kann es wirklich Ich verstehe warum. Vielleicht ist das Problem in einem anderen Teil des Codes ..:/ – Fab

+0

gibt es irgendwelche Fehler kommen? etwas wie Sandkasten-Sicherheitsverletzung? – Triode

Verwandte Themen