2009-08-26 10 views
0

私はユーザーが描画するキャンバスからイメージを作成するflex 3アプリケーションを持っています。私は、ユーザーが画像を印刷したり、保存することができるようにしたい画像フレックス3アプリケーションで作成された画像を表示するブラウザウィンドウを開くことはできますか?

var imageSnap:ImageSnapshot=ImageSnapshot.captureImage(myCanvas); 
      var imageByteArray:ByteArray=imageSnap.data as ByteArray; 

を作成するためにImageSnapshotクラスを使用します。複数のページに

var printJob:FlexPrintJob=new FlexPrintJob(); 
       printJob.start(); 
       printJob.addObject(myCanvas, FlexPrintJobScaleType.SHOW_ALL); 

を印刷の上に良好な制御を提供していない私は、ユーザーが構築を使用して、それを印刷することができるように私は、ブラウザウィンドウに画像を表示したい画像が、フレックスを印刷するには、次のコードを使用することができますブラウザの機能で、またはイメージを右クリックして保存します。これを行うためにサーバー側のコードを要求せずにこれを行うことはできますか? 私は、フラッシュプレーヤー10とフレックス4を使ってファイルをローカルに保存できることを知っていますが、今のところ私はプレイヤー9とフレックス3がついています。

答えて

0

を設定アプリケーションがFlash Player 10で実行されている間は、Flex 3ではFileReference(save()およびload()メソッド)の新機能を引き続き使用できます。ただし、Flash Player 9で確実に機能している場合は、最初にサーバーにイメージをプッシュします。あなたは、サーバーへのデータのアップをプッシュする良い方法を探しているなら、この質問に私の解決策を参照してください。

Flex: Render an unrealized UIComponent to BitmapData?

+0

別のプロジェクト用に.csv形式でレポートを保存するのと同様の作業を行いました。私はこの場合のサーバーへの往復を避けようとしていた –

+0

保存するためにイメージをクライアントに返信するサンプルPHPファイルがありますか? –

0

サンドボックスに違反するので、たとえば、これがうまくいくとすれば、ユーザーのマシンに任意のコード(画像に類似)を同意や知識なしに置くことができるということです。

+0

彼らは新しいで画像を見ることができる場合、それは彼らの同意なしではありませんブラウザのウィンドウで何をするかを選択する –

+0

真実ですが、そのメカニズムが存在すれば悪質な開発者がこれを行う可能性があります。 –

0

私はこれがうまくいくかどうかわからないんだけど、これを試してみてください。

は、画像(ファイル://path/to/image/img.ext)へのリンクを表示してwindow.htmlLoader.navigateInSystemBrowser = true;

関連する問題