- ベストアンサー
AS3.0でこまっています。教えてください。
AS3.0初心者です。カメラで5秒の15fpsの動画を撮影し、それを75枚の連番の静止画のファイルにして保存したいと考えています。 AS3.0、 動画撮影、 連番ファイルなどのキーワードで調べて見たのですが、分かりませんでした。 AS3.0でカメラを使って静止画を保存することはわかるのですが、そもそも動画は撮影して保存でき枚のでしょうか? 動画を連番ファイルの静止画にすることは可能なのでしょうか? flashを使ってAS3.0を書いています。 教えていただければありがたいです。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> BitmapDataの操作で、透明度を下げて次々と加算していき… その通りです! bitmapData.draw() は、第3引数に colorTransform を取ります。 colorTransform を使えば、RGBA(赤・緑・青・透)を変更しつつ、bitmapData に転写することができます。 例えば、bitmapData に video のキャプチャを、透明度15分の1で転写するなら… - - - - - bitmapData.draw(video, null, new ColorTransform(1, 1, 1, 1 / 15)); - - - - - とすればオッケーです。 (ColorTransform の引数についての詳細については、興味がありましたら調べてみてください。) これを75回繰り返せば、75枚の画像を1枚の画像に重ね合わせられます。 ここでは video を転写するときに透明度を15分の1にしましたが、 全ての video のキャプチャを普通に bitmapData に転写してから、最後に透明度を15分の1にして統合しても、もちろん構わないです。
その他の回答 (1)
- kura07
- ベストアンサー率50% (30/59)
可能ですよ! まず、カメラからの動画を Flash上で表示するようにします。 http://hakuhin.jp/as3/video.html#VIDEO_03 次に、Flash上に表示されている動画の静止画を、BitmapData に転写します。BitmapData#draw() http://hakuhin.jp/as3/bitmap.html#BITMAP_04 15fps で撮影したいのであれば、この操作を Event.ENTER_FRAME や Timer で実行するといいと思います。 最後に、BitmapData を JPEG形式に直して、保存すれば完了です。形式の変換は、ライブラリを使えば一発です。 参考:http://blog.hi-farm.net/2008/06/09/as3-%E7%94%BB%E5%83%8F%E5%A4%89%E6%8F%9B%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%80%81jpgencoder-pngencoder/ いろいろと端折ってしまってすみませんが、何か不明な点があれば気軽に聞いてください。
お礼
ありがとうございます。とても参考になりました。BitmapData に転写するところまでできました。
補足
BitmapData を JPEG形式に直して、保存すれば完了です。の部分で苦戦しています。 実はやりたいことの続きがありまして、BitmapData を PNG形式に直して、透明度を15分の1(フレームレート分の1)にして、最後に75枚のにPNG形式を重ね合わせて、1枚のJPEG形式にして保存したいと考えています。 BitmapDataの操作で、透明度を下げて次々と加算していき、最後にエンコーダーでJPEG形式に変換して、保存すればいいのでしょうか?教えていただければありがたいです。よろしくお願いします。
お礼
今回もありがとうございました。教えていただいたとおりやってみたらうまくいきました。