2011-12-08 12 views
2

イメージのソースプロパティが変更され、イメージ表示オブジェクトが新しいデータをロードした後に発生するイベントを探しています。私は「完全な」イベントが行く方法だと思ったが、ソースが変更されるとすぐに起動するようだが、イメージが読み込まれる前に起動するようだ。以下のスニペットでは、imgMapがdoExport()からのバイトで更新されたら、imgMap_completeHandlerを起動させようとしています。Actionscript - イメージソースが変更され、完了したときに通知するイベントロード

public function doExport(bytes:ByteArray):void 
{ 
    FlexGlobals.topLevelApplication.addElement(this); 
    imgMap.source = bytes; 
} 

protected function imgMap_completeHandler(event:Event):void 
{ 
    var pngEncoder:PNGEncoder = new PNGEncoder(); 
    var snapShot:ImageSnapshot = ImageSnapshot.captureImage(this,0,pngEncoder); 
    export = snapShot.data; 
    dispatchEvent(new Event("exportComplete")); 
} 

<s:Image id="imgMap" complete="imgMap_completeHandler(event)" width="100%" height="100%"/> 
+0

あなたはイベント/機能exportCompleteを持っていますか – mgraph

+0

おそらくINITが動作します。私はImageコンポーネントに精通していませんが、他の多くのFlashコンポーネントでは、INITはデータが変更されて使用可能になった後に起動するイベントです。 –

+0

困惑。ドキュメントから、これはうまくいくはずです。もう一つ試みるのは 'ready'イベントですが、* BitmapImage.as *(Image.as *の多くは単なるラッパーです)を見ると、' ready'が '完了する。 – merv

答えて

0

イメージクラスとソースメソッドを拡張しようとしましたか?

あなただけ

public function source(....) 
{ 
    [super source...] 
    dispatchEvent(new Event('Loaded')); 
} 

はそれが役に立てば幸い直後の標準的なイベントを作成する必要があります!

関連する問題