こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

AS3.0でこまっています。教えてください。

AS3.0初心者です。カメラで5秒の15fpsの動画を撮影し、それを75枚の連番の静止画のファイルにして保存したいと考えています。
AS3.0、 動画撮影、 連番ファイルなどのキーワードで調べて見たのですが、分かりませんでした。
AS3.0でカメラを使って静止画を保存することはわかるのですが、そもそも動画は撮影して保存でき枚のでしょうか?
動画を連番ファイルの静止画にすることは可能なのでしょうか?
flashを使ってAS3.0を書いています。
教えていただければありがたいです。よろしくお願いします。

投稿日時 - 2013-09-01 07:32:45

QNo.8244676

すぐに回答ほしいです

質問者が選んだベストアンサー

> 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にして統合しても、もちろん構わないです。

投稿日時 - 2013-09-12 22:27:40

お礼

今回もありがとうございました。教えていただいたとおりやってみたらうまくいきました。

投稿日時 - 2013-09-16 12:32:22

ANo.2

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

可能ですよ!

まず、カメラからの動画を 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/


いろいろと端折ってしまってすみませんが、何か不明な点があれば気軽に聞いてください。

投稿日時 - 2013-09-06 21:33:16

補足

BitmapData を JPEG形式に直して、保存すれば完了です。の部分で苦戦しています。

実はやりたいことの続きがありまして、BitmapData を PNG形式に直して、透明度を15分の1(フレームレート分の1)にして、最後に75枚のにPNG形式を重ね合わせて、1枚のJPEG形式にして保存したいと考えています。
BitmapDataの操作で、透明度を下げて次々と加算していき、最後にエンコーダーでJPEG形式に変換して、保存すればいいのでしょうか?教えていただければありがたいです。よろしくお願いします。

投稿日時 - 2013-09-08 13:41:16

お礼

ありがとうございます。とても参考になりました。BitmapData に転写するところまでできました。

投稿日時 - 2013-09-08 15:00:53

あなたにオススメの質問