FrameHandlerSink[非推奨]
イメージストリームからのフレームを取り込む(コピーする)ためのSinkTypeです。以前のFrameGrabberSinkの代わりとなるもので、MemBufferCollectionクラスライブラリリファレンス>クラス>MemBufferCollectionを保持し、画像データをバッファにコピーする役割を持つIFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterを指定できるようになります。IFrameFilterの実装はデータのコピー中にユーザー定義の変換処理を行うことを可能にし、さらに不要なフレームを除去することもできるようになります。
いずれのフレームフィルタも登録されない場合、フレームはMemBufferCollectionにそのままコピーされます。
フレームはMemBufferCollection内のバッファに順番にコピーされていきます。最後のバッファにフレームがコピーされると、次のフレームはまた最初のバッファにコピーされ、その後同じように続きます。
FrameHandlerSinkはsnap modeもしくはgrab modeのどちらかで動作することが可能です。
そのモードはsetSnapModeクラスライブラリリファレンス>クラス>FrameHandlerSink::>FrameHandlerSink::setSnapMode Methodをコールすることで切り替えが可能です。grab modeではGrabber::startLiveクラスライブラリリファレンス>クラス>Grabber>Grabber::startLive MethodがコールされるとすぐにフレームがMemBufferCollectionに継続的にコピーされていきます。Grabber::stopLiveクラスライブラリリファレンス>クラス>Grabber>Grabber::stopLive Methodへのコールがこのコピー処理を終了させます。
一方snap modeでは FrameHandlerSink::snapImagesクラスライブラリリファレンス>クラス>FrameHandlerSink::>FrameHandlerSink::snapImages MethodもしくはFrameHandlerSink::snapImagesAsyncクラスライブラリリファレンス>クラス>FrameHandlerSink::>FrameHandlerSink::snapImagesAsync MethodへのコールによってMemBufferCollectionに指定されたフレーム数がコピーされることになります。
FrameHandlerSink::snapImagesをコールする前にGrabber::startLiveをコールする必要があります。
インフォメーション
ヘッダファイル: tisudshl.h
ネームスペース: DShowLib
IC Imaging Control 3.0より導入
このクラスはICImagingControl3.5より非推奨となりました。
FrameNotificationSinkクラスライブラリリファレンス>クラス>FrameNotificationSink, FrameSnapSinkクラスライブラリリファレンス>クラス>FrameSnapSink または FrameQueueSinkクラスライブラリリファレンス>クラス>FrameQueueSinkを使用してください。
継承
GrabberSinkTypeクラスライブラリリファレンス>クラス>GrabberSinkType
FrameHandlerSink
メソッド
構造体
構造体 | 説明 |
---|---|
tCreateDataクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink::tCreateData Structure | FrameHandlerSinkクラスライブラリリファレンス>クラス>FrameHandlerSinkを作成するのに使用されたパラメータを表す構造体です。FrameHandlerSinkのtCreateDataへはFrameHandlerSink::getCreateDataをコールし、それをFrameHandlerSink::createクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink::create Methodへ渡して同様のFrameHandlerSinkを作成することでアクセスできます。 |