MFCでビデオキャプチャをするプログラムを作れるのでしょうか?そのための関数やプログラムを教えてください。

このQ&Aに関連する最新のQ&A

とは MFC」に関するQ&A: MFC71.DLLとは

A 回答 (2件)

もうちょっと親切に書いておきましょうか・・・


あの説明ではあんまりなので。

アプリケーション自体はMFCで問題ないと思います。
問題は、ビデオポートへのアクセスと、それを高速に
画面に描画する仕組みが必要です。
そこでDirectXに目を向けて、描画部分とビデオポートの
アクセスにのみDirectXを使用します。
(DirectXのみではアプリケーションは作成出来ません)

丁度手元のDirectX7のドキュメントにはDirectDrawの
説明のところにDirectDrawVideoPortというオブジェクトが
を見つけました。
解説を読むと、色々楽出来て潰しも利くようなので紹介しました。

DirectX5には、このようなオブジェクトはなかったと思います。
DirectX6は殆ど知らないので解りませんが、多分6からある
オブジェクトじゃないかと思います。

このVideoPortオブジェクトは、従来のDirectDrawの
サーフェス(DirectXが管理する描画領域)を生成しておき、
DirectDrawVideoPort::SetTargetSurfaceメンバ関数で登録すれば
そのサーフェスに対して描画してくれるようです。
一度サーフェスにしてしまえば、後はキャプチャも様々な
処理も思いのままです。
(ただし動画として保存するには、何らかの動画形式に
変換する必要があるでしょう)

DirectDrawやDirectDrawSurfaceオブジェクトの生成・初期化は
色々面倒くさいのですが、やってることは簡単です。
市販の書籍やマニュアルのコピーでも大丈夫でしょう。
    • good
    • 0
この回答へのお礼

二回もの解答まことにありがとうございます。まだ、解答を拝見させていただいてから、試してはいませんが。これから解答を参考に行ってみたいと思います。本当に重ね重ねありがとうございました。

お礼日時:2000/12/17 18:28

MFCだけでは難しいと思います。


DirectDrawのサブセットであるDirectDrawVideoPortオブジェクトを
使うと、ドライバとのインターフェイスを直接いじったりしないで
柔軟性のあるアプリが作れると思います。
詳細はDirectDrawのドキュメントを参照してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報