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++));
}