2011-10-22 11 views
0

私は、画像へのパスの文字列値を保持するvarを持っています。 どうすれば、その画像からByteArrayを同期的に取得できますか?Flexで同期してByteArrayを外部アセット画像から取得

ありがとうございます。

+0

あなたは同期的にそれを行うために必要がある理由について詳しく説明できますか? ECMAScript言語は設計上、非同期であり、通常は*良いことです*。 – merv

+0

私はテキストと画像を含む文書を生成しています。テキストは「リアルタイム」に配置され、異なる時間枠内の動画像は複雑になります。 – Francisc

答えて

2

同期できません。しかし、ここでそれを非同期で行う方法があります。

<?xml version="1.0" encoding="utf-8"?> 

<fx:Script> 
    <![CDATA[ 
     public function init():void { 
      var loader:Loader = new Loader(); 
      loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
      loader.load(new URLRequest(encodeURI("http://www.google.com/logos/2011/mary_blair-2011-hp.jpg"))); 
     } 

     private function onComplete(e:Event) 
     { 
      //of course if all you were doing is displaying an image its better to do: 
      //image.source = e.currentTarget.content; 

      var bytes:ByteArray = LoaderInfo(e.currentTarget).bytes; 

      //binary output 
      trace(bytes); 

      var imageLoader:Loader = new Loader(); 
      imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageComplete); 
      imageLoader.loadBytes(bytes, null); 
     } 

     private function onImageComplete(e:Event):void 
     { 
      image.source = LoaderInfo(e.currentTarget).content; 
     } 
    ]]> 
</fx:Script> 

<s:Image id="image" /> 

関連する問題