Flashの内容を画像に変換する方法
2007年04月05日 プログラミングTIPS
円グラフコミュニティサイト みんなのグラフ(verβ)作者の松本圭司さんからトラックバックがありました。
「3D円グラフを作る上で苦労したこと、捨てたものなど」と同じような悩みを抱えていたそうで、とても興味深い内容が書かれています。
「円」という最も芸術的に美しい形の一つを、きれいに表現できないことは、技術者にとっても悩みの種です。
松本さんは、Flashを用いることにより、円グラフの美しさを追求しています。
欠点として、Flashでしか表示できないので、画像ファイルに比べると汎用性が低くなる点があります。
「だったら、Flashの内容を画像に変換すれば良いのでは?」
と思ったので、Flashの内容を画像に変換する方法を調べてみました。
「3D円グラフを作る上で苦労したこと、捨てたものなど」と同じような悩みを抱えていたそうで、とても興味深い内容が書かれています。
「円」という最も芸術的に美しい形の一つを、きれいに表現できないことは、技術者にとっても悩みの種です。
松本さんは、Flashを用いることにより、円グラフの美しさを追求しています。
欠点として、Flashでしか表示できないので、画像ファイルに比べると汎用性が低くなる点があります。
「だったら、Flashの内容を画像に変換すれば良いのでは?」
と思ったので、Flashの内容を画像に変換する方法を調べてみました。
1.BitmapDataをサーバーに送信し、1ピクセルずつ処理
ActionScriptのBitmapDataクラスを使って、ビットマップデータを生成すれば画像の元データが作れます。getPixelメソッドを用いれば、各ピクセルの色情報を取得することも可能です。
このデータをサーバーに送信して、サーバー側でBMPデータを生成した後、PNG画像などに圧縮して保存すれば完成です。
PHPであれば、imagesetpixel関数を使って、1ピクセルずつ色情報をセットしていけばOKです。
ですが、全ピクセルデータの送受信と1ピクセルずつのデータ処理は、サーバーへの負担となってしまいます…。
参考サイト
- X-LABO: Flashステージ上の表示を画像データに
- noughts::blog:: ≫ Blog Archive ≫ 画像ダウンロード機能
- imagesetpixel
- dev.convexstyle.net: YouTube - snapshot (1)
- dev.convexstyle.net: YouTube - snapshot (2)
- noughts::blog:: ≫ Blog Archive ≫ 画像ダウンロード機能
2.Flash側でBitmapDataをPNGやJPEGにエンコード
他に何か方法は無いのか調べてみたところ、Flash側でBMPデータをエンコードする方法が見つかりました。BitmapDataをPNGやJPEGにエンコードする方法が載っていました。
参考サイト
- フラッシュの画像を保存 (ActionScripter.info)
- kaourantin.net: PNG Encoder in AS3
- BitMapDataをJPEGにエンコード:nod::ぶろぐ::RIA::Flash/Flex/Ajax
- Make screenshots, filter and output as jpg from Flash 8
- kaourantin.net: PNG Encoder in AS3
3.RemoteObjectASからリモートオブジェクトを叩く
はてなでは、「RemoteObject」を使ったサンプルが載っていました。参考サイト
- 機能変更、お知らせなど - はてな技術発表会日記
- サーバーとの通信 第4回 RemoteObject を利用する(1) - データをサーバーから受け取る
- Flex2でJavaのRemoteObjectにアクセスしてみる(3):nod::ぶろぐ::RIA::Flash/Flex/Ajax
- サーバーとの通信 第4回 RemoteObject を利用する(1) - データをサーバーから受け取る
4.ColdFusionコンポーネントを使う
ColdFusionコンポーネントを使う方法もあるみたいです。参考サイト
5.最後に
もっと簡単に実現できるのかと思って調べてみましたが、少し面倒な手順を踏まないと「Flashの内容を画像として保存」することはできないみたいです。グラフ作成に悩んでいる方は他にもいたようで、ITproではグラフ生成ライブラリの紹介もされていました。
今回は4つの方法しか見つけられませんでしたが、他にもっと何か良い方法を知っている方がいましたら、情報提供していただけると助かります。
関連リンク
- 超かんたん3D円グラフ作成!
- 超かんたん3D円グラフ作成!作りました
- タグクラウドよりも、べつやくメソッド!
- 3D円グラフを作る上で苦労したこと、捨てたものなど
- ActionScript3.0の速さを体感してみよう!
- FLASHだって検索結果1位を目指せます!-SEO実験結果-
- 「Webデザインで特に注意すべき10のヒント」の間違い
- もしかしてAdobeの時代が来るのか?
- Flashは検索エンジンに引っかからないという思い込み
- Flex2,ActionScript3.0が優れている9の理由とAjaxとの差
- はじめてのActionScript3.0プログラミング
- 窓の杜 - 【NEWS】ファジーな円グラフで感想や気分を表現する「べつやくメソッドクリエーター」
- 超かんたん3D円グラフ作成!作りました