FrameSnapSink.FrameSnapSink Method

構文

[C#]
public FrameSnapSink();
public FrameSnapSink( Guid mediaSubType );
public FrameQueueSink( FrameType frameType );
public FrameQueueSink( FrameTypes frameTypeList );

mediaSubType: 便利に使用できるパラメータです。

[C#]
new FrameSnapSink( new FrameType( mediaSubType ) ); 

frameType : このSinkが接続するFrameTypeクラスライブラリリファレンス>クラス>FrameType
frameTypeList: このSinkが入力タイプとして受け入れる FrameTypeクラスライブラリリファレンス>クラス>FrameType のリスト。

情報

ICImagingControl3.5より実装

サンプル

以下は、RGB32のみ受け入れる FrameSnapSinkを作成し、SnapSequenceを使って複数枚のフレームを取得する方法です。

[C#]
FrameSnapSink sink = new FrameSnapSink(MediaSubTypes.RGB32);
ICImagingControl1.Sink = sink;
ICImagingControl1.LiveStart();
int index = 0;
IFrameQueueBuffer[] lst = sink.SnapSequence(5, TimeSpan.FromSeconds(5));
foreach( IFrameQueueBuffer frame in lst )
{
    // 各バッファに何かを実行する
    frame.SaveAsBitmap(String.Format("test_{0}.bmp", index++));
}
// snap sink にあるバッファの再利用
IFrameQueueBuffer[] lst2 = sink.SnapSequence(lst, TimeSpan.FromSeconds(5));
// 次のバッファシーケンスを保存する
foreach ( IFrameQueueBuffer frame in lst2)
{
    各バッファに何かを実行する
    frame.SaveAsBitmap(String.Format("test_{0}.bmp", index++));
}