Flash 上で Bitmap を JPEG 画像に変換

ActionScript 3.0 にて、Web カメラからの入力を BitmapData としてキャプチャし、その画像を ByteArray に変換して、JPEG 画像としてローカルに保存!という作業をやりたくて、それとなく記憶していたサイトを再訪してみたら、4/15にソース公開されていました。

Live JPEG Encoder 0.3 [ by Thibault Imbert ] < ByteArray.org

サイトで紹介されているのは、左の動画を任意の圧縮率で静止画としてキャプチャ、プレビューが右側に表示されるので、「サーバに保存」か「ローカルに保存」かを選んで実行するサンプル。

Flash のみでいけるのかと思いきや、ローカルダウンロードするにも PHP が絡んでいるようで、そのソースが未添付なので、結局理解できず。というか、ByteArray クラスが何者なのかもイメージできてないです。要勉強。

こんな感じで、参考資料を見つけたものの、理解できずに悶々とする毎日。twitter 上でアドバイスを下さる方々がいなければ、もっと苦労していたことでしょう。

上記サイトは、フランスの Flash クリエイターさんの有益なブログで、O’Reilly から「Flex 2 and AMFPHP」というソソる書籍も発売中。ただし現状はフランス語版のみ。もうすぐ英語版も出る予定だそうです。

AMFPHP を使って同じ機能を実現した最新バージョンがありました。その他皆様にいただいた下記有益コメントも必見です。

5/29追記:
Quasimondo さんのブログで「BitmapExporter」クラスが公開されています。この方のテリトリーの広さはリスペクトです。クレジット表記なしの商用利用は有料っぽいのでご注意ください。

Comments:6

通りすがりのTK 07-05-15 (火) 9:57

おはようございます!
たまたまの通りすがりです。

以前、僕もJPG変換にチャレンジしましたのでお役に立てばと。コメントさせていただきました。
ASは古いのですが、参考までにどうぞ。
http://boysbe.jp/snapshot/

PHPのGDライブラリーを使いました。
参考:http://noongoro.main.jp/note/note0052.html

tera 07-05-16 (水) 1:24

>TKさん
ありがたやー。ありがたやー。
教えてもらったリンクを参考に、ちょっと頑張ってみます。
いやー、ブログに書いて良かったです。
感謝感激、また通りすがって下さいませ。

あれ、寺子屋でお会いしているTKさんとは別のお方ですか?
間違ってたらすいません。

trickstar_os 07-05-16 (水) 2:23

as3corelibにズバリな画像エンコーダがあるよ!
com.adobe.imagesの
JPGEncoderと
PNGEncoderの2つ。
ソースはSVNで。
http://code.google.com/p/as3corelib/source

あと、このFxUGのこのスレッドが参考になるよ。
http://www.fxug.net/modules/xhnewbb/viewtopic.php?viewmode=flat&topic_id=24&forum=1

ソースはこの辺から。
http://www.fxug.net/modules/xhnewbb/viewtopic.php?viewmode=thread&topic_id=24&forum=1&post_id=178#178

tera 07-05-16 (水) 8:50

>trickstar_os様
ぐおおっ!ありがとうございますー。
これだけ有益なソースがあれば、きっとできるはず。
それでも作れないのが僕クオリティだったりするのですが、こんなにも親切していただいたのだから、頑張れますです。
ありがとうございました。

nod 07-05-21 (月) 4:28

s2flex2のサンプル(flex2_example)にCameraSnapShotというのがあります。Cameraの画像をbitmapにしてpngエンコード->圧縮->サーバ送信(s2flfex2)->保存するといったものです。
http://s2flex2.sandbox.seasar.org/download/2007-03-18/flex2-example-1.0.1.zip

この例ですと、flex2側でPNGデータをサーバに送信して画像を保存しています。
サーバ側は送られてきたものを保存しているだけです。

ApolloだとFile I/Oを利用してローカルに保存することができるので、サーバなしで完結することもできます。

実際に上記のCameraSnapshotを改造してApollo化したのがあります。
ご所望でしたら公開しますので、ちらっと
参考にしてteraさんが作る、かっくいぃーアプリケーションを公開してください^^;

tera 07-05-21 (月) 23:34

>nod様
ご丁寧にありがとうございます。皆さん親切にして下さって感謝感謝です!
ちょっとしたブログパーツを作っておりまして、現状はAS2で作りきってからAS3に移植することにいたしました。
コメント一番上のTK様のサンプルを参考にさせてとりあえず動いております。
完成後、nod様の方法を勉強させていただきます。
ご親切にありがとうございました。

追伸:
大阪のFxUGでnod様を拝見し、その後の食事会でご挨拶をと思っていたのですが、ご挨拶できませんでした。すいません。hirossyさんにnod様のflickr名刺を見せていただきました。真似しようと思いましたw。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.trick7.com/blog/2007/05/14-235503.php/trackback
Listed below are links to weblogs that reference
Flash 上で Bitmap を JPEG 画像に変換 from trick7

Moleskine Plain Notebook Large

アイデア帳として。

AS3習得本
AS3の全容を学習できる本。この中でどれか1冊自分に合ったものを。
Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート (DVD-ROM付) Adobe Flash CS3 詳細! ActionScript3.0入門ノート2 (CD-ROM付) ActionScript3.0 プロフェッショナルガイド 初めてのActionScript 3.0 Flashユーザーのためのステップアップガイド 詳説 ActionScript 3.0 Actionscript 3.0 Cookbook
AS3発展本
ASでアニメーションさせる面白さを知るための本。最後のはPHP連携デビューにオススメの洋書。
Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編] ActionScript 3.0 アニメーション AdvancED ActionScript 3.0 Animation (Advanced) Flash and PHP Bible (Bible (Wiley))
AS2
"Flash"ではなく"ActionScript2.0"学習のための良著。他にもいろいろ読んだけど、この4冊を読んだ後、自分が成長できた感じがしました。
FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付] Essential Actionscript 2.0 Flash 8 Essentials Foundation Actionscript Animation: Making Things Move (Foundation)

Return to page top