The following example shows how create a FrameSnapSink which only accepts RGB32 images and uses SnapSequence to capture some frames.
[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 )
{
// do something with each buffer
frame.SaveAsBitmap(String.Format("test_{0}.bmp", index++));
}
// reusing buffers in a snap sink
IFrameQueueBuffer[] lst2 = sink.SnapSequence(lst, TimeSpan.FromSeconds(5));
// save the next buffer sequence
foreach( IFrameQueueBuffer frame in lst2 )
{
// do something with each buffer
frame.SaveAsBitmap(String.Format("test_{0}.bmp", index++));
}
|