2011-01-26 13 views
2

私たちは現在、複雑なHTMLページをレンダリングするためにmx:HTMLコンポーネントを使用しています。何らかの理由で、HTMLがレンダリングされるときに、表示されたページのイメージをキャプチャする必要があります。初期設定でHTMLのHTMLコンポーネントとHTML_RENDERイベント

:だから私はこれを行うには、次のコードを使用し

frameHtml.addEventListener(Event.HTML_RENDER, cacheFrameHTML); 

とcacheFrameHTML機能:

private function cacheFrameHTML(event:*):void { 
... 
cacheImage.source = new Bitmap(ImageSnapshot.captureBitmapData(frameHtml)); 
... 
} 

いくつかの未知の理由で、結果画像はいつかcompletly空白になっています。 HTML_RENDERイベントとHTMLコンポーネントの効果的なレンダリングとの間に少しの遅延があるようです。私は動作するように見えるタイマーで画像キャプチャを遅らせようとしましたが、それはきれいではありません。

私の質問は次のとおりです: - HTMLフレームが効果的に表示されたときにキャプチャをトリガするトリックを知っている人はいますか? ? が - 結果がBitmapDataが空であるか白画素のみを持っている場合は、少なくとも、とにかくテストにあります:

Bどうもありがとう

アントワーヌ

答えて

1

あなたはcallLaterメソッドを使用しようとしたことがありますか?

callLater()メソッドはい

private function cacheFrameHTML(event:*):void { 
... 
callLater(saveImage); 
... 
} 

private function saveImage():void 
{ 
cacheImage.source = new Bitmap(ImageSnapshot.captureBitmapData(frameHtml)); 
} 
+0

むしろ現在の更新に比べて、次の画面リフレッシュのために実行される操作をキューに入れ、私はまだブランク画像を得ます。 –

関連する問題