FrameFilterImpl

変換フィルタの実装はこのクラスから派生する必要があります。

FrameFilterImpl と FrameUpdateFilterImpl

FrameFilterImplを継承したフィルタはそのtransformクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::transform Methodメソッド内で画像データをソースからディスティネーションフレームにコピーします。
FrameUpdateFilterImplクラスライブラリリファレンス>クラス>FrameUpdateFilterImplを継承したフィルタはupdateInPlaceクラスライブラリリファレンス>クラス>FrameUpdateFilterImpl>FrameUpdateFilterImpl::updateInPlace Methodで受け取ったシングルバッファの分析・操作を行います。
タスクに応じて上記の2つを使い分けることが推奨されます。

実装

FrameFilterImpl から継承させるにはテンプレートのパラメータとして導出クラスの名前を使用します。

class MyFilter
  : public DShowLib::FrameFilterImpl <MyFilter>
{
  // ...
};

FrameFilterImplより継承したすべてのクラスは静的メソッドgetStaticFilterInfoを持たなければなりません。これはフィルタの情報を保持するFilterInfoクラスライブラリリファレンス>構造体>FlterInfo Structure 構造体を返すものです。

public:
   // FrameFilterImpl の実装
  static DShowLib::FilterInfo getStaticFilterInfo();

メソッドの実装については フレームフィルタの記述: 二値化処理プログラマーズガイド>フレームフィルタの記述: 二値化処理をご参照ください。

インフォメーション

ヘッダファイル: tisudshl.h
ネームスペース: DShowLib
IC Imaging Control 3.0より導入

メソッド

メソッド 説明
addBoolParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addBoolParam Method IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterのメソッドを使ってアクセス可能なブール型パラメータを登録します。
addDataParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addDataParam Method IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterのメソッドを使ってアクセス可能なデータ型パラメータを登録します。
addFloatParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addFloatParam Method IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterのメソッドを使ってアクセス可能なフロート型パラメータを登録します。
addLongParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addLongParam Method IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterのメソッドを使ってアクセス可能なロング(整数)型パラメータを登録します。
addStringParam IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterのメソッドを使ってアクセス可能な文字列型パラメータを登録します。
checkInputTypeクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::checkInputType Method フィルタが特定の型をサポートしているかどうかをチェックします。
checkTransformTypesクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::checkTransformTypes Method フィルタが特定の変換をサポートしているかどうかをチェックします。
getSupportedInputTypesクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::getSupportedInputTypes Method 変換フィルタが入力タイプとしてサポートしている型を要求する際にコールするメソッドです。
getTransformOutputTypesクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::getTransformOutputTypes Method 利用可能な出力型を要求する際にコールするメソッドです。
notifyStartクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::notifyStart Method 変換処理(ライブモード)が開始された際にコールされるメソッドです。
notifyStopクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::notifyStop Method 変換処理(ライブモード)が終了した際にコールされるメソッドです。
transformクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::transform Method このメソッドはフレームの変換、もしくはソースからデスティネーションIFrameクラスライブラリリファレンス>クラス>IFrameへのコピーが行われた際にコールされます。